2010년 5월 30일 일요일

자우루스 C1000에 데비안/우분투 리눅스 설치하기

※ 나중에 고침: 파일 링크를 다른 곳으로 옮겼습니다. 필요한 파일 알아서 찾아서 받으세요. ☞ 링크


▶ 자우루스 C1000

☞ R이라는 통계 프로그램을 휴대용 기기에서 써보려고 자우루스를 샀습니다. 이보다 크거나 무거우면 곤란하다고 생각했거든요. 노트북 가운데는 OQO 정도가 답일 텐데, 이넘 참 비싸지요. 자우루스라면 리눅스가 돌아가니 싼값에 R을 쓸 수 있겠다 싶었습니다.

C1000
▲ 옛날에 찍은 사진인데 데비안이 아니라 Cacko 롬입니다. ^^;
이넘 팔아버렸다가 요번에 다시 샀거든요.

▶ 데비안 리눅스를 C1000에 깔아보려니

그런데 막상 자우루스 C1000을 중고로 사서 보니 ☞ pdaXrom으로는 안 되고 데비안을 깔아야 하겠더라고요. zaurusian.net 에 있는 파일이 대부분 없어져 버려서 설치 파일 구하기부터 쉽지 않더라고요. 외국 포럼 뒤져서 용군님 블로그를 알아냈습니다. -_-;

http://yonggun.tistory.com/77

이곳에 링크가 둘 있는데 하나는 깨졌고 하나는 느리더군요. 그러니 아래 링크로 받으세요. 구글 만세~

https://docs.google.com/leaf?id=0ByjgcS_WMr95Mjg2ZmQ5MmItODkzYi00ZDlhLTk4ZjEtOTczYWE4ZTlmZTc2

설치하기도 만만치 않더군요. 용군님 블로그에는 매우 불친절하게 나와 있고, 아래 블로그에 그나마 자세한 설명이 있지만,

http://sorrow.pe.kr/476

C3200 기준으로 설명했기 때문에 C1000과는 맞지 않더라고요. SD에 깔아야 하는데, 1기가바이트를 넘어가는 SD로는 안 되는 모양입니다. 저한테는 2기가짜리밖에 없거든요.

▶ 우분투와 주분투

그러다가 자우루스에 우분투도 깔 수 있다기에 도전해 봤습니다. 한 방에 성공했습니다!

우분투, 자우루스용이니까 주분투(Zubuntu)라네요. 설치하실 분은 아래 링크에 나온 대로만 하면 됩니다.

http://zaurusian.nmain.net/zbxe/lecture/139508
http://www.omegamoon.com/blog/static.php?page=ZaurusUbuntu

영어 문서를 읽어야 하지만 귀찮아서 번역은 안 해줍니다. ^^;
주분투는 최적화가 덜 되어서 느리더군요. 직접 최적화할 줄은 모릅니다.

그러니 멀티부트 메뉴만 설치하고 데비안을 깔아봅시다.

저는 친절하지도 않고 불친절하지도 않게, 딱 제 수준에 맞게 설명하겠습니다. 리눅스 잘 몰라도 한 번 써보겠다고 겁 없이 덤빌 만큼은 주워들은 지식이 있어야 이해할 수 있지 싶습니다. 그러니까 데비안, 우분투 이런 게 있다는 사실쯤은 알아야 하고, 파티션(partition)과 마운트(mount)가 무엇인지도 알아야 합니다.

▶ SD 파티션 나누기 및 포맷하기

데스크톱 또는 노트북 등에서 리눅스를 쓰시는 분은 알아서 파티션을 나눠 주시고 ext2 또는 ext3 포맷 잡아주시면 됩니다. 윈도우즈 쓰시는 분도 ext2 등을 지원하는 파티션 관리 프로그램을 쓰시면 됩니다.

그러나 뭘 깔고 하기 귀찮으니 자우루스로 해결해 봅시다. 먼저, pdaXrom을 깔아줍니다. (☞ Ångström은 fdisk가 안 되던가 포맷이 안 되던가, 아무튼 필요한 프로그램이 기본으로 안 깔렸더라고요.)

아래 링크로 설치 파일을 받고,

― uboot (← 독일 넘이 만들었나 봅니다. uboot는 'U-보트'라는 뜻입니다. 말장난이죠.)
http://docs.google.com/leaf?id=0ByjgcS_WMr95YWI5NzAwOWUtN2FiNC00MGI1LTliMTMtNzQ4NzJlOGI4OTU1

― pdaXrom R198
https://docs.google.com/leaf?id=0ByjgcS_WMr95OWQ2YzYwN2ItMzE2MC00NTcwLTgwYzAtNjM0OGU1ODQ0ZWJi

설치하는 법은 요기를 참고하시고요:
http://zaurusian.nmain.net/zbxe/108371

