회원 및 비회원 모두 열람이 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.
제가 오늘 OMAP3530에 있는 NAND Device에 MTD Block이 5개(x-loader, u-boot, boot_params, uImage, rootfs.jffs2)로
설정을 하여 커널 부팅시 Root file system을 /dev/mtdblock4로 설정하는 것을 테스트 했습니다.
그런데, rootfs.jffs2 를 만드는 툴이 Host에 없습니다. rootfs.jffs2를 만드는 설명좀 가이드 받고자 합니다.
아래는 제가 u-boot에서 사용한 script입니다.
setenv ipaddr 192.168.0.110
setenv serverip 192.168.0.10
setenv gatewayip 192.168.0.30
setenv netmask 255.255.255.0
setenv hostname NGPRSEVM
setenv ethername eth0
setenv ethaddr 00:50:c2:7e:8c:5a
setenv get_kernel run nand_kernel
setenv get_initrd run nand_initrd
setenv nand_kernel nand read.i 0x80000000 280000 200000
setenv nand_initrd nand read.i 0x81600000 780000 1000000
setenv tftp_kernel tftpboot 0x80000000 bjkim/uImage.evm.02.01.03.11
setenv tftp_initrd tftpboot 0x81600000 bjkim/ramdisk.gz.02.01.03.11
setenv bootargs_rd mem=128M console=ttyS0,115200n8 root=/dev/ram0 initrd=0x81600000,40M ramdisk_size=40960
setenv bootargs_fs mem=128M console=ttyS0,115200n8 noinitrd root=/dev/mtdblock4 rw rootfstype=jffs2
setenv bootargs_nfs mem=128M console=ttyS0,115200n8 noinitrd rw root=/dev/nfs nfsroot=/opt/nfs/target,nolock
setenv addip setenv bootargs $(bootargs) ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname):$(ethername):on
setenv boot_rd run get_kernel; run get_initrd; setenv bootargs $(bootargs_rd); run addip; bootm 0x80000000
setenv boot_fs run get_kernel; setenv bootargs $(bootargs_fs); run addip; bootm 0x80000000
setenv boot_nfs run tftp_kernel; setenv bootargs $(bootargs_nfs); run addip; bootm 0x80000000
setenv bootcmd run boot_nfs
setenv bootdelay 2
setenv rf_unlock nand unlock
setenv rf_blank_ram mw.b 0x81600000 0xff 0x1400000
setenv rf_er_xloader nand erase 0 80000
setenv rf_er_uboot nand erase 80000 80000
setenv rf_er_env nand erase 240000 20000
setenv rf_er_kernel nand erase 280000 200000
setenv rf_er_ramdisk nand erase 780000 1000000
setenv rf_er_fs nand erase 780000 1400000
setenv rf_get_xloader tftpboot 0x81600000 bjkim/x-load.bin.ift.evm.02.01.03.11
setenv rf_get_uboot tftpboot 0x81600000 bjkim/u-boot.bin.evm.02.01.03.11
setenv rf_get_kernel tftpboot 0x81600000 bjkim/uImage.evm.02.01.03.11
setenv rf_get_ramdisk tftpboot 0x81600000 bjkim/ramdisk.gz.02.01.03.11
setenv rf_get_fs tftpboot 0x81600000 bjkim/rootfs.jffs2.02.01.03.11
setenv rf_wr_xloader nand ecc hw; nand write.i 0x81600000 0 20000
setenv rf_wr_uboot nand ecc sw; nand write.i 0x81600000 80000 40000
setenv rf_wr_kernel nand ecc sw; nand write.i 0x81600000 280000 200000
setenv rf_wr_ramdisk nand ecc sw; nand write.i 0x81600000 780000 1000000
setenv rf_wr_fs nand ecc sw; nand write.i 0x81600000 780000 1400000
setenv rf_ev run rf_unlock; run rf_er_env
setenv rf_xl run rf_unlock; run rf_blank_ram; run rf_er_xloader; run rf_get_xloader; run rf_wr_xloader
setenv rf_ub run rf_unlock; run rf_blank_ram; run rf_er_uboot; run rf_get_uboot; run rf_wr_uboot
setenv rf_kn run rf_unlock; run rf_blank_ram; run rf_er_kernel; run rf_get_kernel; run rf_wr_kernel
setenv rf_rd run rf_unlock; run rf_blank_ram; run rf_er_ramdisk; run rf_get_ramdisk; run rf_wr_ramdisk
setenv rf_min_rd run rf_unlock; run rf_blank_ram; run rf_er_ramdisk; run rf_get_min_rd; run rf_wr_ramdisk
setenv rf_fs run rf_unlock; run rf_blank_ram; run rf_er_fs; run rf_get_fs; run rf_wr_fs
setenv rf_all_rd run rf_xl; run rf_ub; run rf_kn; run rf_rd
setenv rf_all_min_rd run rf_xl; run rf_ub; run rf_kn; run rf_min_rd
setenv rf_all_fs run rf_xl; run rf_ub; run rf_kn; run rf_fs
save
mtd-util을 받아서 보시면 jffs2 image를 만드는 툴이 있을겁니다....
기억이 가물한데......mkjffs2image 와 같은 이름일 듯 하네요....
그것을 이용해서 rootfs 이 있는 디렉토리를 지정해서 image 형태로 만드시면 될 듯 하네요.