Ubuntu 10.04에서 Apple 매직 마우스 드라이버 설치

어제 우분투사이트에 10.04 버전의 베타를 내려받았습니다. 일요일날 할일이 하나 생겼네요 ㅎㅎ

새로 구입한 델 스튜디오 1558 노트북에 우분투 10.04 베타1을 설치하고, 이것저것 셋팅을 마친 후에 한글쪽 안티앨라이징 처리가 되어 흡족한 마음에… 2주전에 구입한 매직마우스를 한번 테스트 해보자는 생각이 퍼뜩 드는겁니다…

이 제부터 고난의 시작이라는…

블루투스지원하는 노트북이라 블루투스로 매직마우스 설정은 되었으나… 역시 스크롤링이 않되었습니다. 하여… 구글링을 통해 http://ubuntuforums.org/showpost.php?p= … stcount=21 사 이트까지는 찾았으나… 우분투 9.10에 맞추어진 문서라는거…

그리고 매직마우스 드라이버도 그동안 업데이트 되었다는거…

그냥 따라해서는 절대 성공하지 못한다는 겁니다. 그래서 또 삽을 들었습니다. 아주 큰삽이 필요했습니다. ㅎㅎ

지금 이 글은 쓰는 순간은 커널 패치를 통해 성공한 후 올리는 글이며, 다음과 같은 순서로 진행하였습니다.

  1. 필요한 사전 준비들…

[code:b2yqzuxj]sudo apt-get install fakeroot build-essential
sudo apt-get install crash kexec-tools makedumpfile kernel-wedge
sudo apt-get build-dep linux
sudo apt-get install git-core libncurses5 libncurses5-dev
[/code:b2yqzuxj]

  1. 레포지터리에서 매직마우스 드라이버를 받습니다.

[code:b2yqzuxj]git clone http://github.com/entrope/linux-magicmouse.git
cd linux-magicmouse
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-lucid.git linux-source
cd linux-source
[/code:b2yqzuxj]
3 번째 라인을 수정했습니다. 제가 설치한 우분투가 32비트고 배포판이 Lucid쪽이라서 패치 빌드해줄 리눅스 커널 소스에 알맞는 버전으로 받았습니다.

  1. 이제 패치를 적용해줍니다. 저의 경우에는 드라이버 설치안내에 있는 내용을 pat.sh 라는 쉘 스크립트 파일로 만들어서 linux-source 폴더에 넣어주고 이를 실행시켜서 패치를 먹여줬습니다.
    pat.sh:

[code:b2yqzuxj]#/bin/sh
for PATCH in ../*.patch ; do patch -p1 < $PATCH ; done
[/code:b2yqzuxj]

  1. magicmouse flavour를 만들고 난 후, 빌드 디렉토리를 clean 하고 config 파일을 다시 만들어 줍니다:

[code:b2yqzuxj]cp debian.master/config/i386/config.flavour.generic debian.master/config/i386/config.flavour.magicmouse
cp debian.master/config/amd64/config.flavour.generic debian.master/config/amd64/config.flavour.magicmouse
fakeroot debian/rules clean
[/code:b2yqzuxj]

  1. debian.master/config/config.common.ubuntu 에 다음 설정을 삽입해줍니다(저는 CONFIG_HID 라인 밑에 삽입해주고 저장했습니다):

[code:b2yqzuxj]CONFIG_HID_MAGICMOUSE=m
[/code:b2yqzuxj]

  1. 이제 magicmouse라는 이름의 커널판을 만들 준비작업으로 abi 파일들을 만들어 줍니다:

[code:b2yqzuxj]cp debian.master/abi/2.6.32-18.27/i386/generic debian.master/abi/2.6.32-18.27/i386/magicmouse
cp debian.master/abi/2.6.32-18.27/i386/generic.modules debian.master/abi/2.6.32-18.27/i386/magicmouse.modules
cp debian.master/abi/2.6.32-18.27/amd64/generic debian.master/abi/2.6.32-18.27/amd64/magicmouse
cp debian.master/abi/2.6.32-18.27/amd64/generic.modules debian.master/abi/2.6.32-18.27/amd64/magicmouse.modules
[/code:b2yqzuxj]

  1. "debian.master/rules.d/i386.mk" 파일을 열어 다음과 같이 수정해줍니다:

[code:b2yqzuxj]flavours = generic generic-pae magicmouse 386[/code:b2yqzuxj]

  1. "debian.master/rules.d/i386.mk" 파일을 열어 다음과 같이 수정해줍니다:

[code:b2yqzuxj]flavours = generic server magicmouse preempt[/code:b2yqzuxj]

  1. 이제 빌드하기전에 flavour에 대한 설명을 달아줍니다.

[code:b2yqzuxj]cp debian.master/control.d/vars.generic debian.master/control.d/vars.magicmouse[/code:b2yqzuxj]

파일을 만든 후, 이 파일을 열어 다음과 같은 부분을 수정해 줍니다:

[code:b2yqzuxj]target="Modified for Apples Magic Mouse."[/code:b2yqzuxj]

  1. 이제 새로운 커널을 빌드합니다. 시간이 좀 걸리니 커피라도 한잔 하시면서 기다리시는 여유를 … :

[code:b2yqzuxj]fakeroot debian/rules clean
skipabi=true skipmodule=true fakeroot debian/rules binary-magicmouse
[/code:b2yqzuxj]
빌 드가 완료되면 부모 디렉터리에 두 개의 데비안 패키지 파일이 생성됩니다.

[code:b2yqzuxj]linux-headers-2.6.32-19-magicmouse_2.6.32-19.28_i386.deb
linux-image-2.6.32-19-magicmouse_2.6.32-19.28_i386.deb
[/code:b2yqzuxj]

  1. 이 두개의 파일을 설치해주시면 과정이 완료됩니다.

[code:b2yqzuxj]cd ..
dpkg -i linux-headers*.deb linux-image*.deb
[/code:b2yqzuxj]
설치가 성공하면, 마지막 단계에서 update-grup 명령을 통해 새로 빌드된

  1. 이제 모든 과정이 끝났습니다. 시스템을 reboot 하시면, 부트 관리자에서 magicmouse 커널이 보여질 것이며, 이 커널을 선택해서 부트하시면 매직마우스의 상하 스크롤이 동작되게 됩니다.

끝마치면서…

처음에는 우분트에 구글 크롬 브라우저에서 글을 작성하다가 사소한 오류들때문에 짜증이 나서, 다시 불여우로 글을 쓰게 됩니다. 아직까지 우분트에는 구글 웹 브라우저가 최적화되지 않았네요…

스노우 레오파드에서의 매직마우스가 다양한 손동작 인식을 통해 편하게 사용될 수 있지만, 아직까지 리눅스에서는 다양한 손동작 인식은 지원되지 않습니다. 그냥 상하 스크롤만 지원되네요 ㅠㅠ.