u-boot分析與使用—u-boot編譯體驗
- 硬件平臺:韋東山嵌入式Linxu開發板(S3C2440.v3)
- 軟件平臺:運行於VMware Workstation 12 Player下UbuntuLTS16.04_x64 系統
- 參考資料:《嵌入式Linux應用開發手冊》、《嵌入式Linux應用開發手冊第2版》
- 開發環境:Linux 2.6.22.6 內核、arm-linux-gcc-3.4.5-glibc-2.3.6工具鏈
目錄
一、u-boot的目的
1、對比理解u-boot
-
對於常用的電腦:
1、一上電啓動BIOS:目的是引導操作系統
2、操作系統:識別出各種硬盤
3、通過硬盤運行各種應用程序 -
對於嵌入式Linux開發板
1、一上電啓動bootloader:目的是啓動內核
2、內核啓動之後,掛接根文件系統
3、通過根文件系統可以運行各種應用程序
2、u-boot實現的功能
我們可以把bootloader理解成一個複雜的單片機程序,它主要實現以下功能:
二、u-boot的編譯
1、解壓縮
上傳壓縮文件u-boot-1.1.6.tar.bz2
與補丁文件u-boot-1.1.6_jz2440.patch
到/work/system
目錄下,使用tar xjf u-boot-1.1.6.tar.bz2
解壓縮,得到如下文件夾:
2、打補丁
- 補丁是什麼?
補丁文件是開發者根據自身使用的情況,對Linux系統內部進行修改的文件,在軟件發佈時,我們可以直接發佈補丁文件,對於系統的源碼文件可以不必發佈。 - 怎麼打補丁?
在/work/system/u-boot-1.1.6
目錄下運行,patch -p1 < ../u-boot-1.1.6_jz2440.patch
1、首先我們打開補丁文件
2、由於已經在/work/system/u-boot-1.1.6
目錄下,命令patch -p1 < ../u-boot-1.1.6_jz2440.patch
中的-p1就是忽略第一個目錄
。 - 成功的畫面
3、配置u-boot
- 目的:需要u-boot支持多種單板,實現這個首先需要配置u-boot
- 在
/work/system/u-boot-1.1.6
目錄下,直接執行make 100ask24x0_config
- 成功的畫面
4、編譯u-boot
- 在
/work/system/u-boot-1.1.6
目錄下,直接執行make
- 成功的畫面
三、燒寫u-boot.bin
- 把編譯出來的u-boot.bin文件燒寫到開發版中,這個界面就是u-boot界面
- 對於u-boot中的命令,我們可以通過輸入
?
或help
得到
- 對於某個命令的具體用法可以輸入
?+ 具體命令