pdaXrom으로 부팅했으면 이제 SD 메모리에 파티션을 잡아줍니다. 리눅스용 fdisk 쓰는 법은 아래 링크를 참고하세요.

http://sorrow.pe.kr/478

※ 주의!!

SD는 파티션 크기가 1기가바이트를 넘으면 안 됩니다. 데이터 파일만 저장할 파티션은 더 커도 되는데, 부팅용으로는 안 됩니다.

그리고 링크에 나온 설명과는 달리 우리는 SD에 설치해야 하므로,

fdisk /dev/mmcblk0
mke2fs /dev/mmcblk0p1
mke2fs /dev/mmcblk0p2
mkswap /dev/mmcblk0p3

이렇게 해줘야 합니다. /dev/mm까지만 입력한 다음 Tab 키를 눌러주면 자동으로 완성해 줍니다.

파티션을 나누고 저장까지 했으면 리부팅해야 SD 카드를 정상적으로 읽을 수 있다는 메시지가 뜰 겁니다. 리부팅 해줍니다.

그런데 저는 pdaXrom에서 SD나 CF를 인식하다가 안 하다가 하더라고요. 왜 그런지는 모릅니다. 그럴 때에는 부팅하기에 앞서 OK 버튼을 누르고 있으면 '관리 모드'로 가지요. 거기서는 알아서 인식하더군요.

이제 부팅할 파티션을 ext2 또는 ext3 포맷해 주시고, 스왑(swap) 파티션도 스왑 포맷해 줍니다.

이제부터는 위 링크에 나온 설명은 무시합니다.

▶ 설치 파일을 받아서 복사하기

아래 링크로 설치 파일을 받습니다. 용군님이 최적화한 자우루스용 데비안 '안드로메다'입니다. 이름에 개념이 가득하군요. ^^;

https://docs.google.com/leaf?id=0ByjgcS_WMr95Mjg2ZmQ5MmItODkzYi00ZDlhLTk4ZjEtOTczYWE4ZTlmZTc2

압축을 풀어서 나오는 파일 가운데 아래 두 파일만 남기고 지웁니다.

modules-debian.tgz
rootfs-debian.tgz

이제 아래 링크에서 파일을 받아 옵니다.

https://docs.google.com/leaf?id=0ByjgcS_WMr95ZjAxZjUxZDUtOWYzMC00NTk1LTk3OTItOWZlYWUzODA5YzI5

이제 파일 셋을 모두 SD 메모리에 풀어 줍니다. 이를테면 파일을 CF 메모리에 복사한 다음 자우루스 pdaXrom에서,

mount /dev/hda1 /mnt/cf
mount /dev/mmcblk0p1 /mnt/card
tar zxpf /mnt/cf/rootfs-debian.tgz -C /mnt/card
tar zxpf /mnt/cf/modules-debian.tgz -C /mnt/card
tar zxpf /mnt/cf/boot_debian.tgz -C /mnt/card

이렇게 해줍니다. 위에도 썼듯이, 마운트가 제대로 안 되면 리부팅할 때 OK 버튼을 눌러서 관리 메뉴로 가서 해보세요. 그리고 rootfs-debian.tgz 파일은 큰 파일인 만큼 압축 푸는데 시간이 몹시 오래 걸립니다. 대략 한 시간, 또는 그 이상 걸렸지 싶군요. 그동안 반응이 없다고 해서 고장 났다고 생각하시면 안 됩니다. tar zxpf 대신에 tar zxvpf 하시면 압축 파일을 하나하나 푸는 과정을 화면으로 보여줍니다. 속도는 더 느려지겠죠.

▶ C1000에 맞게 고쳐야 할 것들

압축을 풀었으면 몇몇 파일을 고쳐 줘야 합니다. vi 에디터를 쓸 줄 알면 좋고, 모르면 mc에 내장된 편집기를 써도 됩니다. 'mc'라고 치고 엔터를 누르면 도스 시절 노턴커맨더 비슷한 넘이 뜹니다. Midnight Commander라고 한다네요.

mc
▲ 구글로 검색하니 나오는 mc 화면
출처: http://168hours.files.wordpress.com/2008/08/mcpanels.png

mc로 편집할 파일로 가서 F4를 누르면 편집기로 파일을 불러옵니다. 그런데 자우루스에는 F4 키가 없지요? 'Cancel' 버튼과 '4'를 거의 동시에 누르면 됩니다. 그런데 타이밍이 안 맞으면 그냥 숫자 4가 맨 아래에 찍혀버리니 주의하세요. 'Address' 버튼을 누르면 메뉴가 뜨고 'Calendar' 버튼을 누르면 mc를 종료하던가 그런데, pdaXrom과 옹스트롱과 데비안 등등이 저마다 달라서 기억이 안 나네요. 그냥 'Cancel' 버튼과 숫자 조합이 가장 좋지 싶습니다.

