2008년 7월 25일 금요일

IEEE1394 setting


이 시스템은
서버에서 tftp를 통해 커널 이미지를 가져오고,
nfs를 통해 파일시스템을 가지고와 실행하는 하드 없는 컴퓨터 이다.

부팅은 DOM에서 이루어지며 부팅과정에서 서버에 있는 이미지와 파일 시스템을 받아온다.
이 과정이 이루어지기 위해서는 약간의 환경설정이 필요하다.

우선, tftp와 nfs가 설정되어 있어야 한다.
설정하는 방법은 아래 링크를 참조하면 된다.

tftp설정
nfs설정

IEEE1394의 컴파일이 끝났다면 커널 이미지가 생성되었을 것이다.
커널이미지의 경로는
/opt/TMO-Linux/kernel-2.6.10-TMO/arch/i386/boot/bzImage 이다.
이 파일을 tftpboot로 옮겨둔다.

또한 buildroot컴파일이 끝났다면 파일 시스템이 생성되어 있을 것이다.
파일 시스템의 경로는
/opt/TMO-Linux/buildroot/project_build_i686/uclibc/root/ 이다.
하위에 파일시스템이 생성되어 있는데 하위에 있는 모든것을 nfsroot로 옮겨주어도 되지만, 그것보다는 이 경로를 link를 걸어주는 것이 좋다.

$ ln -s /opt/TMO-Linux/buildroot/project_build_i386/uclibc/root/ nfsroot


처음 client와 server를 연결하고 부팅을 시키면 grub설정을 바꿀 수 있는 창이 뜨는데, 아무것도 하지 않으면 그대로 부팅이 되고 재빨리 'e'를 눌러주면 edit로 넘어가게 된다.
설정을 바꿔 줘야 하는 부분은 ifconfig과 kernel image, file system의 경로, 시리얼 설정 이다.

ifconfig와 kernel항목을 수정하자.

grub edit> ifconfig --address=192.168.1.11 --server-192.168.1.254
grub edit> kernel /bzImage root=/dev/nfs rw nfsroot=192.168.1.254:/tftproot/nfsroot/ ip=192.168.1.11:192.168.1.254:255.255.255.0:tmo:eth0 console=ttyS0, 115200n8 ide1=noprobe ide2=noprobe ide3=noprobe ide4=noprobe ide5=noprobe hdb=none ide-delay=10

저장하고 'b'를 눌러 부팅시켰을 때, 잘 된다면 OK! 안된다면 삽질의 나락으로 떨어지게 된다.


부팅할 때마다 ifconfig와 kernel 항목을 수정하는 것은 매우매우매우-_- 귀찮은 일이므로, boot 설정을 바꾸는 방법을 알아보자.

보드가 부팅되고 난 뒤 다음 명령어를 실행시켜 boot설정을 저장한다.

$ mount /dev/hda1 /mnt
$ vi /mnt/boot/grub/menu.lst
설정을 바꾸고 :wq 하여 저장한 후 빠져나온다.

2008년 7월 21일 월요일

bootloader porting with T32

BOX-X에 redboot을 포팅하는데 2주 걸렸다-_-) 이런, 수박바.

정말.. 끝내주는 삽질이었다-_-;

우선 T32를 이용한 cmm파일은 다음과 같다.
========================================================================================
B::

RESET
SYSTEM.OPTION waitreset.on
SYSTEM.CPU PXA255
SYSTEM.UP

Break.RESET
FLASH.RESET
FLASH.CREATE 0x00000000--0x3fffff 0x20000 I28F001J3 BYTE
FLASH.ERASE ALL
print "erase done"

FLASH.PROGRAM ALL
DATA.LOAD.binary Y:\x-station\u-boot-1.2.0-xstation\u-boot.bin 0x0 /word
FLASH.PROGRAM OFF
ENDDO
===========================================================================================

그리고 삽질끝에 알아낸 memory controller register value!!
보드는 CPU - PXA255에 flash - Inter strata flash 28F128이다.

D.S 0x48000000 %l 0x00000000 ;MDCNFG
D.S 0x48000004 %l 0x03CA4FFF ;MDREFR
D.S 0x48000008 %l 0x7FF07FF0 ;MSC0
D.S 0x4800000C %l 0x7FF07FF0 ;MSC1
D.S 0x48000010 %l 0x7FF07FF0 ;MSC2
D.S 0x48000014 %l 0x00000000 ;MECR
D.S 0x48000018 %l 0x00000000 ;SXLCR
D.S 0x4800001C %l 0x00040004 ;SXCNFG
D.S 0x48000020 %l 0x01FE01FE
D.S 0x48000024 %l 0x00000000 ;SXMRS
D.S 0x48000028 %l 0x00000000 ;MCMEM0
D.S 0x4800002C %l 0x00000000 ;MCMEM1
D.S 0x48000030 %l 0x00000000 ;MCATT0
D.S 0x48000034 %l 0x00000000 ;MCATT1
D.S 0x48000038 %l 0x00000000 ;MCIO0
D.S 0x4800003C %l 0x00000000 ;MCIO1
D.S 0x48000040 %l 0x00220022 ;MDMRS
D.S 0x48000044 %l 0x00000008 ;BOOT_DEF
D.S 0x48000058 %l 0x00000000 ;MDMRSLP

비록 cmm파일에 쓰이지 않았지만, 삽질의 결과다-_ㅠ) 흑흑..

2008년 7월 4일 금요일

redboot올릴 보드#2

IMO보드에 이어서 받은 보드는 타이눅스 BOX-X.

CPU: PXA255(Intel)
SDRAM: MT48LC8M16(Micron)
Flash: Strata E28F128(Intel)


아쉽게도 이 보드를 만든 팜팜테크가 현존하지 못해... 혼자 삽질해가야 겠다.ㅠ
bootloader라도 있어 다행이지만,

현재... flash날라간 상태.

여름 맛집

아이스크림
- 삼청동 북까페내서재, 이대앞 하루에, 신촌 구스띠모

팥빙수
- 이대 빵사이에낀과일, 장충동 태극당, 홍대 인클라우드, 압구정 밀탑, 압구정 미마라, 혜화역 델리

모밀
- 광화문 미진, 우진, 강변 후원쟁반막국수모밀

냉면
- 동대문 평양면옥, 을지로 을지면옥, 종로 곰보냉면

김치말이밥
- 무교동 이북손만두집, 삼성동 눈나무집, 우래옥

한정식
- 수원 고구려

삼계탕
- 시청 장안삼계탕, 서대문 동해별관, 경복궁 토속촌, 명동 백제삼계탕

추어탕
- 강남 원주추어탕, 덕수궁 남도식당, 영등포 남원추어탕, 무교동 용금옥