天天看點

對于Kernel panic - not syncing: No init found. Try passing init= option to kernel.出錯的一點總結!

 "mount_devfs_fs(): unable to mount devfs, err: -2"一個困擾了我很久的問題,主要是ecc的問題。    搞清楚你在driver/mtd/nand/s3c2410.c檔案中有沒有把NAND_ECC_SOFT改成NAND_ECC_NONE,這個網上不少的人都會做(聽說會與yaffs檔案系統有沖突,但我發現反而和cramfs檔案系統有沖突)。

    假設你把NAND_ECC_SOFT改成NAND_ECC_NONE,那[*]     Lets Yaffs do its own ECC 這一步是必需的。

    最後,如果你把NAND_ECC_SOFT改成NAND_ECC_NONE的話,那你下載下傳yaffs檔案系統的時候就不應該加上-e的參數了。

    這個東西由"mount_devfs_fs(): unable to mount devfs, err: -2"得來的.

   先讓核心挂載cramfs試試看(記得把NAND_ECC_SOFT改成NAND_ECC_NONE),因為這個檔案系統隻要用下載下傳核心的指令下載下傳就行,成功挂載cramfs的話将會是你最大的鼓舞

2  確定devfs修改正确.由于linux 2.6.12後取消了devfs,是以你自己在fs/kconfig裡面添加devfs的支援.

從2.6.12的fs/Kconfig中拷貝下面幾項到2.6.14的fs/Kconfig中去:

config DEVFS_FS

bool "/dev file system support (OBSOLETE)"

depends on EXPERIMENTAL

help

…………………………………………………

config DEVFS_MOUNT

bool "Automatically mount at boot"

depends on DEVFS_FS

help

………………………………………………….

config DEVFS_DEBUG

bool "Debug devfs"

depends on DEVFS_FS

help

…………………………………………………..

help 的部分就省了,在 2.6.12 核心的配置檔案會看得到,或者自己寫上去也行。

重新make menuconfig 在File systems->Pseudo filesystems目錄裡面可以後到devfs的配置選項如下:

[*] /proc file system support                                          │ │

[*] /dev file system support (OBSOLETE)                                │ │

[*]   Automatically mount at boot                                      │ │

[*]   Debug devfs                                                      │ │

[*] Virtual memory file system support (former shm fs)                 │ │

[ ] Relayfs file system support

因為在執行核心要結束的時候,要mount devfs,需要debug devfs!是以要加上去! 

Debug devfs 

繼續閱讀