고칠 파일은 아래 셋입니다.

/etc/rc.local
/etc/auto.removable
/etc/fstab

/etc/rc.local 파일에서는,

swapon /dev/hdc3 (원본에 뭐라고 되어 있는지 정확히 기억나지 않네요.)

이넘을

swapon /dev/mmcblk0p3

이렇게 고칩니다. mmcblk0p3는 스왑 파티션입니다. 다른 파티션을 스왑 파티션으로 쓰려면 알맞게 고쳐주시면 됩니다.

/etc/auto.removable

이 파일에서는

cf -fstype=vfat,rw,gid=100,umask=002,codepage=949,iocharset=utf8 :/dev/hda1
card -fstype=vfat,rw,gid=100,umask=002,codepage=949,iocharset=utf8 :/dev/mmcblk0p1

여기서 굵은 글씨를 지워 줍니다. 앗, 그런데 SD 카드는 뺄 일이 없잖아요? 그냥 card 어쩌고 하는 줄을 통째로 지워버립시다.

/etc/fstab

이 파일은 CF와 SD 파티션을 마운트할 경로를 적어주는 곳입니다.

/dev/hda1 /mnt/cf auto noauto,owner 0 0
/dev/mmcblk0p2 /mnt/card auto noauto,owner 0 0

뭐 대충 이런 식으로 각자 사정에 맞게 고쳐주시면 됩니다. 자세한 설명은 요기에 있더군요:

http://en.wikipedia.org/wiki//etc/fstab

주의하실 곳은 /dev/hda1 요놈이 CF 메모리로 마운트된다는 대목입니다. SD 파티션이 여럿이면 /mnt에 sd2 등으로 폴더를 만들어준 다음 fstab에 써주면 됩니다.

/dev/mmcblk0p3 /mnt/sd2 auto noauto,owner 0 0

※ 주의

SD 파티션이 여럿이라면 파티션마다 /boot 메뉴를 만들어 줘야 합니다. 그렇게 하지 않으면 나중에 멀티부팅 메뉴에서 파티션마다 부팅 이미지 파일을 찾느라고 몹시 오랜 시간이 걸립니다. 멀티부팅을 하지 않더라도 /boot 메뉴는 만들어 주면 좋습니다. 파일 크기가 얼마 안 되니 그리 부담되지 않겠지요?

tar zxpf /mnt/cf/boot_debian.tgz -C /mnt/sd2

그리고 /boot/image.nfo 파일을 마찬가지로 편집해 주면 좋습니다. 이 내용이 나중에 멀티부팅 메뉴에 그대로 뜹니다. 한글이 되는지는 시험해 보지 않았네요.

▶ 설치

아래 두 파일을 받아서 CF 메모리 루트 디렉터리에 복사합니다. ('디렉터리'가 외래어 표기법에 맞다네요. ;;)

http://www.zaurus.org.uk/cortez/ubuntu/download/zubuntu/updater.sh
http://www.zaurus.org.uk/cortez/ubuntu/download/zubuntu/akita/zImage.bin

pdaXrom이 설치된 상태라면 uboot 때문에 곤란하니 ☞ nand 백업 파일로 돌아가야 합니다. 이거 구하느라 또 고생했네요. ^^;

http://www.trisoft.de/download/C1000NAND240305.zip

깨진 링크 때문에 짜증 났던 생각이 나서 이넘도 구글에 올려서 링크 걸어버렸습니다. 압축을 풀어서 마찬가지로 CF 메모리 루트 디렉터리에 복사해 줍니다.

CF 메모리와 SD 메모리 모두 자우루스에 꽂아둔 상태에서 자우루스 배터리를 빼고 전원 케이블도 뺍니다.

Fn―D―M을 누른 채로 전원 케이블을 꽂아 줍니다. 영어로 메뉴가 뜹니다. 위쪽 화살표를 누르면 ― 화면이 누워 있으니 그 기준으로는 오른쪽 화살표를 누르면 ― 다음 페이지로 넘어갑니다. 3페이지에 가면 NAND 메모리를 백업 또는 복원하는 메뉴가 나오지요. 복원해 줍니다.

다시 전원 케이블을 뺍니다. 배터리를 연결하고, 전원 케이블도 연결하고, OK 버튼을 누른 상태에서 전원 버튼을 누릅니다. 일본어로 화면이 뜨지요. 4번 메뉴를 고르면 된다는 그 유명한(?) 화면입니다. pdaXrom 설치할 때에도 이 화면 봤지요?

alt text alt text alt text alt text
▲ 사진 출처: http://sorrow.pe.kr/478

메뉴를 잘 고르면 알아서 리부팅하고 설치하고 또 리부팅합니다. 아래와 비슷한 화면이 뜨나요?

