天嵌 ARM开发社区

 找回密码
 注册
查看: 2865|回复: 11

按照天嵌的移植手册走到12步就走不下去了,文件系统起不来

[复制链接]
achyh 发表于 2010-6-30 17:47:29 | 显示全部楼层 |阅读模式
本帖最后由 achyh 于 2010-6-30 18:01 编辑

linux2.6.30.4下按照新版教程制作文件系统,最后都会出现Warning: unable to open an initial console. Failed to execute /linuxrc.  Attempting defaults...                                                   
Kernel panic - not syncing: No init found.  Try passing init= option to kernel
文件权限都是777,编译器与编译内核一样的都是EABI4.3.3。实在不知道哪儿出问题,恳请高人指点

按照天嵌的移植手册走到12步就走不下去了,用的是2.6.30.4+256M nand

天嵌的移植手册有问题,2.6.30.4+256M,按照手册上的9.3节,内核选项应该选择硬件ECC校验。但是实际上选择以后,文件系统反而挂载不上。

使用天嵌提供的内核映像:zImage_2.6.30.4_A70_256MB_20091030.bin,加上我自己编译的文件系统,就能够加载启动起来。

请管理员解释一下,这个问题好多人遇到了。
亚瑟王 发表于 2010-6-30 21:10:21 | 显示全部楼层
按照附录5的配置单配置了试试。
 楼主| achyh 发表于 2010-7-1 15:37:52 | 显示全部楼层
我按照附录五的配置项重新配置了内核选项,编译出一个内核映像——self-kernel,按照手册制作的文件系统——self-root。把这两个依次烧到板子上,内核能启动,文件系统能挂载,但是还是老问题Failed to execute /linuxrc.
选择天嵌提供的出厂映像,内核使用的是zImage_2.6.30.4_A70_256MB_20091030.bin
文件系统使用的是root_qtopia_2.2.0_2.6.30.4_256MB_20091216.bin
用两套内核和文件系统做了如下实验:
          |        self-kernel                              |     tq-kernel
------------|-----------------------------------------------|-----------------------------------
self-root  |     内核能启动,文件系统能挂载,       |内核能启动,文件系统能挂载,  
          |  但是还是老问题Failed to execute       |系统能够启动,进入控制台。隔一定时间自动
               |    /linuxrc.                                         |重启,是因为文件系统为启动喂狗程序
- ------------------ --------------------------------------|-------------------------------------
               |      内核能启动,文件系统能挂载         |一切正常,能够启动进入图形界面
tq-root    |       系统能够启动,进入控制台操作      |
               |       正常                                             |
————————————————————————————————————————————
可以看出,只是自己编的内核和文件系统搭配不灵。
纠结好几天了,亚瑟王给指点下吧。
亚瑟王 发表于 2010-7-2 10:12:47 | 显示全部楼层
扯了,用TQ2440配套的内核和文件系统+你的就可以启动。把你的内核配置单贴上来。
 楼主| achyh 发表于 2010-7-3 11:00:12 | 显示全部楼层
4# 亚瑟王

您好,附件里是我板子上启动时打印的信息。有四个txt文件,分别代表四种kernel和root的组合。
tqkernel——zImage_2.6.30.4_A70_256MB_20091030.bin
tqroot——root_qtopia_2.2.0_2.6.30.4_256MB_20091216.bin
kernel_21——自己编的kernel,到手册第21步
root_21——自己编的文件系统,到手册第21步

还有一个.config文件是我配置内核的配置文件。
请帮忙看看是什么问题?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
亚瑟王 发表于 2010-7-3 21:25:30 | 显示全部楼层
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 480K
mount: mounting tmpfs on /tmp failed: No such file or directory
mount: can't find devpts/dev/pts in /etc/fstab
usbcore: registered new interface driver rt73usb
这段信息出现在TQ2440的内核挂载你的文件系统上,检查一下你的文件系统的etc目录下的fstab文件。

内核配置单没有发现什么问题。
 楼主| achyh 发表于 2010-7-6 15:35:44 | 显示全部楼层
“mount: can't find devpts/dev/pts in /etc/fstab”这句是因为我的init.d/rcS文件里面拼写错误“mount -t devpts devpts/dev/pts” 后面的devpts后面没有跟空格,这地方改过来了。重新生成了文件系统,配合天嵌的内核,mount不上的提示已经没有了,系统任然能够启动。
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 480K
usbcore: registered new interface driver rt73usb
usbcore: registered new interface driver zd1211rw

Please press Enter to activate this console. Try to bring eth0 interface up ...
ifconfig eth0 hw ether 10:23:45:67:89:ab
eth0: link down
ifconfig eth0 192.168.1.6 netmask 255.255.255.0 up
add default gw 192.168.1.2
Done

[root@EmbedSky/]#

但是配合自己的内核,还是启动不了:
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 480K
Failed to execute /linuxrc.  Attempting defaults...
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
Backtrace:
[<c0084fd4>] (dump_backtrace+0x0/0x10c) from [<c02fc67c>] (dump_stack+0x18/0x1c)
r7:00000000 r6:c0403860 r5:c0403220 r4:c03dc248
[<c02fc664>] (dump_stack+0x0/0x1c) from [<c02fc6cc>] (panic+0x4c/0x124)
[<c02fc680>] (panic+0x0/0x124) from [<c00804f0>] (init_post+0xec/0x178)
r3:00000000 r2:c3856e00 r1:c0437000 r0:c0383eec
[<c0

应该不是fstab引起的吧
亚瑟王 发表于 2010-7-6 19:58:55 | 显示全部楼层
把你的文件系统源文件和你的内核打包了发到这个QQ上吧:896561616
 楼主| achyh 发表于 2010-7-7 11:08:18 | 显示全部楼层
8# 亚瑟王

我已经把源码打包发到指定qq号的邮箱里去了,谢谢!
亚瑟王 发表于 2010-7-8 11:51:05 | 显示全部楼层
好的。
亚瑟王 发表于 2010-7-9 12:16:20 | 显示全部楼层
我用你提供的内核重新编译后,用你给的文件系统重新压制后,烧写到TQ2440开发板中,运行正常。
使用的是Nand Flash256MB版本的开发板测试的。
 楼主| achyh 发表于 2010-7-9 16:25:31 | 显示全部楼层
谢谢!这个问题经过亚瑟王确认,属于我的开发板上烧的uboot版本太老(光盘中自带的20091031),在论坛上下了最新的20100601的uboot,重新烧进去,启动正常了。老版本uboot对256M的nand分区不对。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-9-19 15:54 , Processed in 1.042033 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表