歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

U-Boot環境變量錯誤導致Linux系統掛載根文件系統失敗

u-boot環境變量錯誤導致:Kernel panic: No init found. Try passing init=option to kernel
由於之前需要增大內核分區而修改環境變量,但是修改後的環境變量適應於大於2M的內核運行,當運行小於2M的內核時,環境變量指定的地址和內核相對應的地址內容不匹配導致根文件系統掛載失敗,最終使用nor flash中的u-boot啟動,用nand erase params指令擦除nand flash中保存環境變量的區域,迫使系統應用新燒寫u-boot的默認環境變量之後問題解決,從新燒寫u-boot、uImage、rootfs後系統掛載成功。

U-Boot源代碼下載地址 http://www.linuxidc.com/Linux/2011-07/38897.htm

默認環境變量如下:

OpenJTAG> print
bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0
bootcmd=nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0
bootdelay=2
baudrate=115200
ethaddr=08:00:3e:26:0a:5b
ipaddr=192.168.7.17
serverip=192.168.7.11
netmask=255.255.255.0
stdin=serial
stdout=serial
stderr=serial
mtdids=nand0=nandflash0
mtdparts=mtdparts=nandflash0:256k@0(bootloader),128k(params),2m(kernel),-(root)
partition=nand0,0
mtddevnum=0
mtddevname=bootloader


Environment size: 443/131068 bytes
OpenJTAG> mtd


device nand0 , # parts = 4
 #: name                        size            offset          mask_flags
 0: bootloader          0x00040000      0x00000000      0
 1: params              0x00020000      0x00040000      0
 2: kernel              0x00200000      0x00060000      0
 3: root                0x0fda0000      0x00260000      0


active partition: nand0,0 - (bootloader) 0x00040000 @ 0x00000000


defaults:
mtdids  : nand0=nandflash0
mtdparts: mtdparts=nandflash0:256k@0(bootloader),128k(params),2m(kernel),-(root)

 

Copyright © Linux教程網 All Rights Reserved