zbuntu bootmenu
▲ 사진 출처: http://www.omegamoon.com/blog/static.php?page=ZaurusUbuntu

원하는 메뉴를 고르면 부팅이 됩니다. 제 기억이 맞는다면 로그인 화면이 한 방에 뜹니다. 로그인 화면이 안 나오면 ― 설치를 제대로 했다 치고 ― 제가 뭘 잘못 기억하고 있다는 뜻인데, 아래 링크를 보고 대충 눈치껏 따라 해보세요. 아마도 이렇게 해줄 필요 없지 싶습니다.

http://sorrow.pe.kr/479

로그인 아이디는 root이고 비밀번호는 필요 없습니다. GUI 화면을 띄우려면,

startx

해주면 됩니다. 바탕화면이 뜹니다. 그 상태로 매우 오랫동안 멈춰 있습니다. 이거 정상입니다. -_-;;

참고 기다리시면 화면 맨 밑에 작업표시줄이 뜹니다. 윈도우즈 비스타와 대략 비슷한 화면인데, 바로 이넘이 속도를 떨어뜨리는 주범이더군요. 다른 테마로 바꿔 줍니다.

Ctrl―Cancel 버튼을 동시에 누르거나 또는 화면에서 메뉴 버튼을 클릭합니다.

Settings → 테마 → LookXP-Human

이렇게 메뉴를 골라준 다음 몇 초 기다립니다. 다른 메뉴를 골라도 되기는 합니다만, '기본 값' 메뉴를 빼면 매우 느립니다. 기다리는 시간이 몇 초가 아니라 몇 분이 될 수도 있습니다. -_-;;

이제 끝났습니다. 용군님 블로그 보니 몇 가지 단축키가 있네요.

. Ctrl+Alt+t : sakura
. Ctrl+Alt+e : leafpad
. Ctrl+Alt+m : icehamster
. Ctrl+Alt+b : dillo
. Ctrl+9 : Change the Hnagul to Hanja

Alt는 Ctrl 바로 오른쪽에 일본어 써져 있는 넘입니다. sakura는 터미널 프로그램입니다. 터미널 명령어 쓸 일 있을 때 이넘을 띄우면 됩니다.

▶ 무선 랜 카드 설정

싼 맛에 많이들 쓰시는 AirGate 2100C 기준으로 설명합니다.

/lib/modules/ (…생략…) /drivers/net/wireless/hostap/hostap_cs.c

요 파일이 문제인데요, 아래 링크에서 제가 고친 파일을 받아서 바꿔 주시면 됩니다.

https://docs.google.com/leaf?id=0ByjgcS_WMr95OWMzOGQyZTMtNjhmZS00OTVkLWFkMTEtNzdhZTg4NzcwYjJj

다른 카드 쓰시는 분은 아래 링크를 보고 따라 해보세요. 헥사에디터 쓸 줄은 아셔야 합니다.

http://zaurusian.nmain.net/zbxe/143863

그게 아니면 커널 소스를 구해서 빌드해 줘야 한다는데, 이게 무슨 소린지는 저도 모릅니다. -_-;;

랜카드 manfid 알아내는 법은 pccardctl info 하면 됩니다. 알 수 없는 명령어라고 나온다고요? 실행 파일이 없어서 그렇습니다. -_-;; 이건 zubuntu에 있던 넘을 복사해 주니까 되더라고요. /sbin 디렉터리에 있었지 싶습니다.

랜카드를 꽂기에 앞서 아래 파일을 고쳐 줍니다.

/etc/network/interfaces

allow-hotplug wlan0
iface wlan0 inet dhcp
wireless_essid (공유기 ssid)
wireless_mode managed
wireless_key off

ssid는 공유기 설정에 맞게 해주면 되고 비밀번호는 off로 해줬는데, 환경에 맞게 알아서 고쳐 주세요.

/etc/resolv.conf

이 파일은 DNS 서버 설정하는 곳입니다. 환경에 맞게 써줘야 합니다. 혹시라도 모르면 -_-;; 그냥 8.8.8.8 해주셔도 됩니다. 구글 공개 서버라능.

자, 이제 랜카드를 꽂고,

modprobe hostap_cs

이렇게 하면 랜카드에 불이 들어와야 정상입니다. 그런데 저는 DHCP 서버로 아이피를 못 받아오네요. 무선 공유기가 없어서 이웃집에서 공개로 해놓은 회선에 공짜로 타려고 했는데 그 때문일까 싶어서 홧김에 무선 공유기 지르려고 합니다. 고정 아이피를 강제로 할당해 주면 느려도 접속이 되기는 하던데 왜 그런지 모르겠습니다.

icehamster와 dillo가 웹브라우저입니다. 인터넷 접속이 되나요? ^^;

글 찾기

글 갈래