- 论坛徽章:
- 0
|
制作u-boot镜像:
./mkimage -n 'linux-2.6.24' -A arm -O linux -T kernel -C none -a 0x22200000 -e 0x22200000 -d zImage zImage.img.24
更多信息 可以参看mkimage 帮助
tftp 0x21100000 root_little.cramfs.bin
tftp 22000000 zImage.img
setenv bootargs root=/dev/nfs nfsroot=192.168.1.103:/nfs/root ip=192.168.1.18 lpj=498688 quiet
setenv bootargs mem=64M console=ttyS0,115200 initrd=0x21100000,2621440 root=/dev/ram0 rw lpj=498688
nandflash ecc(handware software)
用编译好相应内核的nfs根文件系统进入,然后用 cp xxx.imge /dev/mtdx 即可
如果用 uboot烧写 需要将uboot 的nandflash 设置为 与 kernel一致
boot命令:tftp 22000000 zImage.img\;bootm 0x22000000
u-boot配置信息:
bootdelay=3
baudrate=115200
ipaddr=192.168.1.8
serverip=192.168.1.2
ethaddr=12:34:56:78:9A:DE
bootcmd=tftp 22000000 zImage.img.24\;bootm 22000000
bootargs=root=/dev/nfs nfsroot=192.168.1.103:/nfs/root
setenv bootargs root=/dev/nfs nfsroot=192.168.1.103:/nfs/root ip=192.168.1.18
setenv bootargs root=/dev/uba1 rootfstype=cramfs
setenv bootargs root=/dev/mtdblock1 rootfstype=cramfs
ip=192.168.1.18 console=ttySAC0,115200 mem=64M
netmask=255.255.255.0
stdin=serial
stdout=serial
stderr=serial
bootargs:
root=/dev/nfs nfsroot=192.168.1.103:/nfs/root ip=192.168.1.18
console=ttySAC0,115200 mem=64M(nfs文件系统)
root=/dev/mtdblock1 rw rootfstype=jffs2 console=ttySAC0,115200
mem=64M time(mtd文件系统,time显示启动花费时间)
root=/dev/ram0 rw initrd=0x21100000,0x709f0 rootfstype=jffs2
console=ttySAC0,115200 mem=64M
(这个比较BT ram0做文件系统 先吧 ramdisk加载到内存 不过调试的时候
很方便)
u-boot 读写flash命令:(写入前一定要擦除)
nand erase 0x3D00000 0x300000
nand write 0x22000000 0x3D00000 0x300000
对于 cramfs jffs2 镜像 都可以通过u-boot 的nand write 命令写入 nand !
不过写入 要与你的内核配置的nandflash分区对应上
mkfs.jffs2 -l --pagesize=0x200 --eraseblock=0x4000 --pad=0x30000 -d
jffs2 -o jffs2.img
#mkfs.jffs2 –d jffs2/ -o jffs2.img
#cp /var/tmp/jffs2/jffs2.img /dev/mtdblock1 (?/dev/mtd1)
#nandwrite –o /dev/mtd1 target.jffs2(另外一种写入nand的方法)
使用MTD工具中的mkfs.jffs2命令,具体做法如下:
mkfs.jffs2 -r 目录 -o rootfs.jffs2 -e 0x4000 --pad=0x500000 -s 0x200 -n
各参数的意义:
(1)-r : 指定要做成image的源资料夹.
(2)-o : 指定输出image档案的文件名.
(3)-e : 每一块要抹除的block size,预设是64KB.要注意,不同的flash,
其block size会不一样.我的是三星的K9F1208U0B.
(4)--pad (-p): 用16进制来表示所要输出档案的大小,也就是root.jffs2
的size。很重要的是, 为了不浪费flash空间, 这个值最好符合flash driver
所规划的区块大小.以我的板子来说,就是5MB.
(5)如果挂载后会出现类似:CLEANMARKER node found at 0x0042c000
has totlen 0xc != normal 0x0 的警告,则加上 -n 就会消失。
(6) 还有的选项,自己看帮助!-h
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/43090/showart_1935432.html |
|