当前位置: 技术问答>linux和unix
移植YAFFS2出现No init found错误
来源: 互联网 发布时间:2016-09-06
本文导语: 启动信息如下: Kernel command line: console=tty0 root=/dev/mtdblock4 rw rootfstype=yaffs2 NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit) Creating 5 MTD partitions on "davinci_nand.1": 0x000000000000-0x000000020000 :...
启动信息如下:
Kernel command line: console=tty0 root=/dev/mtdblock4 rw rootfstype=yaffs2
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
Creating 5 MTD partitions on "davinci_nand.1":
0x000000000000-0x000000020000 : "u-boot env"
0x000000020000-0x000000040000 : "UBL"
0x000000040000-0x0000000c0000 : "u-boot"
0x000000200000-0x000000600000 : "kernel"
0x000000600000-0x000040000000 : "filesystem"
davinci_nand davinci_nand.1: controller rev. 2.5
1yaffs: dev is 32505860 name is "mtdblock4"
yaffs: passed flags ""
VFS: Mounted root (yaffs2 filesystem) on device 31:4.
Freeing init memory: 448K
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
Backtrace:
我制作的方法:
1. 给内核打了yaffs补丁,并重编
2. 用tar 压缩我自己做的ROOTFS, 这个系统是可以启动到NFS的,所以东西是全的.
3. 用NFS启动, flash_eraseall /dev/mtd4
mount -t yaffs2 /dev/mtdblock4 /mnt
解压
umount
启动参数在上面的信息里有
硬件:
OMAPL138 + Linux2.6.33.rc4
Kernel command line: console=tty0 root=/dev/mtdblock4 rw rootfstype=yaffs2
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
Creating 5 MTD partitions on "davinci_nand.1":
0x000000000000-0x000000020000 : "u-boot env"
0x000000020000-0x000000040000 : "UBL"
0x000000040000-0x0000000c0000 : "u-boot"
0x000000200000-0x000000600000 : "kernel"
0x000000600000-0x000040000000 : "filesystem"
davinci_nand davinci_nand.1: controller rev. 2.5
1yaffs: dev is 32505860 name is "mtdblock4"
yaffs: passed flags ""
VFS: Mounted root (yaffs2 filesystem) on device 31:4.
Freeing init memory: 448K
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
Backtrace:
我制作的方法:
1. 给内核打了yaffs补丁,并重编
2. 用tar 压缩我自己做的ROOTFS, 这个系统是可以启动到NFS的,所以东西是全的.
3. 用NFS启动, flash_eraseall /dev/mtd4
mount -t yaffs2 /dev/mtdblock4 /mnt
解压
umount
启动参数在上面的信息里有
硬件:
OMAPL138 + Linux2.6.33.rc4
|
莫非 yaffs2与kernel不兼容?
你的 yaffs2补丁是从官方网站上下的么,严格按照yaffs2源代码包里的说明文件里打patch的过程操作吗?
你的 yaffs2补丁是从官方网站上下的么,严格按照yaffs2源代码包里的说明文件里打patch的过程操作吗?
|
从你的描许来看,似乎没有什么问题, 另外 kernel 启动时,mtdblock4 也挂上来了。
建议你从 nfs 启动,然后 在把 mtdblock4 挂上来,看看 这个分区里的内容正常不。
或者说你
mount -t yaffs2 /dev/mtdblock4 /mnt
那么 /mnt 这个目录下到底有没有 init 进程。
建议你从 nfs 启动,然后 在把 mtdblock4 挂上来,看看 这个分区里的内容正常不。
或者说你
mount -t yaffs2 /dev/mtdblock4 /mnt
那么 /mnt 这个目录下到底有没有 init 进程。
|
很奇怪的问题,我之前好像也遇到过。。
|
|
我们的系统也用yaffs2;但内核是打成cramfs的..
Kernel command line: root=/dev/tfsr6 rootfstype=cramfs console=tty0 console=ttySAC2,115200 init=/linuxrc no_console_suspend=1
Kernel command line: root=/dev/tfsr6 rootfstype=cramfs console=tty0 console=ttySAC2,115200 init=/linuxrc no_console_suspend=1
|
我以前遇到过,后来是怎么解决的也不记得了,注意u-boot和文件系统的匹配。