当前位置: 技术问答>linux和unix
arm上启动内核问题
来源: 互联网 发布时间:2017-01-18
本文导语: yaffs_read_super: isCheckpointed 0 VFS: Mounted root (yaffs filesystem) readonly on device 31:2. Freeing init memory: 144K Warning: unable to open an initial console. Failed to execute /linuxrc,115200. Attempting defaults... Kernel panic - not syncing: N...
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) readonly on device 31:2.
Freeing init memory: 144K
Warning: unable to open an initial console.
Failed to execute /linuxrc,115200. Attempting defaults...
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
[] (unwind_backtrace+0x0/0xdc) from [] (panic+0x40/0x118)
[] (panic+0x40/0x118) from [] (init_post+0xcc/0xf4)
[] (init_post+0xcc/0xf4) from [] (kernel_init+0xdc/0x10c)
[] (kernel_init+0xdc/0x10c) from [] (kernel_thread_exit+0x0/0x8)
linux_cmd_line="root=/dev/mtdblock2 init=/linuxrc,115200 console=ttySAC0"
各位请帮忙看一下,问题何在?如何解决?
VFS: Mounted root (yaffs filesystem) readonly on device 31:2.
Freeing init memory: 144K
Warning: unable to open an initial console.
Failed to execute /linuxrc,115200. Attempting defaults...
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
[] (unwind_backtrace+0x0/0xdc) from [] (panic+0x40/0x118)
[] (panic+0x40/0x118) from [] (init_post+0xcc/0xf4)
[] (init_post+0xcc/0xf4) from [] (kernel_init+0xdc/0x10c)
[] (kernel_init+0xdc/0x10c) from [] (kernel_thread_exit+0x0/0x8)
linux_cmd_line="root=/dev/mtdblock2 init=/linuxrc,115200 console=ttySAC0"
各位请帮忙看一下,问题何在?如何解决?
|
linux_cmd_line="root=/dev/mtdblock2 init=/linuxrc,115200 console=ttySAC0"
改为
linux_cmd_line="root=/dev/mtdblock2 init=/linuxrc console=ttySAC0,115200"
改为
linux_cmd_line="root=/dev/mtdblock2 init=/linuxrc console=ttySAC0,115200"
|
原来是mini2440啊
根据Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 看得出内核镜像分区大小是5m
而老版本的内核镜像只有2m大
如果你是1G NAND的那种mini2440,直接烧最新的光盘里的就好了(vivi、linux、yaffs全部更新)
如果是老的64M NAND的mini2440,最新光盘里的内核镜像是不能用的,需要手动更改源码里分区的大小
现在Failed to execute /linuxrc. Attempting defaults... 的问题,明确是内核认为的yaffs镜像开始的地址跟vivi把yaffs实际烧写到的地址不一致。
该内核源码或者vivi,让这个地址一致就好了
根据Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 看得出内核镜像分区大小是5m
而老版本的内核镜像只有2m大
如果你是1G NAND的那种mini2440,直接烧最新的光盘里的就好了(vivi、linux、yaffs全部更新)
如果是老的64M NAND的mini2440,最新光盘里的内核镜像是不能用的,需要手动更改源码里分区的大小
现在Failed to execute /linuxrc. Attempting defaults... 的问题,明确是内核认为的yaffs镜像开始的地址跟vivi把yaffs实际烧写到的地址不一致。
该内核源码或者vivi,让这个地址一致就好了
|
在启动信息里,通篇没有找到mtd被检测到的消息
你的内核里是否把mtd驱动选中
你的内核里是否把mtd驱动选中
|
不介意的话,看看我整理的移植文章,没有可以宣传。呵呵,很认证的记录了我移植过程中的问题。
(ps:这个问题是内核移植中的经典问题,文章中有提到,本人比较笨,走了不少弯路,但是把走的弯路都记录下来了……)
http://blog.csdn.net/dreambegin/article/details/6904822
(ps:这个问题是内核移植中的经典问题,文章中有提到,本人比较笨,走了不少弯路,但是把走的弯路都记录下来了……)
http://blog.csdn.net/dreambegin/article/details/6904822