Linux内核 网卡 和 jffs2 移植(3)

制作jffs2根文件系统

准备一个可用的根文件系统,建议在次用nfs挂载,以确认文件系统没问题
做好的文件系统如下
root@linuxidc:/source/workplace/rootfs# ls
bin  dev  etc  inittab  lib  linuxrc  mnt  proc  root  sbin  sys  tmp  usr  var
root@linuxidc:/source/workplace/rootfs# cd ..
用mkfs.jffs2制作jffs2文件系统
root@linuxidc:/source/workplace# mkfs.jffs2 -r rootfs/ -o rootfs.jffs2 -e 0x4000 --pad=0x800000 -n
参看一下
root@linuxidc:/source/workplace# ls -lh
是否有
-rw-r--r--  1 root root 8.0M 2010-12-24 18:22 rootfs.jffs2
复制制作好的rootfs.jffs2到tftp服务器的共享目录
root@linuxidc:/source/workplace# cp rootfs.jffs2 /tftpboot/

用u-boot启动内核并加载jffs2文件系统
在u-boot下,用tftp下载rootfs.jffs2
TFTP from server 192.168.2.5; our IP address is 192.168.2.100
Filename 'rootfs.jffs2'.
Load address: 0x30008000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##############
done
Bytes transferred = 8388608 (800000 hex)
擦除nandflash的一篇区域,注意这篇区域的起始地址必须是一个分区的起始地址
这里用的是nandflash的第3个分区([2]从0开始算的),参看前面一直nandflash驱动时,建立的nandflash分区表
120         [2] = {
121                 .name   = "root",
122                 .offset = 0x00200000,
123                 .size   = 0x00800000,
124         },
jollen.org # nand erase 200000 800000   // 如果上面的offset改了,这里的起始地址也需要作相应的修改

NAND erase: device 0 offset 2097152, size 8388608 ... OK
将刚才通过tftp下载到30008000地址的文件系统写到nandflash中
jollen.org # nand write 30008000 200000 800000

NAND write: device 0 offset 2097152, size 8388608 ...  8388608 bytes written: OK
设置linux内核的启动命令和参数
setenv bootcmd tftp 30008000 zImage\; go 30008000
setenv bootargs root=/dev/mtdblock2 rootfstype=jffs2 rw console=ttySAC0,115200 init=/linuxrc mem=64M
保存
saveenv
启动
boot
耐心等待内核启动,在启动最后,如果能看到下面这行
Please press Enter to activate this console.
恭喜您,已经成功了,回车就能进入命令行。比如我的
[root@linuxidc/root]#

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwsdxj.html