타겟 보드용 커널 만들기
커널 소스 압축 풀기 및 환경 파일 생성
make 기본 설정 파일로 기본 설정 환경 생성
make menuconfig 실행
커널 컴파일하기
커널 이미지 전송 준비
EZ-PXA270에서 커널 이미지 전송
EZ-AU1200에서 커널 이미지 전송
EZ-S3C2440에서 커널 이미지 전송
EZ-X5에서 커널 이미지 전송
이 장에서는 타겟보드용 커널을 만들겟습니다. 제공된 CD에는 타겟보드에서 사용 할 수 있게끔 패치된 커널 소스가 들어 있습니다. EZ-S3C2440의 경우에는 제공된 CD의 모든 패치가 된 커널은 제공된 CD의 /kernel/linux-2.6.21.s3c2440.tar.gz 로 제공됩니다.
제공된 소스를 이용하여 커널을 아래의 순서에 따라 컴파일합니다.
- 커널을 컴파일하기 위해서는 /project/falinux/kernel에 압축을 풉니다.
- 압축해제가 끝나면 커널 소스 디렉토리가 생성됩니다.
- 생성된 디렉토리를 작업의 편리를 위해 /linux 로 링크를 생성합니다.
- 커널을 컴파일 합니다.
작업의 편의를 위해 커널 소스를 풀어 놓을 /project/falinux/kernel 디렉토리를 생성합니다.
// 작업할 디렉토리를 생성합니다. ]# mkdir /project ]# mkdir /project/falinux ]# mkdir /project/falinux/kernel ]# cd /project/falinux/kernel/ // 생성한 디렉토리로 이동
EZ보드와 함께 동봉된 CD에 커널 소스가 있습니다. 이 커널 소스를 작업 디렉토리에 압축을 풀고 각 보드에 맞추어 미리 준비된 기본 환경 값을 생성합니다. 또는 (주)FALINUX 자료실에서 제품에 따라 [ToolChain & Ram disk] 링크를 이용하시면 커널 소스를 구하실 수 있습니다.
작업의 편의를 위해 압축 풀기 후 생성된 디렉토리를 linux 로 링크를 생성합니다.
// cd에 있는 압축 파일을 풀기 위해 CD를 마운트합니다. ]# mount /dev/cdrom /mnt/cdrom // 커널 소스를 풀기를 합니다. ]# tar zxvf /mnt/cdrom/kernel/linux-2.6.21.tar.gz // linux-2.6.21 디렉토리가 생성됩니다. ]# ln -s linux-2.6.21 linux // 작업의 편의를 위해 linux로 디렉토리 링크를 생성 ]# cd linux // 커널 소스 디렉토리로 이동합니다. ]# make distclean // 모든 환경 설정 및 컴파일 결과를 삭제 ]# make [EZ-보드 모델명]_defconfig // 미리 준비된 기본 값을 환경값을 생성 // 예에서는 EZ-S3C2440을 소개했습니다만 다른 보는 아래의 // "make 기본 설정 파일로 기본 설정 환경 생성" 내용을 참고하여 주십시오.
당상에서는 개발의 편의를 위해 커널 버전 2.6 이상부터는 하나의 커널 소스로 모든 EZ-보드에 설치할 수 있는 커널을 생성할 수 있도록 준비했습니다. 즉, 하나의 통합된 커널 소스를 가지고, 타겟보드에 필요한 사양에 맞추어 설정값을 작성한 뒤 컴파일하시면 커널 이미지를 생성할 수 있습니다.
그러나 설정값을 처음부터 지정하는 것은 매우 불편하시므로 미리 EZ-보드별로 기본 설정값을 가지고 있는 디폴트 파일을 커널 소스와 함게 제공하고 있습니다.이 파일을 이용하여 기본 설정값을 이용하시면 작업이 수월합니다.
이 기본 파일은 압축이 풀린 장소에 arch 디렉토리에 있으며, arch 디렉토리 안에는 다시 cpu 타입별로 디렉토리가 존재합니다. 이 cpu 디렉토리 안에 configs 디렉토리가 있으며, 다시 이 디렉토리 안에 EZ-보드별로 기본 설정 파일이 준비되어 있습니다.
예로,
EZ-보드 기본 설정 파일 EZ-PXA270 arch/arm/configs/ezpxa270_defconfig EZ-AU1200 arch/mips/configs/emau1200_defconfig EZ-S3C2440 arch/arm/configs/ezs3c2440_defconfig EZ-X5 arch/arm/configs/ezx5_defconfig 그러므로 make 를 실행할 때, EZ-보드에 따라 기본설정을 이용하시면 됩니다.
■ EZ-PXA270 일 경우
]# make distclean // 모든 환경 설정 및 컴파일 결과를 삭제 ]# make ezpxa270_defconfig // 미리 준비된 기본 설정 파일로 환경값을 생성■ EZ-AU1200 일 경우
]# make distclean // 모든 환경 설정 및 컴파일 결과를 삭제 ]# make emau1200_defconfig // 미리 준비된 기본 설정 파일로 환경값을 생성■ EZ-S3C2440 일 경우
]# make distclean // 모든 환경 설정 및 컴파일 결과를 삭제 ]# make ezs3c2440_defconfig // 미리 준비된 기본 설정 파일로 환경값을 생성■ EZ-X5 일 경우
// EZ-X5 커널 2.4d인 경우에는 동봉된 CD에 있는 arm-linux-gcc 버전을 3.2.1로 컴파일하셔야 하며, // 커널을 제작하는 자센한 방법은 제품과 함께 제공되는 메뉴얼을 참고하여 주십시오. // 부트로더와 램디스크를 최근의 EZ-S3C2440과 같은 커널 2.6으로 업그레이드 하시면, // 커널 2.6 보드와 같은 커널 소스를 이용하여 커널 이미지를 생성할 수 있으며, // 커널 2.6 보드와 같은 방법으로 타겟보드에 전송할 수 있습니다.
앞서 make [기본 설정 파일] 이용하여 커널에 대한 기본 설정값을 생성했습니다. 그러나 프로젝트의 특성에 따라 하드웨어 구성이 다를 수 있으며, 달라진 하드웨어 구성과 필요에 따라 커널을 재 구성해야될 필요가 있습니다.
이렇게 커널을 다르게 생성할 필요가 있다면 make menuconfig 를 이용하여 설정값을 변경합니다.
]# make menuconfigmake menuconfig를 싫행하면 화면이 바뀌면서 아래와 같이 다양한 메뉴가 출력됩니다.
이 메뉴를 사용하는 방법은 간단합니다. 위/아래 화살표키로 메뉴를 이동하고 하단의 <select> 문자열이 반전되어 있을 때, 엔터키를 누르면 선택한 메뉴에 대해 상세 화면으로 이동합니다.
예로 CPU 타입을 변경해 보겠습니다. CPU를 변경하기 위해서는 [System Type]으로 이동한 후 엔터키를 누릅니다.
현재 Samsung S3C2410 계열이 선택된 상태입니다. 다시 엔터키를 누릅니다.
RiscPC를 선택하고 엔터키를 누릅니다. 현재 게속 <Select>가 반전된 상태임을 참고하여 주십시오.
엔터키 후에 RiscPC로 변경된 것을 보실 수 있습니다.
이제 키보드의 좌/우 화살표 키를 이용하여 <Exit>로 이동한 후 엔터키를 누릅니다. 처음의 메인 메뉴가 출력됩니다. 다시 <exit>를 선택합니다. 그러면 환경 설정 값이 변경되었기 때문에 저장 여부를 확인하는 메시지가 출력됩니다.
<yes>가 반전된 상태에서 엔터키를 누르시면 작업이 완료됩니다.
커널을 만드릭 위한 작업 완료되었습니다. 커널을 컴파일 합니다.
]# make clean ]# make zImage에러 없이 컴파일이 끝나면 ./arch/arm/boot 에 zImage가 생성됩니다. 즉, /project/falinux/kernel/linux/ arch/arm/boot 에 zImage 파일이 생성됩니다. 이 이미지 파일을 타켓보드로 전송합니다.
타겟 보드로 커널 전송은 타겟보드의 부트로더를 이용합니다. 부트로더를 이용하여 커널 이미지를 전송하기 위해서는 개발 호스트의 tftp 서버를 이용해야 합니다. 그러므로 생성된 커널 이미지를 /tftpboot 로 복사합니다.
만일 /tftpboot 디렉토리가 없다면 tftp가 설치되어 있지 않는 것입니다. "10장의 tftp 환경 구축"을 참고하여 tftp 서버를 설치하여 주십시오.
]# mv arch/arm/boot/zImage /tftpboot/zImage
WELCOME EZBOOT V2.2.49 (FALINUX Co.,Ltd) ..........PXA270(EZ-PXA270) Program by You Young-chang, Oh Jae-Kyoung, Jang Hyung-Gi Last Modify May 27 2008 Detect ES29LV400_B Flash : vid=4A pid=22BA SIZE 4-Mbits [512-Kbytes] Detect Samsung NAND 64M 3.3V 8-bit Flash : vid=EC pid=76 SIZE 64-Mbytes (page=512, block=16K) Quickly Autoboot [ENTER] / Goto BOOT-MENU press [space bar]. <--스페이스바를 누릅니다. AX88796B MAC : [ 00 FA 08 25 00 06 ]
AX88796B_Init : OK! EZBOOT>set <-- set 입력 후 엔터키를 누릅니다. ^^; 1) mac address : 00:FA:08:25:00:06 2) local ip : 192.168.10.95 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.100 <-- 개발 호스트 IP와 다르다면 수정합니다. 6) zImage file name : zImage.ez-pxa270 <-- 전송될 커널 이미지 파일 이름입니다. 7) ram disk file name : ramdisk-1.10-12M.gz 8) boot loader file name : ezboot.ez-pxa270 9) logo image file name : 10) auto execute full name : 11) autoboot wait time : 3 12) copy ramdisk [Y/N] : Y 13) arm kernel arch number : 3003 14) nand part (B,C,L,K,R,A): 0,1,0,3,5,55 15) watchdog (sec, off=0) : 0 16) KCMD 1 : mem=64M 17) KCMD 2 : initrd=0xA0800000,5M root=/dev/ram ramdisk=16384 18) KCMD 3 : console=ttyPXA2,115200 19) KCMD 4 : 20) KCMD 5 : 21) KCMD 6 : L) Load default LF) load KCMD2 root=flash LR) load KCMD2 root=ramdisk S) Save to flash P) aPply & exit Q) Quit // 커널 이미지를 가지고 있는 개발 호스트. 즉, 서버 IP가 다를 경우 // 변경하는 방법을 설명드리겠습니다. Select > 5 <-- 서버 IP를 변경하기 위해 5를 입력 후 엔터키를 누릅니다. 05. server ip : 192.168.10.100 new value : 192.168.10.51 <-- 서버 IP 입력 ^^; 1) mac address : 00:FA:08:25:00:06 2) local ip : 192.168.10.95 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.51 <-- 서버 IP 가 변경되었습니다. 6) zImage file name : zImage.ez-pxa270 <-- 이 이름으로 서버에 커널 이미지를 준비합니다. 7) ram disk file name : ramdisk-1.10-12M.gz 8) boot loader file name : ezboot.ez-pxa270 9) logo image file name : 10) auto execute full name : 11) autoboot wait time : 3 12) copy ramdisk [Y/N] : Y 13) arm kernel arch number : 3003 14) nand part (B,C,L,K,R,A): 0,1,0,3,5,55 15) watchdog (sec, off=0) : 0 16) KCMD 1 : mem=64M 17) KCMD 2 : initrd=0xA0800000,5M root=/dev/ram ramdisk=16384 18) KCMD 3 : console=ttyPXA2,115200 19) KCMD 4 : 20) KCMD 5 : 21) KCMD 6 : L) Load default LF) load KCMD2 root=flash LR) load KCMD2 root=ramdisk S) Save to flash P) aPply & exit Q) Quit Select >> s <-- s 키와 엔터키로 변경된 내용을 반드시 저장합니다. ...write 32768 complete ...verify complete ...Saved^^; 1) mac address : 00:FA:08:25:00:06 2) local ip : 192.168.10.95 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.51 6) zImage file name : zImage.ez-pxa270 7) ram disk file name : ramdisk-1.10-12M.gz 8) boot loader file name : ezboot.ez-pxa270 9) logo image file name : 10) auto execute full name : 11) autoboot wait time : 3 12) copy ramdisk [Y/N] : Y 13) arm kernel arch number : 3003 14) nand part (B,C,L,K,R,A): 0,1,0,3,5,55 15) watchdog (sec, off=0) : 0 16) KCMD 1 : mem=64M 17) KCMD 2 : initrd=0xA0800000,5M root=/dev/ram ramdisk=16384 18) KCMD 3 : console=ttyPXA2,115200 19) KCMD 4 : 20) KCMD 5 : 21) KCMD 6 : L) Load default LF) load KCMD2 root=flash LR) load KCMD2 root=ramdisk S) Save to flash P) aPply & exit Q) Quit Select >> q <-- q와 엔터키로 set 모드를 빠져 나갑니다. EZBOOT> tfk <-- tfk 명령으로 서버로부터 커널 이미지를 내려 받습니다. receive zImage.ez-pxa270 tx ARP rx ARP HOST MAC : 00:0C:29:EB:0B:33 HOST IP : 192.168.10.51 LOCAL IP : 192.168.10.95 option [timeout 120 tsize 1920060] size = 1914880 size = 1920060 ...write 1920060 complete ...verify complete EZBOOT>rst <-- 보드를 재 부팅합니다. System Soft Reset....... EZBOOT> WELCOME EZBOOT V2.2.49 (FALINUX Co.,Ltd) ..........PXA270(EZ-PXA270) Program by You Young-chang, Oh Jae-Kyoung, Jang Hyung-Gi Last Modify May 27 2008 Detect ES29LV400_B Flash : vid=4A pid=22BA SIZE 4-Mbits [512-Kbytes] Detect Samsung NAND 64M 3.3V 8-bit Flash : vid=EC pid=76 SIZE 64-Mbytes (page=512, block=16K) ... Copy Kernel Image ..... Copy Ramdisk Image ..... Starting kernel [MARCH 3003]... kernel command [EZBOOT mem=64M initrd=0xA0800000,5M root=/dev/ram ramdisk=16384 console=ttyPXA2,115200 ip0=192.168.10.95 mac=00:FA:08:25:00:06 netmask=255.255.255.0 gw=192.168.10.1 host=192.168.10.51 nandparts=1,8,55 ] Uncompressing Linux........ ....중략... yaffs: dev is 32505858 name is "mtdblock2" yaffs: passed flags "" yaffs: Attempting MTD mount on 31.2, "mtdblock2" yaffs: auto selecting yaffs1 Starting system logger: [ OK ] Starting INET services: [ OK ] eth0 Link mode : 100 Mb/s Duplex mode. Welcome to FALinux (www.falinux.com) Linux Kernel 2.6.21-falinux falinux login: <-- 로그인 메시지가 출력되면 성공한 것입니다.
1235 WELCOME EZBOOT V2.2.48 (FALINUX Co.,Ltd) ..........AU1250(EZ-AU1200) Program by You Young-chang, Oh Jae-Kyoung, Jang Hyung-Gi Last Modify Apr 25 2008 Detect EON29LV400_B Flash : vid=7F pid=22BA SIZE 4-Mbits [512-Kbytes] Detect Samsung NAND 128M 3.3V 8 bit Flash : vid=EC pid=F1 SIZE 128-Mbytes (page=2048, block=128K) Quickly Autoboot [ENTER] / Goto BOOT-MENU press [space bar]. <--스페이스바를 누릅니다. AX88796B MAC : [ 00 FA 01 A2 33 15 ] AX88796B_Init : OK! EZBOOT>set <-- set 입력 후 엔터키를 누릅니다. ^^; 1) mac address : 00:FA:01:A2:33:15 2) local ip : 192.168.10.71 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.100 <-- 개발 호스트 IP와 다르다면 수정합니다. 6) zImage file name : zImage.ez-au1250 <-- 전송될 커널 이미지 파일 이름입니다. 7) ram disk file name : mips-3.4.4-ramdisk-1.10-16M-mipsel.gz 8) boot loader file name : ezboot.ez-au1250 9) logo image file name : 10) auto execute full name : 11) autoboot wait time : 3 12) copy ramdisk [Y/N] : Y 13) arm kernel arch number : 2007 14) nand part (B,C,L,K,R,A): 0,1,0,3,5,119 15) watchdog (sec, off=0) : 0 16) KCMD 1 : mem=128M 17) KCMD 2 : rd_start=0x80800000 rd_size=5M root=/dev/ram0 ramdisk=16384 18) KCMD 3 : console=ttyS0,115200 19) KCMD 4 : video=au1200fb:panel:11 20) KCMD 5 : 21) KCMD 6 : L) Load default LF) load KCMD2 root=flash LR) load KCMD2 root=ramdisk S) Save to flash P) aPply & exit Q) Quit // 커널 이미지를 가지고 있는 개발 호스트. 즉, 서버 IP가 다를 경우 // 변경하는 방법을 설명드리겠습니다. Select > 5 <-- 서버 IP를 변경하기 위해 5를 입력 후 엔터키를 누릅니다. 05. server ip : 192.168.10.100 new value : 192.168.10.51 <-- 서버 IP 입력 ^^; 1) mac address : 00:FA:01:A2:33:15 2) local ip : 192.168.10.71 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.51 <-- 서버 IP 가 변경되었습니다. 6) zImage file name : zImage.ez-au1250 <-- 이 이름으로 서버에 커널 이미지를 준비합니다. 7) ram disk file name : mips-3.4.4-ramdisk-1.10-16M-mipsel.gz 8) boot loader file name : ezboot.ez-au1250 9) logo image file name : 10) auto execute full name : 11) autoboot wait time : 3 12) copy ramdisk [Y/N] : Y 13) arm kernel arch number : 2007 14) nand part (B,C,L,K,R,A): 0,1,0,3,5,119 15) watchdog (sec, off=0) : 0 16) KCMD 1 : mem=128M 17) KCMD 2 : rd_start=0x80800000 rd_size=5M root=/dev/ram0 ramdisk=16384 18) KCMD 3 : console=ttyS0,115200 19) KCMD 4 : video=au1200fb:panel:11 20) KCMD 5 : 21) KCMD 6 : L) Load default LF) load KCMD2 root=flash LR) load KCMD2 root=ramdisk S) Save to flash P) aPply & exit Q) Quit Select >> s <-- s 키와 엔터키로 변경된 내용을 반드시 저장합니다. ...write 32768 complete ...verify complete ...Saved^^; 1) mac address : 00:FA:01:A2:33:15 2) local ip : 192.168.10.71 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.51 6) zImage file name : zImage.ez-au1250 7) ram disk file name : mips-3.4.4-ramdisk-1.10-16M-mipsel.gz 8) boot loader file name : ezboot.ez-au1250 9) logo image file name : 10) auto execute full name : 11) autoboot wait time : 3 12) copy ramdisk [Y/N] : Y 13) arm kernel arch number : 2007 14) nand part (B,C,L,K,R,A): 0,1,0,3,5,119 15) watchdog (sec, off=0) : 0 16) KCMD 1 : mem=128M 17) KCMD 2 : rd_start=0x80800000 rd_size=5M root=/dev/ram0 ramdisk=16384 18) KCMD 3 : console=ttyS0,115200 19) KCMD 4 : video=au1200fb:panel:11 20) KCMD 5 : 21) KCMD 6 : L) Load default LF) load KCMD2 root=flash LR) load KCMD2 root=ramdisk S) Save to flash P) aPply & exit Q) Quit Select >> q <-- q와 엔터키로 set 모드를 빠져 나갑니다. EZBOOT> tfk <-- tfk 명령으로 서버로부터 커널 이미지를 내려 받습니다. receive zImage.ez-au1250 tx ARP rx ARP HOST MAC : 00:0C:29:EB:0B:33 HOST IP : 192.168.10.51 LOCAL IP : 192.168.10.71 option [timeout 120 tsize 1773568] size = 1771520 size = 1773582 ...write 1773582 complete ...verify complete EZBOOT>rst <-- 보드를 재 부팅합니다. System Soft Reset....... 1235 WELCOME EZBOOT V2.2.48 (FALINUX Co.,Ltd) ..........AU1250(EZ-AU1200) Program by You Young-chang, Oh Jae-Kyoung, Jang Hyung-Gi Last Modify Apr 25 2008 Detect EON29LV400_B Flash : vid=7F pid=22BA SIZE 4-Mbits [512-Kbytes] Detect Samsung NAND 128M 3.3V 8 bit Flash : vid=EC pid=F1 SIZE 128-Mbytes (page=2048, block=128K) ... Copy Kernel Image ..... Copy Ramdisk Image ..... Starting kernel ... kernel command [EZBOOT mem=128M rd_start=0x80800000 rd_size=5M root=/dev/ram0 ramdisk=16384 console=ttyS0,115200 video=au1200fb:panel:11 ip0=192.168.10.71 mac=00:FA:01:A2:33:15 netmask=255.255.255.0 gw=192.168.10.1 host=192.168.10.51 nandparts=1,8,119 ] loaded at: 80008000 801B9000 relocated to: 80D00000 80EB1000 zimage at: 80D06130 80EB0543 Uncompressing Linux at load address 80100000 Now booting the kernel ....중략... Algorithmics/MIPS FPU Emulator v1.5 INIT: version 2.86 booting INIT: Entering runlevel: 3 yaffs: dev is 32505858 name is "mtdblock2" yaffs: passed flags "" yaffs: Attempting MTD mount on 31.2, "mtdblock2" Starting system logger: [ OK ] Starting INET services: [ OK ] eth0 Link mode : 100 Mb/s Duplex mode. Welcome to FALinux (www.falinux.com) Linux Kernel 2.6.21-falinux falinux login: <-- 로그인 메시지가 출력되면 성공한 것입니다.
0123B WELCOME EZBOOT V2.2.47 (FALINUX Co.,Ltd) ..........S3C2440(EZ-S3C2440) Program by You Young-chang, Oh Jae-Kyoung, Jang Hyung-Gi Last Modify Nov 14 2007 Detect Samsung NAND 64M 3.3V 8-bit Flash : vid=EC pid=76 SIZE 64-Mbytes (page=512, block=16K) Quickly Autoboot [ENTER] / Goto BOOT-MENU press [space bar].. <-- 스페이스 바를 누릅니다. AX88796B MAC : [ 00 FA 01 A2 13 04 ] AX88796B_Init : OK! EZBOOT> set <-- set 입력 후 엔터키를 누릅니다. ^^; 1) mac address : 00:FA:01:A2:13:04 2) local ip : 192.168.10.183 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.23 <-- 개발 호스트 IP와 다르다면 수정합니다. 6) zImage file name : zImage.ez-s3c2440 7) ram disk file name : ramdisk-1.10-12M.gz 8) boot loader file name : ezboot.s3c2440 9) logo image file name : 10) auto execute full name : 11) autoboot wait time : 3 12) copy ramdisk [Y/N] : Y 13) arm kernel arch number : 3007 14) nand part (B,C,L,K,R,A): 1,1,0,3,5,54 15) watchdog (sec, off=0) : 0 16) KCMD 1 : mem=64M 17) KCMD 2 : initrd=0x30800000,5M root=/dev/ram0 ramdisk=12288 18) KCMD 3 : console=ttySAC2,115200 19) KCMD 4 : 20) KCMD 5 : 21) KCMD 6 : L) Load default LF) load KCMD2 root=flash LR) load KCMD2 root=ramdisk S) Save to flash P) aPply & exit Q) Quit Select >> 5 <-- 서버 IP를 개발 호스트의 IP와 맞추기 위해 5 입력 후 엔터키를 누릅니다. 05. server ip : 192.168.10.23 new value : 192.168.10.50 <-- 개발 호트의 IP로 설정한 후 엔터키를 누릅니다. ^^; 1) mac address : 00:FA:01:A2:13:04 2) local ip : 192.168.10.183 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.50 <-- 서버 IP가 개발 호스트 IP로 설정되었습니다. 6) zImage file name : zImage.ez-s3c2440 <-- 이 이름으로 서버에 커널 이미지를 준비합니다. 7) ram disk file name : ramdisk-1.10-12M.gz 8) boot loader file name : ezboot.s3c2440 9) logo image file name : 10) auto execute full name : 11) autoboot wait time : 3 12) copy ramdisk [Y/N] : Y 13) arm kernel arch number : 3007 14) nand part (B,C,L,K,R,A): 1,1,0,3,5,54 15) watchdog (sec, off=0) : 0 16) KCMD 1 : mem=64M 17) KCMD 2 : initrd=0x30800000,5M root=/dev/ram0 ramdisk=12288 18) KCMD 3 : console=ttySAC2,115200 19) KCMD 4 : 20) KCMD 5 : 21) KCMD 6 : L) Load default LF) load KCMD2 root=flash LR) load KCMD2 root=ramdisk S) Save to flash P) aPply & exit Q) Quit Select >>6번 항목을 보시면 개발 호스트로부터 받을 커널 이미지 파일 이름은 zImage.ez-s3c2440입니다. 그러므로 개발 호스트의 /tftpboot 에 있는 커널 이미지 이름을 zImage에서 zImage.ez-s3c2440로 변경하시거나 set 의 6번 메뉴를 선택하여 zImage.ez-s3c2440 를 zImage로 변경하십시오.
설명에서는 개발 호스트의 파일 이름을 변경하겠습니다.
]# mv zImage zImage.ez-s3c2440 // 개발 호스트의 /tftpboot/ 디렉토리에서 이름을 변경이제 EZBOOT모드에서 커널을 내려 받겠습니다. EZBOOT모드로 돌아 가기 전에 "S"키로 변경된 내용을 저장하겠습니다.
1) mac address : 00:FA:01:A2:13:04 2) local ip : 192.168.10.183 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.50 6) zImage file name : zImage.ez-s3c2440 7) ram disk file name : ramdisk-1.10-12M.gz 8) boot loader file name : ezboot.s3c2440 9) logo image file name : 10) auto execute full name : 11) autoboot wait time : 3 12) copy ramdisk [Y/N] : Y 13) arm kernel arch number : 3007 14) nand part (B,C,L,K,R,A): 1,1,0,3,5,54 15) watchdog (sec, off=0) : 0 16) KCMD 1 : mem=64M 17) KCMD 2 : initrd=0x30800000,5M root=/dev/ram0 ramdisk=12288 18) KCMD 3 : console=ttySAC2,115200 19) KCMD 4 : 20) KCMD 5 : 21) KCMD 6 : L) Load default LF) load KCMD2 root=flash LR) load KCMD2 root=ramdisk S) Save to flash P) aPply & exit Q) Quit Select >> s <-- s 키로 변경된 내용을 반드시 저장합니다. ...write 32768 complete ...verify complete ...Saved ^^; 1) mac address : 00:FA:01:A2:13:04 2) local ip : 192.168.10.183 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.50 6) zImage file name : zImage.ez-s3c2440 7) ram disk file name : ramdisk-1.10-12M.gz 8) boot loader file name : ezboot.s3c2440 9) logo image file name : 10) auto execute full name : 11) autoboot wait time : 3 12) copy ramdisk [Y/N] : Y 13) arm kernel arch number : 3007 14) nand part (B,C,L,K,R,A): 1,1,0,3,5,54 15) watchdog (sec, off=0) : 0 16) KCMD 1 : mem=64M 17) KCMD 2 : initrd=0x30800000,5M root=/dev/ram0 ramdisk=12288 18) KCMD 3 : console=ttySAC2,115200 19) KCMD 4 : 20) KCMD 5 : 21) KCMD 6 : L) Load default LF) load KCMD2 root=flash LR) load KCMD2 root=ramdisk S) Save to flash P) aPply & exit Q) Quit Select >> q <--- q 로 set 모드에서 빠져 나갑니다. EZBOOT>tfk <--- tfk 명령으로 개발 호스트로부터 커널 이미지를 내려 받습니다. receive zImage.ez-s3c2440 tx ARP rx ARP HOST MAC : 00:0C:29:70:5F:CD HOST IP : 192.168.10.50 LOCAL IP : 192.168.10.183 option [timeout 120 tsize 1868296] size = 1868302 ...write 1868302 complete ...verify complete EZBOOT>rst <--- rst 명령으로 보드를 재부팅합니다. System Soft Reset....... EZBOOT>0123B WELCOME EZBOOT V2.2.47 (FALINUX Co.,Ltd) ..........S3C2440(EZ-S3C2440) Program by You Young-chang, Oh Jae-Kyoung, Jang Hyung-Gi Last Modify Nov 14 2007 Detect Samsung NAND 64M 3.3V 8-bit Flash : vid=EC pid=76 SIZE 64-Mbytes (page=512, block=16K) ... Copy Kernel Image ..... Copy Ramdisk Image ..... Starting kernel [MARCH 3007]... kernel command [EZBOOT mem=64M initrd=0x30800000,5M root=/dev/ram0 ramdisk=12288 console=ttySAC2,115200 ip0=192.168.10.183 mac=00:FA:01:A2:13:04 netmask=255.255.255.0 gw=192.168.10.1 host=192.168.10.50 nandparts=2,8,54 ] Uncompressing Linux.................... ... 중간 생략 ... yaffs: auto selecting yaffs1 yaffs: block 44 is marked bad block 45 is bad yaffs: block 2475 is marked bad block 2476 is bad Starting system logger: [ OK ] Starting INET services: [ OK ] eth0 Link mode : 100 Mb/s Duplex mode. Welcome to FALinux (www.falinux.com) Linux Kernel 2.6.21-falinux falinux login: <--- 이렇게 로그인 메시지가 출력되면 성공한 것입니다.
미리 커널 이미지 파일을 호스트의 /tftpboot/ 디렉토리에 zImage.x5 이름으로 복사하십시오. 보다 자세한 내용은 제품과 동봉된 책자를 이용하여 주십시오.
WELCOME EZBOOT.X5 V1.7...................for PXA255 Program by You Young-chang, fooji (FALinux Co.,Ltd) Last Modify 2004.11.17 Boot Flash Check ...................... Detect AM29LV400 (BOTTOM)Flash : 22BA SIZE 4M-BIT [512Kbyte] NAND Chip Check ....................... Detect SAMSUNG [ec:76] 64MByte BAD BLOCK SCAN -> Kernel, Ramdisk Bad Block [0] CS8900 Init............................ Mac Address : [00 A2 75 F2 36 39] Detect value : [3000:3000] Chip ID : [0E63:000A] Quickly Autoboot [ENTER] / Goto BOOT-MENU press [space bar].... EZBOOT>set ^^; 1. MAC Address [00:a2:75:f2:36:39] 2. LOCAL IP [192.168.10.165] 3. HOST IP [192.168.10.102] <-- 개발 호스트 IP와 다르다면 수정합니다. 4. Host tftp directory [] <-- 개발 호스트의 /tftpboot/를 사용한다면 공백으로 설정 5. zImage file name [zImage.x5] 6. ram disk file name [ramdisk.x5-12M.gz] 7. boot loader file name [ezboot.x5] A. Autoboot wait time [3] B. Boot Menu Key [ ] C. Copy Ramdisk [Y/N] [Y] D. Architecture Number [303] E. Serial FF/BT/ST(0/1/2) [2] F. NAND-Partition MByte [2:5:57] (kernel:ramdisk:app) W. Watchdog (sec, off=0) [0] K. Kernel CMD 1st [initrd=0xa0800000,5M root=/dev/ram ramdisk=12288] M. Kernel CMD 2nd [colsole=ttyPXA2,115200] N. Kernel CMD 3rd [mem=64M] L. Load Default P. Apply & Exit S. Save 0. Exit Select >> 3 ---> 개발 호스트 IP를 수정하기 위해 3을 누르고 엔터키를 누릅니다. 3. HOST IP [192.168.10.102] Newvalue : 192.168.10.55 ^^; 1. MAC Address [00:a2:75:f2:36:39] 2. LOCAL IP [192.168.10.165] 3. HOST IP [192.168.10.55] ---> 개발 호스트 IP가 옳바르게 수정되었습니다. 4. Host tftp directory [] 5. zImage file name [zImage.x5] 6. ram disk file name [ramdisk.x5-12M.gz] 7. boot loader file name [ezboot.x5] A. Autoboot wait time [3] B. Boot Menu Key [ ] C. Copy Ramdisk [Y/N] [Y] D. Architecture Number [303] E. Serial FF/BT/ST(0/1/2) [2] F. NAND-Partition MByte [2:5:57] (kernel:ramdisk:app) W. Watchdog (sec, off=0) [0] K. Kernel CMD 1st [initrd=0xa0800000,5M root=/dev/ram ramdisk=12288] M. Kernel CMD 2nd [colsole=ttyPXA2,115200] N. Kernel CMD 3rd [mem=64M] L. Load Default P. Apply & Exit S. Save 0. Exit Select >> s ---> 변경된 환경 값을 반드시 저장합니다. Erase : OK Write : OK ...Saved ^^; 1. MAC Address [00:a2:75:f2:36:39] 2. LOCAL IP [192.168.10.165] 3. HOST IP [192.168.10.55] 4. Host tftp directory [] 5. zImage file name [zImage.x5] 6. ram disk file name [ramdisk.x5-12M.gz] 7. boot loader file name [ezboot.x5] A. Autoboot wait time [3] B. Boot Menu Key [ ] C. Copy Ramdisk [Y/N] [Y] D. Architecture Number [303] E. Serial FF/BT/ST(0/1/2) [2] F. NAND-Partition MByte [2:5:57] (kernel:ramdisk:app) W. Watchdog (sec, off=0) [0] K. Kernel CMD 1st [initrd=0xa0800000,5M root=/dev/ram ramdisk=12288] M. Kernel CMD 2nd [colsole=ttyPXA2,115200] N. Kernel CMD 3rd [mem=64M] L. Load Default P. Apply & Exit S. Save 0. Exit Select >>0 EZBOOT>tfk Receive zImage.x5 Send ARP Packet Send ARP Packet ARP PACKET Resive HOST MAC : [ 00 0C 29 27 1D 60 ] HOST IP : [192.168.10.55] LOCAL IP : [192.168.10.165] Resive Address : A100-0000 TFTP Request Send OPTION [timeout 120 tsize 736880] ALL DATA RESIVE OK [ 736880 bytes ] Erase : OK Write : OK Verifing: |Verifing: |==================================================| 100% Verify: OK EZBOOT>rst rst System Soft Reset....... EZBOOT> WELCOME EZBOOT.X5 V1.7...................for PXA255 Program by You Young-chang, fooji (FALinux Co.,Ltd) Last Modify 2004.11.17 Boot Flash Check ...................... Detect AM29LV400 (BOTTOM)Flash : 22BA SIZE 4M-BIT [512Kbyte] NAND Chip Check ....................... Detect SAMSUNG [ec:76] 64MByte BAD BLOCK SCAN -> Kernel, Ramdisk Bad Block [0] CS8900 Init............................ Mac Address : [00 A2 75 F2 36 39] Detect value : [3000:3000] Chip ID : [0E63:000A] Quickly Autoboot [ENTER] / Goto BOOT-MENU press [space bar]..... Copy Kernel Image ..... Copy Ramdisk Image ..... ... 중간 생략 ... Welcome to FALinux EZ-X5 ( www.falinux.com ) XScale(PXA255) Linux ez-x5 login: <--- 이렇게 로그인 메시지가 출력되면 성공한 것입니다.