커널 2.6으로 업그레이드의 필요성
부트로더 2.0 이상 버전으로 업그레이드
변경된 부트로더 모습
2.6 커널 이미지 만들기
램디스크 이미지 만들기
2.6 커널 이미지 와 램디스크 이미지 전송
EZ-X5는 커널 2.4로 구성되어 있지만 (주)FALINUX 자료실에서 제공되는 파일을 이용하시면 커널 2.6으로 업그레이드하실 수 있습니다. EZ-X5를 커널 2.4에서 2.6으로 업그레이드하시면 업그레이드된 커널을 사용하실 수 있는 장점 뿐만 아니라,
- 최근에 판매되는 커널 2.6인 EZ-S3C2440와 같은 부트로더를 사용하므로서 사용 방법을 통일 할 수 있습니다.
- 2.6 커널 보드와 같은 부트로더 소스와 커널소스, 램디스크 소스를 이용하여 이미지 파일을 만들 수 있으며,
- 커널 2.6 보드와 같은 버전의 컴파일러를 사용하여 이미지 파일을 생성할 수 있습니다.
- 또한 커널 2.6보드와 같은 프로그램을 사용하여, 같은 방법으로 각종 이미지 파일을 EZ-X5에 전송할 수 있어서 편리합니다.
- 이외에도 여러 가지 장점이 있습니다.
EZ-X5를 커널 2.6으로 업그레이드 하기 위해서는 커널 뿐만 아니라,
- 제일 먼저 부트로더를 2.0 이상 버전으로 업그레이들 해야하며,
- 커널을 업그레이드 한 후에,
- 램디스크 이미지도 업그레이드 해야 합니다.
부트로더를 2.0 이상으로 업그레이드하는 방법에는 (주)FALINUX 자료실>>EZ-X5 페이지>>커널 2.6으로 업그레이드에서 ET-BOOT 다운로드 링크를 이용하여 (1) ezboot.ez-x5를 내려받아 EZ-보드로 전송하는 방법과 (2) 최신 버전의 소스인 ez_boot.src.tar.gz를 내려 받아 아래의 순서에 따라 이미지 파일을 직접 컴파일하신 후 보드로 전송하는 방법이 있습니다.
부트로더 소스를 직접 내려 받아 컴파일해 보겠습니다.
작업의 편의를 위해 루트 디렉토리에 /ez-x5 디렉토리를 생성한 후, /ez-x5에 부트로더 소스를 풀겠습니다. 압축 파일에는 부트로더 소스뿐만 아니라 각종 EZ-보드의 부트 로더를 만들기 위한 Makefile 이 보드 이름에 따라 만들어져 있습니다.
]# mkdir /ez-x5 ]# cd /ez-x5 ]# tar zxvf ezboot.tar.gz ]# ls -al 합계 100 drwxrwxrwx 14 nobody nfsnobody 4096 2월 27 17:52 . drwx------ 12 jwjw jwjw 4096 2월 27 18:25 .. drwxrwxrwx 6 nobody nfsnobody 4096 2월 27 18:11 .svn -rwxrwxrwx 1 nobody nfsnobody 1941 2월 27 17:52 Makefile ... 중간 생략 drwxrwxrwx 3 nobody nfsnobody 4096 2월 27 18:04 main -rwxrwxrwx 1 nobody nfsnobody 30 2월 27 17:52 pxa255_make.sh -rwxrwxrwx 1 nobody nfsnobody 30 2월 27 17:52 pxa270_make.sh // Makefile 중에 EZ-X5에 해당하는 pxa255_make.sh 파일을 이용하여 // 부트로더 소스를 컴파일 합니다. ]# ./pxa255_make.sh distclean // 이전 작업으로 생긴 불필요 파일을 삭제합니다. ]# ./pxa255_make.sh // 부트로더를 컴파일 합니다. // 에러없이 작업이 완료되었다면 ./image 디렉토리에 ezboot.ez-x5 파일이 생성됩니다. ]# ls -al image/ drwxrwxrwx 3 nobody nfsnobody 4096 2월 27 18:04 . drwxrwxrwx 14 nobody nfsnobody 4096 2월 27 17:52 .. -rwxrwxrwx 1 root root 60276 2월 27 18:04 ezboot.ez-x5 ]#만들어진 ezboot.ez-x5를 JTAG 케이블을 이용하여 EZ-X5로 전송합니다. 부트로더를 EZ-X5에 전송하는 자세한 설명은 EZ보드 메뉴얼::"부트로더 쓰기, EZFlashW_EZFlash" 글을 참고하여 주십시오.
또한 EZ-X5와 함께 동봉된 CD에 있는 EZFlash 또는 EZFlashW 프로그램을 이용하셔도 좋습니다만, (주)FALINUX 자료실>>EZ-X5 페이지>>커널 2.6으로 업그레이드에 올려진 최근 버전의 프로그램을 이용하시면 더욱 편리합니다.
성공적으로 전송이 완료된 후 부팅을 하시면 이전 부트로더 내용이 이전과는 다른 모습으로 출력되는 것을 보실 수 있습니다. 제일 먼저 EZBOOT의 버전업된 버전 번호, 2.x.x를 확인하실 수 있습니니다.
또한 set 명령을 실행하시면 이전 set 메뉴와는 달리 많은 부분이 수정된 것을 보실 수 있습니다. 21개의 숫자메뉴와 6개의 영문메뉴로 구성되었으면 최근 버전의 EZBOOT 메뉴를 보시면 추가된 새로운 명령도 확인하실 수 있습니다.
WELCOME EZBOOT V2.2.48 (FALINUX Co.,Ltd) ..........PXA255(EZ-X5) Program by You Young-chang, Oh Jae-Kyoung, Jang Hyung-Gi Last Modify Feb 27 2008 Detect AM29LV400_B Flash : vid=01 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]. CS8900 Init ...... Mac Address : [00 FA 07 78 65 05] Detect value : [3000:3000] Chip ID : [0E63:000A] EZBOOT>set ^^; 1) mac address : 00:FA:07:78:65:05 // 기본 네트워크 구성을 2) local ip : 192.168.10.182 // 모두 설정할 수 있습니다. 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.55 // 이전 버전보다는 호스트로부터 6) zImage file name : zImage.ez-x5 // 이미지 파일을 내려 받는 정보를 7) ram disk file name : ramdisk-1.10-12M.gz // 보다 일목요연하게 8) boot loader file name : ezboot.ez-x5 // 정리된 모습입니다. 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 : 785 // arch number를 785로 14) nand part (B,C,L,K,R,A): 0,1,0,3,5,55 // NAND의 파티션 크기 설정 15) watchdog (sec, off=0) : 0 16) KCMD 1 : mem=64M 17) KCMD 2 : initrd=0xA0800000,5M root=/dev/ram ramdisk=12288 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 >>이전과는 많이 달라진 부트로더 모습입니다. 여기서 주의하실 것은 13번의 arm kernel arch number를 785로 변경해 주셔야 합니다. arch number는 임베디드 보드의 커널 고유 번호로 자세한 설명은 [왕초보를 위한 강좌::"Arch Number란"]글을 참고하여 주십시오.
또한 785라는 번호는 커널 소스가 풀린 디렉토에서 arch/arm/tools/mach-types 파일 내용을 보시면 아실 수 있습니다.
]# cd [커널소스가 풀린 디렉토리]/arch/arm/tools ]# vi mach-types # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number # ebsa110 ARCH_EBSA110 EBSA110 0 riscpc ARCH_RPC RISCPC 1 nexuspci ARCH_NEXUSPCI NEXUSPCI 3 .... 중간 생략 ... ez_ixp42x MACH_EZ_IXP42X EZ_IXP42X 778 .... 중간 생략 ... ez_x5 MACH_EZ_X5 EZ_X5 785 ez_s2410 MACH_EZ_S2410 EZ_S2410 1309 ez_s2440 MACH_EZ_S2440 EZ_S2440 1310 ez_ep9312 MACH_EZ_EP9312 EZ_EP9312 1311 ez_ep9315 MACH_EZ_EP9315 EZ_EP9315 1312 ez_x7 MACH_EZ_X7 EZ_X7 1313 .... 중간 생략 ...
(주)FALINUX 자료실>>EZ-X5 페이지>>커널 2.6으로 업그레이드에서 Kernel 다운로드 링크를 이용하여, 이미 만들어진 zImage.ez-x5를 보드로 전송하시거나 아래의 방법에 따라 직접 이미지를 생성하십시오.
최근 커널 소스를 내려 받습니다. 이 글을 작성할 때의 파일 이름은 linux-2.6.21.tar.gz 입니다. 파일 이름에 버전번호가 있어서 구별하시기 편하실 것입니다. 내려 받은 소스 파일을 아래의 순서에 따라 컴파일합니다.
- 커널을 컴파일하기 위해서는 /project/falinux/kernel에 압축을 풉니다.
- 압축해제가 끝나면 커널 소스 디렉토리가 생성됩니다.
- 생성된 디렉토리를 작업의 편리를 위해 /linux 로 링크를 생성합니다.
- 커널을 컴파일 합니다.
작업의 편의를 위해 /project/falinux/kernel 디렉토리를 생성하고, 이 디렉토리에 커널 소스를 풀겠습니다.
// 작업할 디렉토리를 생성합니다. ]# mkdir kernel ]# cd kernel/ // 생성한 디렉토리로 이동 ]# tar zxvf /download/linux-2.6.21.tar.gz // 커널 소스를 풀기를 합니다. // linux-2.6.21 디렉토리가 생성됩니다. ]# cd linux-2.6.21 // 커널 소스 디렉토리로 이동합니다. ]# make distclean // 모든 환경 설정 및 컴파일 결과를 삭제 ]# make ezx5_defconfig // 미리 준비된 기본 값을 환경값을 생성왜 make 다음에 ezx5_defconfig 인지 설명해 드리겠습니다. ^^
앞서 말씀드린바와 같이 최근에 나오는 EZ보드는 하나의 통합된 소스를 이용하여 보드별로 필요한 이미지 파일을 생성합니다. 커널이미지도 마찬가지여서 통합 소스를 이용하여, 보드별로 Makefile의 환경만 변경하여 커널 이미지를 만들 수 있기 때문에, 이제는 보드 제품에 따라 커널 소스를 구하고, 서로 다른 제작 방법에 따라 이미지를 만드는 불편함을 해소할 수 있게 되었습니다.
물론 말씀드린바와 같이 서로 다른 특성을 가지고 있는 타겟 보드를 하나의 Makefile로 해결할 수 없으므로, 타겟 보드의 특징에 따라 커널을 만들어 주는 설정값을 만들어 주어야 하는데, 빈 파일로 설정값을 생성한다면 매우 불편할 것입니다. 이런 불편을 피하기 위해 미리 EZ-보드별로 기본 설정값을 가지고 있는 디폴트 파일을 커널 소스와 함게 제공하고 있습니다.
(1) 이 디폴트 값을 가지고 있는 파일을 이용하여 보드별로 기본 설정값을 만든 후에, (2) make menuconfig나 직접 파일을 수정하여 타겟 보드의 특성에 맞게 커널 이미지를 제작할 수 있습니다.
커널 소스의 압축이 풀린 곳을 보시면 arch 디렉토리가 있으며, arch 디렉토리 안에는 다시 cpu 타입별로 디렉토리가 존재합니다. 이 cpu 디렉토리 안의 configs 디렉토리에 EZ-보드별로 기본 설정 파일이 준비되어 있습니다.
]$ ls arch/arm/configs/ assabet_defconfig ezx5_defconfig mainstone_defconfig at91rm9200dk_defconfig footbridge_defconfig mx1ads_defconfig at91rm9200ek_defconfig fortunet_defconfig neponset_defconfig at91sam9260ek_defconfig h3600_defconfig netwinder_defconfig at91sam9261ek_defconfig h7201_defconfig netx_defconfig at91sam9263ek_defconfig h7202_defconfig ns9xxx_defconfig ateb9200_defconfig hackkit_defconfig omap_h2_1610_defconfig badge4_defconfig integrator_defconfig onearm_defconfig carmeva_defconfig iop13xx_defconfig pleb_defconfig cerfcube_defconfig iop32x_defconfig pnx4008_defconfig clps7500_defconfig iop33x_defconfig pxa255-idp_defconfig collie_defconfig ixp2000_defconfig realview-smp_defconfig corgi_defconfig ixp23xx_defconfig realview_defconfig csb337_defconfig ixp4xx_defconfig rpc_defconfig csb637_defconfig jornada720_defconfig s3c2410_defconfig ebsa110_defconfig kafa_defconfig shannon_defconfig edb7211_defconfig kb9202_defconfig shark_defconfig edks3c2440_defconfig lart_defconfig simpad_defconfig emx7_defconfig lpd270_defconfig spitz_defconfig ep93xx_defconfig lpd7a400_defconfig trizeps4_defconfig espns_defconfig lpd7a404_defconfig versatile_defconfig ezixp42x_defconfig lubbock_defconfig ezs3c2440_defconfig lusl7200_defconfig ]$정리해서 말씀드리면,
EZ-보드 기본 설정 파일 EZ-S3C2440 arch/arm/configs/ezs3c2440_defconfig EZ-X5 arch/arm/configs/ezx5_defconfig 그러므로 make 를 실행할 때, EZ-보드에 따라 기본설정을 이용하시면 됩니다.
]# make distclean // 모든 환경 설정 및 컴파일 결과를 삭제 ]# make ezx5_defconfig // 미리 준비된 기본 설정 파일로 환경값을 생성 ** 기본 값 이외에 보드 특성을 설정하려면 make menuconfig 를 실행합니다. ** ]# make zImage // 커널 이미지 파일을 생성합니다. // 시간이 조금 소요됩니다. 제 PC에서는 15분 정도 걸리네요. ^^ : .... 컴파일 중 .... : AS arch/arm/boot/compressed/head-xscale.o LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready <-- 이 문장이 나오면 성공적으로 작업이 끝난 것입니다. ]# // make가 성공적으로 실행되면 ./arch/arm/boot 에 zImage가 생성됩니다. ]# ls -al ./arch/arm/boot/ 합계 5728 drwxr-xr-x 4 1004 1001 4096 3월 2 21:00 . drwxr-xr-x 50 1004 1001 4096 1월 25 11:14 .. -rw-r--r-- 1 root root 108 3월 2 21:00 .Image.cmd -rw-r--r-- 1 1004 1001 13 1월 24 17:28 .gitignore -rw-r--r-- 1 root root 135 3월 2 21:00 .zImage.cmd -rwxr-xr-x 1 root root 3921112 3월 2 21:00 Image -rw-r--r-- 1 1004 1001 2549 1월 24 17:28 Makefile drwxr-xr-x 2 1004 1001 4096 1월 25 11:14 bootp drwxr-xr-x 2 1004 1001 4096 3월 2 21:00 compressed -rw-r--r-- 1 1004 1001 1326 1월 24 17:28 install.sh -rwxr-xr-x 1 root root 1899652 3월 2 21:00 zImage ]#만들어진 zImage를 타겟 보드로 전송하기 위해 zImage.ez-x5 이름으로 /tftpboot/ 디렉토리로 복사합니다. 루트 디렉토리에 /tftpboot 디렉토리가 없다면 tftp가 설치되어 있지 않은 것입니다. tftp를 EZ보드 메뉴얼::"TFTP 환경 구축"의 내용을 참고하셔서 설치하신 후 /tftpboot/로 복사합니다.
// 부트로더를 이용하여 커널 이미지를 보드로 전송하기 위해 /tftpboot 디렉토리로 // 커널 이미지를 복사 또는 이동합니다. ]# mv arch/arm/boot/zImage /tftpboot/zImage.ez-x5 ]# ls -al /tftpboot/ 합계 1872 drwxr-xr-x 2 root root 4096 3월 6 19:13 . drwxr-xr-x 26 root root 4096 3월 6 16:18 .. -rwxrwxr-x 1 jwjw jwjw 1899660 3월 6 19:08 zImage.ez-x5 ]#
부트로더와 커널 뿐만 아니라 램디스크도 커널 2.6맞추어서 새로 작성해야 합니다. (주)FALINUX 자료실>>EZ-X5 페이지에서 [ToolChain & RamDisk] 링크를 이용하여 최신 버전의 램디스크 압축 파일을 내려 받으십시오. 이글을 작성할 때의 압축 파일 이름은 arm-toolchain-3.4.3-ramdisk-base-12M.tar.gz 입니다.
새로운 RamDisk 이미지를 만들기 위해 작업 디렉토리에 ramdisk 디렉토리를 생성한 후, 그 디렉토리에 스크립트를 포함한 램디스크 압축파일을 풀어 놓습니다.
램디스크를 만드는 순서는 아래와 같습니다.
- 루트에 ramdisk 디렉토리를 생성합니다.
- /ramdisk로 이동합니다.
- 램디스크 이미지를 /ramdisk에 풀기를 합니다.
- /ramdisk/target_ramdiskroot 디렉토리로 이동합니다.
- 램디스크로 구성될 디렉토리와 파일들이 들어 있습니다. 이 곳에 필요한 파일을 복사하거나 필요 없는 파일을 제거합니다.
- /ramdisk로 이동합니다.
- 스크립트 ach.sh를 실행하여 RamDisk를 생성합니다.
- 생성된 RamDisk를 타켓보드로 전송하여 작업을 완료합니다.
]# mkdir /ramdisk // 루트 디렉토리에 ramdisk를 생성합니다. ]# cd /ramdisk // ramdisk 로 이동합니다. ]# tar zxvf /download/arm-toolchain-3.4.3-ramdisk-base-12M.tar.gz ]# cd target_ramdiskroot // 디렉토리 별로 파일을 추가 또는 삭제합니다. ]# cd .. // /ramdisk로 이동합니다. ]# ./ach.sh // 램디스크를 만들어 주는 스크립트를 실행합니다. ]# ls -al
합계 4112
drwxr-xr-x 4 root root 4096 2월 29 11:46 .
drwx------ 13 jwjw jwjw 4096 2월 29 11:36 ..
-rwxr-xr-x 1 1007 1001 6577 11월 6 12:56 ach.sh
drwxr-xr-x 2 1007 1001 4096 12월 3 22:44 dir_ramdisk
-rwxrwxrwx 1 root root 4173829 2월 29 11:46 ramdisk-1.10-12M.gz --> 생성된 램디스크
drwxr-xr-x 16 1007 1001 4096 2월 29 11:46 target_ramdiskroot
]# // 생성된 램디스크를 타겟 보드로 전송합니다. ]# mv ramdisk-1.10-12M.gz /tftpboot/ // 타겟보드로 전송하기 위해 tftpboot로 이동
WELCOME EZBOOT V2.2.48 (FALINUX Co.,Ltd) ..........PXA255(EZ-X5) Program by You Young-chang, Oh Jae-Kyoung, Jang Hyung-Gi Last Modify Feb 27 2008 Detect AM29LV400_B Flash : vid=01 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]..... CS8900 Init ...... Mac Address : [00 FA 07 78 65 05] Detect value : [3000:3000] Chip ID : [0E63:000A] EZBOOT>set ^^; 1) mac address : 00:FA:07:78:65:05 2) local ip : 192.168.10.182 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.105 --> 개발 호스트와 다르다면 변경해 줍니다. 6) zImage file name : zImage.ez-x5 --> /tftpboot/zImage.ez-x5로 준비 7) ram disk file name : ramdisk-1.10-12M.gz --> /tftpboot/ramdisk-1.10-12M.gz로 준비 8) boot loader file name : ezboot.ez-x5 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 : 785 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=12288 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 >> 5 ---> 개발 호스트 IP를 수정하기 위해 5를 누르고 엔터키를 누릅니다. 05. server ip : 192.168.10.105 new value : 192.168.10.55 ---> 호스트 IP를 입력 후 엔터키를 누릅니다. ^^; 1) mac address : 00:FA:07:78:65:05 2) local ip : 192.168.10.182 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.55 ---> IP가 옳바르게 변경되었습니다. 6) zImage file name : zImage.ez-x5 7) ram disk file name : ramdisk-1.10-12M.gz 8) boot loader file name : ezboot.ez-x5 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 : 785 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=12288 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:07:78:65:05 2) local ip : 192.168.10.182 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.55 6) zImage file name : zImage.ez-x5 7) ram disk file name : ramdisk-1.10-12M.gz 8) boot loader file name : ezboot.ez-x5 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 : 785 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=12288 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-x5 tx ARP Miss RX rx ARP HOST MAC : 00:0C:29:27:1D:60 HOST IP : 192.168.10.55 LOCAL IP : 192.168.10.182 option [timeout 120 tsize 1899660] size = 1894400 size = 1899660 ...write 1899660 complete ...verify complete EZBOOT>tfr // 플래시 메모리 영역으로 램디스크 이미지를 전송 받습니다. receive ramdisk-1.10-12M.gz tx ARP rx ARP HOST MAC : 00:0C:29:27:1D:60 HOST IP : 192.168.10.55 LOCAL IP : 192.168.10.183 option [timeout 120 tsize 4173829] size = 4173898 ...write 4173898 complete ...verify complete EZBOOT>rst <--- rst 명령으로 보드를 재부팅합니다. System Soft Reset....... EZBOOT> WELCOME EZBOOT V2.2.48 (FALINUX Co.,Ltd) ..........PXA255(EZ-X5) Program by You Young-chang, Oh Jae-Kyoung, Jang Hyung-Gi Last Modify Feb 27 2008 Detect AM29LV400_B Flash : vid=01 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 785]... kernel command [EZBOOT mem=64M initrd=0xA0800000,5M root=/dev/ram ramdisk=12288 console=ttyPXA2,115200 ip0=192.168.10.182 mac=00:FA:07:78:65:05 netmask=255.255.255.0 gw=192.168.10.1 host=192.168.10.55 nandparts=1,8,55 ] Uncompressing Linux................ ... 중간 생략 ... yaffs: block 711 is marked bad block 712 is bad yaffs: block 2951 is marked bad block 2952 is bad Starting system logger: [ OK ] Starting INET services: [ OK ] Welcome to FALinux (www.falinux.com) Linux Kernel 2.6.21-falinux falinux login: <--- 이렇게 로그인 메시지가 출력되면 성공한 것입니다.
make menu config 에서는 mk712를 선택을 해서 이미지 만들려고 했는데 커널 드라이버에 보니
mk712파일이 없네요..
기존의 mk712.c로도 가능한가요?
한번해봐야겠군요..
./pxa255_make.sh
이렇게 하면 아래와 같은 에러 메시지가 출력됩니다..
make[1]: arm-linux-gcc: 명령을 찾지 못했음
make[1]: *** [start.o] 오류 127
make[1]: Leaving directory `/ez-x5/arch_pxa255/start'
make: *** [all] 오류 2
ubuntu 사용중입니다..
문제가 뭔가요?? ㅜㅜ
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/docproc
make[1]: *** ����� `ezx5_deconfig'��� ������ ��������� ������. ������.
make: *** [ezx5_deconfig] ������ 2
오타가 있었네요.. -ㅁ-;; ezx5_defconfig 였습니다.
그리고 중요한 지는 모르겠지만 현재 ftp://ftp.falinux.com/kernel/recommendation 링크에서 받는 2.6.21 버젼의 커널
/Makefile
185 #ARCH ?= i386
186
187 ARCH ?= arm
188 CROSS_COMPILE ?= arm-linux-
189
190 #ARCH ?= mips
191 #CROSS_COMPILE ?= mipsel-linux-
이 부분을 위와 같이 수정해야 할 거 같습니다. 크로스 컴파일러가 mips 로 되어 있네요. 맞는거겠죠? -ㅁ-;;
그리고 ramdisk 생성관련해서 ftp://ftp.falinux.com/toolchain_ramdisk/recommendation 이 링크에서 설명에 나온 파일을 받을 수 없습니다. ftp://ftp.falinux.com/toolchain_ramdisk/history 에서 과거 날짜를 찾아보면 이 문서에서 이야기 하는 파일을 받을 수 있습니다.
완벽한 문서화 너무 수고하셨어요 ^^
정말 큰 도움 받아 갑니다. 감사해요 ^^