Linux内核恐慌

时间:2013-11-27 05:22:53

标签: linux linux-kernel embedded kernel embedded-linux

启动linux时,我在控制台上获得了以下打印件,系统挂起。

Waiting for root device /dev/mmcblk0p2...
mmc_host mmc0: Bus speed (slot 0) = 12500000Hz (slot req 12500000Hz, actual 12500000HZ div = 0)
mmc0: new high speed SDHC card at address aaaa
mmcblk0: mmc0:aaaa SU04G 3.69 GiB
 mmcblk0: p1 p2 p3
JBD: no valid journal superblock found
EXT3-fs (mmcblk0p2): error loading journal
EXT2-fs (mmcblk0p2): warning: mounting ext3 filesystem as ext2
EXT2-fs (mmcblk0p2): warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem) on device 179:2.
EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode referenced: 57345
devtmpfs: error mounting -5
Freeing init memory: 176K
EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode referenced: 49155
EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode referenced: 40961
EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode referenced: 49155
Kernel panic - not syncing: No init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
[<80016504>] (unwind_backtrace+0x0/0xf8) from [<80427c0c>] (panic+0x98/0x1f8)
[<80427c0c>] (panic+0x98/0x1f8) from [<804198c4>] (kernel_init+0x36c/0x380)
[<804198c4>] (kernel_init+0x36c/0x380) from [<8000e798>] (ret_from_fork+0x14/0x3c)
CPU1: stopping
[<80016504>] (unwind_backtrace+0x0/0xf8) from [<80014a64>] (handle_IPI+0x140/0x16c)
[<80014a64>] (handle_IPI+0x140/0x16c) from [<80008538>] (gic_handle_irq+0x58/0x5c)
[<80008538>] (gic_handle_irq+0x58/0x5c) from [<8000e340>] (__irq_svc+0x40/0x50)
Exception stack(0xbf87ff90 to 0xbf87ffd8)
ff80:                                     00000001 00000000 00000000 00000000
ffa0: bf87e000 805cd2c8 8042d158 805a60e0 0000406a 413fc090 00000000 00000000
ffc0: 00000000 bf87ffd8 8000f8c4 8000f8c8 60000113 ffffffff
[<8000e340>] (__irq_svc+0x40/0x50) from [<8000f8c8>] (default_idle+0x2c/0x30)
[<8000f8c8>] (default_idle+0x2c/0x30) from [<8000fa58>] (cpu_idle+0xb8/0xe8)
[<8000fa58>] (cpu_idle+0xb8/0xe8) from [<004245a8>] (0x4245a8)

我认为这是由于一些不正确的启动参数。

如何解决?

以下是我的printenv(启动参数):

ECC_SDRAM=0
ECC_SDRAM_DBE=0
ECC_SDRAM_SBE=0
baudrate=57600
bootargs=console=ttyS1,57600
bootcmd=run mmcload; run mmcboot
bootdelay=5
bootimage=uImage
bootimagesize=0x600000
ethact=mii0
fdtaddr=0x00000100
fdtimage=socfpga.dtb
fdtimagesize=0x2000
fpga=0
fpgadata=0x2000000
fpgadatasize=0x700000
init=/bin/busybox
loadaddr=0x7fc0
mmcboot=setenv bootargs console=ttyS0,57600 root=${mmcroot} rw rootwait;bootm ${loadaddr} - ${fdtaddr}
mmcload=mmc rescan;${mmcloadcmd} mmc 0:${mmcloadpart} ${loadaddr} ${bootimage};${mmcloadcmd} mmc 0:${mmcloadpart} ${fdtaddr} ${fdtimage}
mmcloadcmd=fatload
mmcloadpart=1
mmcroot=/dev/mmcblk0p2
netboot=dhcp ${bootimage} ; tftp ${fdtaddr} ${fdtimage} ; run ramboot
qspiboot=setenv bootargs console=ttyS0,57600 root=${qspiroot} rw rootfstype=${qspirootfstype};bootm ${loadaddr} - ${fdtaddr}
qspibootimageaddr=0xa0000
qspifdtaddr=0x50000
qspiload=sf probe ${qspiloadcs};sf read ${loadaddr} ${qspibootimageaddr} ${bootimagesize};sf read ${fdtaddr} ${qspifdtaddr} ${fdtimagesize};
qspiloadcs=0
qspiroot=/dev/mtdblock1
qspirootfstype=jffs2
ramboot=setenv bootargs console=ttyS0,57600;bootm ${loadaddr} - ${fdtaddr}
stderr=serial
stdin=serial
stdout=serial
verify=n

Environment size: 1261/4092 bytes

这里有什么问题? (我从MMC启动) 我该如何纠正这个错误?

1 个答案:

答案 0 :(得分:1)

我认为系统不知道文件系统。

尝试将MMC上的文件系统更改为ext3 / NTFS