+ -
当前位置:首页 → 问答吧 → 嵌入式2.6.19内核移植问题

嵌入式2.6.19内核移植问题

时间:2008-12-23

来源:互联网

本人在i.MX21平台上进行linux2.6.19内核的移植的时候,系统跑到挂载文件系统的时候出现了问题。如下:
[   52.310000]  Intel/Sharp Extended Query Table at 0x0031
U[   54.310000] Using buffer write method
53.320000] cfi_cmdset_0001: Erase suspend on write enabled
53.330000] RedBoot partition parsing not available
U[   53.330000] Creating 3 MTD partitions on "mxc_nor_flash.0":
U[   53.340000] 0x00000000-0x00100000 : "bootloader"
U[   53.340000] ftl_cs: FTL header not found.
U[   53.350000] 0x00100000-0x00300000 : "kernel"
U[   53.360000] ftl_cs: FTL header not found.
U[   53.360000] 0x00300000-0x02000000 : "file system"
U[   53.370000] ftl_cs: FTL header not found.
U[   54.380000] mice: PS/2 mouse device common for all mice
U[   54.390000] i2c /dev entries driver
U[   54.390000] TCP cubic registered
U[   54.400000] NET: Registered protocol family 1
U[   54.400000] NET: Registered protocol family 17
U[   54.420000] Time: mx27_hrt clocksource has been installed.
U[   52.440000] VFS: Mounted root (cramfs filesystem) readonly.
U[   54.450000] Freeing init memory: 92K
U[   52.450000] Warning: unable to open an initial console.
[   52.480000] Failed to execute /linuxrc.  Attempting defaults...
[   48.490000] Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
[   52.500000]

听说2.6内核在做文件系统的时候要在/dev/目录来创建:
sudo mknod console c 5 1
sudo mknod null c 1 3
但烧进内核后,出现:
......
[   54.390000] TCP cubic registered
[   54.400000] NET: Registered protocol family 1
[   54.400000] NET: Registered protocol family 17
[   54.420000] Time: mx27_hrt clocksource has been installed.
romfsU0U0000] No filesystem could mount root, tried: U
[   48.570000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
[   52.580000]

不知是文件系统的问题,用在linux2.4.20下移植成功的cramfs文件系统后出现:
......
c02aa3b0 U000] bf60: U
c00764e8 U000] bf80: U
c003aa34 U000] bfa0: U
00000000 U000] bfc0: U
ffffffff U000] bfe0: U
[   52.470000] Backtrace: U
(tty_open+0x124/0x2e8)9b4>] U
(chrdev_open+0x114/0x148)>] U
(__dentry_open+0xd0/0x1ac)] U
r4 = C2C4D2A0 Ur7 = C2C0C2A0 U
(nameidata_to_filp+0x34/0x48)
(do_filp_open+0x44/0x4c)x48) U
[   52.470000]  r4 = 00000002 U
(do_sys_open+0x54/0xe0) U>] U
r4 = 00000002 Ur5 = 00000000 U
(sys_open+0x24/0x28)0) U8>] U
r5 = C001C364 Ur8 = 00000000 U
[   52.470000]  r4 = C02AA3B0 U
(init+0x18c/0x278)U U65cc>] U
(do_exit+0x0/0x780)01f02c>] U
r4 = 00000000 Ur7 = 00000000 U
(e59030a0) U0] Code: U
<0>Kernel panic - not syncing: Attempted to kill init!
[   52.880000]
出现以上情况不知道是串口问题还是自己做的根文件系统问题或其他问题?望高手指点,谢谢......      

作者: cao5170   发布时间: 2008-12-23

首先确定您的root设备是什么,其次确定kernel中built-in root设备的驱动,最后确定支持root设备上的文件系统!      

作者: 风雪狂客   发布时间: 2008-12-26

root=/dev/mtdblock2,应该是正确的,如果不正确就根本系统跑不起来,我想问下系统初始化完成挂载文件系统进入用户终端是不是要另外一套串口驱动?还是文件系统本身的问题?谢谢!!      

作者: cao5170   发布时间: 2008-12-26

何为系统跑起来?Linux 系统引导  boot-loader->kernel->rootfs三个部分!
从提示看,只是kernel正确引导,提示了挂载rootfs成功,那么rootfs明显有问题!      

作者: 风雪狂客   发布时间: 2008-12-26

我也怀疑是我做的跟文件系统有问题,不知楼主是否有2.6内核下可用的cramfs,我的邮箱是mulianca*@126.com,将不胜感激,谢谢.....

      

作者: cao5170   发布时间: 2008-12-26

不好意思,上面邮箱没显示出来,是mulianca*@126.com      

作者: cao5170   发布时间: 2008-12-26