uboot啓動Linux內核時undefined instruction錯誤

錯誤描述

U-Boot 1.1.6 (Oct 18 2011 - 15:23:51) for FriendlyARM MINI6410


CPU:     S3C6410@532MHz
         Fclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (SYNC Mode) 
Board:   MINI6410
DRAM:    256 MB
Flash:   0 kB
NAND:    256 MB 
In:      serial
Out:     serial
Err:     serial
MAC: 08:90:90:90:90:90
Hit any key to stop autoboot:  0 

NAND read: device 0 offset 0x80000, size 0x500000
........................................ 5242880 bytes read: OK
## Booting image at c0008000 ...
Boot with Image

Starting kernel ...

undefined instruction
pc : [<50008004>]	   lr : [<c7e209c8>]
sp : c7fffe14  ip : 000000ff	 fp : 00000000
r10: c7e609a3  r9 : 00000000	 r8 : 7a176bfd
r7 : c7e442c0  r6 : 00000000	 r5 : c7e5ffb8  r4 : 00000000
r3 : 50008000  r2 : 50000100	 r1 : 000009d8  r0 : 00000000
Flags: nZCv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...

reset... 

  

解決辦法

  致使這個錯誤的緣由是燒入Uboot的時候沒有從新燒入linux內核,致使uboot啓動的時候找不到Linux內核,燒入uboot的時候從新燒入Linux內核就能夠了。可是坑爹的我在查找問題的時候修改了Linux內核的啓動參數,致使在Linux啓動到init進程的時候啓動失敗了。如今先看一下uboot相關的選項和參數:linux

U-Boot 1.1.6 (Oct 18 2011 - 15:23:51) for FriendlyARM MINI6410


CPU:     S3C6410@532MHz
         Fclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (SYNC Mode) 
Board:   MINI6410
DRAM:    256 MB
Flash:   0 kB
NAND:    256 MB 
In:      serial
Out:     serial
Err:     serial
MAC: 08:90:90:90:90:90
Hit any key to stop autoboot:  0 
##### FriendlyARM U-Boot(2011-10, NAND) for 6410 #####
[f] Format the nand flash
[v] Download u-boot.bin
[k] Download Linux/Android kernel
[y] Download root yaffs2 image
[u] Download root ubifs image
[a] Download Absolute User Application
[n] Download Nboot.nb0 for WinCE
[w] Download WinCE NK.nb0
[s] Set the boot parameter of Linux 
[b] Boot Linux
[q] Quit to shell
NAND(SLC): 256 MiB, RAM: 256 MiB
Enter your Selection:


##s這個選項是設置Linux啓動的參數,一旦選中它,輸入的任何字符都會被當作Linux參數保存哦,就算輸入一個字符q,而後按回車,你認爲想退出,其實它已經把q當作Linux的參數保存了,再次啓動Linux的時候就可能出問題,除非只是單獨的按回車。這是能夠輸入q,進入Quit to shell選項,在這裏輸入help,能夠看到幫助命令,還能夠在這裏看到Linux的輸入選項呢。

  這裏只因此出現init進程跑失敗,是由於Linux啓動參數設置的文件系統和實際燒入的文件系統不匹配,因此必定要對照好兩個。shell

相關文章
相關標籤/搜索