天天看點

s5pv210_BV3S刷機問題總結1

本文主要解決的問題是,s5pv210_BV3S刷完機後系統無法完整啟動,并且進入無限重新開機的狀态。

實驗材料:朱有鵬老師嵌入式核心課程配套的開發闆(s5pv210_BV3S)和鏡像(linux+QT4.8)

正确刷機步驟如下:

(1)、刷目錄:朱有鵬老師嵌入式核心課程\不同版本開發闆刷機看這裡\X210V3S鏡像\linux+QT4.8

中的uboot.bin。

(2)、運作uboot,在指令行中輸入fdisk -c 0去重新分區,然後再fastboot。

s5pv210_BV3S對應的rootfs有256MB左右,而之前的uboot中對inand的system分區隻有100多MB确實放不下。在這個新提供的uboot.bin中已經重新設定了分區資訊,隻需要fdisk -c 0來重新對inand分區即可。

(3)、在指令行下刷kernel和rootfs(所用檔案都在(1)中目錄去找)。

(4)、設定bootcmd和bootargs,在uboot的shell下輸入以下三行指令:

set bootcmd 'movi read kernel 30008000; bootm 30008000'

set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3

save

其中:save一定不能少,沒儲存的話,重新開機系統會從Flash中重新讀一份到記憶體中,原設定值丢失。

沒有save,以上環境變量設定丢失,會找不到根檔案,出現以下錯誤:

[    5.542799] VFS: Cannot open root device "(null)" or unknown-block(0,0)

[    5.549251] Please append a correct "root=" boot option; here are the available partitions:

[    5.557587] b300         3866624 mmcblk0 driver: mmcblk

[    5.562744]   b301          264495 mmcblk0p1

[    5.566990]   b302          264495 mmcblk0p2

[    5.571235]   b303          105798 mmcblk0p3

[    5.575482]   b304         3207946 mmcblk0p4

[    5.579729] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

這個錯誤對應的現象就是,系統進入無線重新開機狀态,運作一會兒後就會rebooting。

上面配置的環境變量bootcmd和bootargs含義如下:

bootcmd=movi read kernel 30008000; bootm 30008000   

意思是:将iNand的kernel分區讀取到DDR記憶體的0x30008000位址處,

然後使用bootm啟動指令從記憶體0x30008000處去啟動核心。

bootargs=console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3

意思是:console=ttySAC2,115200 控制台使用序列槽2,波特率115200.

root=/dev/mmcblk0p2 rw根檔案系統在SD卡端口0裝置(iNand)第2分區,根檔案系統是可讀可寫的

init=/linuxrc linux的程序1(init程序)的路徑 rootfstype=ext3 根檔案系統的類型是ext3