移植了2.6.20的内核,打上yaffs2的补丁,配置好。用vivi下载制作好的yaffs文件系统映像,发现不能启动,听网友说这是mkyaffsimage这个制作工具有问题,怎奈何没有vivi的yaffs补丁,也就不能修改其与内核相符合。但yaffs文件系统还是要用的,根据各位网友提供的资料,用另一个方法用上了yaffs文件系统。
1.移植内核的时候,不要选上Let Yaffs do its own ECC。在在nand driver的里用的NAND_ECC_SOFT
2.通过nfs启动系统后,mount -t yaffs /dev/mtdblock2 /mnt。 /dev/mtdblock2当然是我将要使用yaffs的root分区了。这时会在/mnt下看到lost+fount目录
3.cp文件系统到/mnt目录中。注意了,不要cp那些busybox的链接文件。否则文件太大会超过nand的容量(我的nand 64m)
4.上一步没有cp哪些链接文件,但这样是不能启动系统的,现在我们来建立这些命令的链接:
cd /mnt/bin
ln /mnt/bin/busybox ed
ln /mnt/bin/busybox length
ln /mnt/bin/busybox ps
ln /mnt/bin/busybox tar
ln /mnt/bin/busybox egrep
ln /mnt/bin/busybox less
ln /mnt/bin/busybox pscan
ln /mnt/bin/busybox pcpsvd
ln /mnt/bin/busybox addgroup
ln /mnt/bin/busybox env
ln /mnt/bin/busybox linux32
ln /mnt/bin/busybox pwd
ln /mnt/bin/busybox tee
ln /mnt/bin/busybox adduser
ln /mnt/bin/busybox envdir
ln /mnt/bin/busybox linux64
ln /mnt/bin/busybox readlink
ln /mnt/bin/busybox test
ln /mnt/bin/busybox realpath
ln /mnt/bin/busybox expand
ln /mnt/bin/busybox login
ln /mnt/bin/busybox basename
ln /mnt/bin/busybox resize
ln /mnt/bin/busybox ls
ln /mnt/bin/busybox rmdir
ln /mnt/bin/busybox touch
ln /mnt/bin/busybox bzip2
ln /mnt/bin/busybox find
ln /mnt/bin/busybox mesg
ln /mnt/bin/busybox true
ln /mnt/bin/busybox cat
ln /mnt/bin/busybox chmod
ln /mnt/bin/busybox chown
ln /mnt/bin/busybox mknod
ln /mnt/bin/busybox more
ln /mnt/bin/busybox mountpoint
ln /mnt/bin/busybox tty
ln /mnt/bin/busybox umount
ln /mnt/bin/busybox uname
ln /mnt/bin/busybox grep
ln /mnt/bin/busybox cp
ln /mnt/bin/busybox dd
ln /mnt/bin/busybox date
ln /mnt/bin/busybox id
ln /mnt/bin/busybox nice
ln /mnt/bin/busybox sleep
ln /mnt/bin/busybox setuidgid
ln /mnt/bin/busybox setsid
ln /mnt/bin/busybox sort
ln /mnt/bin/busybox vi
ln /mnt/bin/busybox unzip
ln /mnt/bin/busybox usleep
ln /mnt/bin/busybox last
ln /mnt/bin/busybox sync
ln /mnt/bin/busybox kill
ln /mnt/bin/busybox wget
ln /mnt/bin/busybox which
ln /mnt/bin/busybox who
ln /mnt/bin/busybox xargs
ln /mnt/bin/busybox ash
ln /mnt/bin/busybox sh
ln /mnt/bin/busybox hostname
ln /mnt/bin/busybox id
cd ../sbin
ln /mnt/bin/busybox ifconfig ln /mnt/bin/busybox modprobe ln /mnt/bin/busybox chroot ln /mnt/bin/busybox sulogin ln /mnt/bin/busybox poweroff ln /mnt/bin/busybox insmod ln /mnt/bin/busybox halt ln /mnt/bin/busybox reboot ln /mnt/bin/busybox rmmod ln /mnt/bin/busybox route ln /mnt/bin/busybox swapon ln /mnt/bin/busybox swapoff
ln /mnt/bin/busybox mdev
ln /mnt/bin/busybox getty
ln /mnt/bin/busybox init
|
注意了,这里建立的硬链接,开始我用ln -s建立软链接,启动系统的时候提示could not run '/etc/init.d/rcS':
No such file or
directory。后来改为硬链接就好了。不知这时为何。。。
5.vivi中输入param set linux_cmd_line "noinitrd console=ttySAC0,115200
init=/linuxrc root=/dev/mtdblock2 rootfstype=yaffs mem=64M"启动系统,OK。
阅读(1956) | 评论(0) | 转发(0) |