2007년 5월 25일 금요일

NetBSD 설치하기

Reference: http://www.embeddedarm.com/~joff/
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/evbarm/INSTALL.html 도 설치 관련한 문서이지만 이것 때문에 처음에 상당한 혼란이 왔습니다. 그것뿐만 아니라 binary 설치 파일도 netbsd의 것과 ftp.embeddedarm.com 의 것이 또 달랐습니다. 두개 문서를 1주일동안 외우다시피 보고 또 그것가지고는 아직 설치 계획이 떠오르지 않아서 http://tech.groups.yahoo.com/group/ts-7000/ 의 메일링리스트를 뒤져서 겨우 방법을 알아냈습니다. 제가 원하고 발견한 방법은 다음과 같습니다.

1. 기설치된 flash memory내의 리눅스에 대해서는 어떠한 변경도 가하지 않는다.
2. CF Card를 설치해서 NetBSD 프로그램을 설치한다.
3. Kernel은 tftp로 다운로드 받아서 기동한다.

요약하자면, 물 건너온 이녀석에 대해서 기 설치된 Linux 커널을 손대지 않고 NetBSD를 쓰는게 목적이죠. 그럴수밖에 없는게 이미 설치된 Linux 커널이 정확히 어떤 것인지 알 수가 없었고 또 괜히 바꾸었다가 Linux로의 부팅도 되지 않을거 같은 불안한 마음 때문에 어쩔수가 없었습니다. 이런말 하기 좀 그렇지만 물어볼 사람도 없구요^^

설치 단계는 다음과 같습니다.

1. NetBSD를 CF Card에 설치하기 위한 kernel load
2. CF Card로의 부팅용 kernel을 tftp에서 다운로드 받아서 사용
3. Post installation

각 단계별로 자세하게 살펴보면,

단계 1) NetBSD를 CF Card에 설치하기 위한 kernel load
---------------------------------------------------------
1st. 자기 PC에 ftp://ftp.embeddedarm.com/evbarm/installation/instkernel/netbsd-TS7200_INSTALL.bin 를 다운로드 받습니다.
2nd. PC 에 tftp를 기동하고 준비합니다.
ex) My PC IP = 192.168.0.251
3rd. TS-7200 을 부팅하자마자 Ctrl-C를 눌러서 Redboot Command 모드로 진입한후 다음 명령어를 입력합니다. 참고로 TS-7200 디폴트 IP address는 192.168.0.50 입니다.

RedBoot> load -v -r -b 0x00200000 -h 192.168.0.251 netbsd-TS7200_INSTALL.bin
RedBoot> go

단계 2) CF Card로의 부팅용 kernel을 tftp에서 다운로드 받아서 사용
----------------------------------------------------------------------
단계 1)에서 CF Card로 NetBSD 프로그램을 설치하게 됩니다. 이부분은 다음에 한번 써야 될거 같네요. 일단 설치가 제대로 되었다고 가정하고 재부팅을 한다음에 다시 Ctrl-C를 눌러서 Redboot Command 모드로 진입한 다음 다음 명령어를 입력합니다. 그전에 우선 ftp://ftp.embeddedarm.com/evbarm/binary/kernel/netbsd-wd0.bin-TS7200.gz 를 미리 자기 PC에 다운로드 받습니다.

RedBoot> load -v -r -b 0x00200000 -h 192.168.0.251 -m tftp netbsd-wd0.bin-TS7200
RedBoot> go

단계 3) Post installation
-------------------------
이건 사실 키패드를 사지 않았다면 불필요한 사항인데 전 LCD랑 키패드도 같이 구입을 한 상태여서 LCD 관련 driver를 생성해야 합니다.

# /dev/MAKEDEV tslcd
# ls -al /dev/tsl*
crw-rw---- 1 root wheel 108, 0 Jul 22 06:19 tslcd0

이렇게 생성하는 이유는 단계1에서 설치한 NetBSD 프로그램내에 위의 driver가 설치되어 있지 않은 상태로 되어 있어서 그렇게 하면 되고 사용법은 메일링 리스트에 Jesse Off 가 올린 글에 따르면 다음과 같습니다.

Hitachi HD44780 LCD driver, /dev/tslcd0. You can just echo -n "foo" > /dev/tslcd0, or do more complex manipulations using ioctl()'s if you connect an LCD up to the LCD header.

댓글 없음: