三、buildroot 添加 uboot 工程
3.1 加入工程前的準(zhǔn)備工作
執(zhí)行 make s3c24x0_defconfig,加入配置,然后執(zhí)行 make menuconfig
System configuration 中關(guān)掉配置 Init system 和 /bin/sh
Target packages 中關(guān)掉配置 BusyBox
Filesystem images 中關(guān)掉配置 tar the root filesystem
3.2 uboot 配置
uboot 的配置與 交叉編譯工具鏈相似。
make menuconfig 進(jìn)入配置菜單中,在 bootloader 中進(jìn)行配置,選中 U-boot ,就可以打開 U-boot 的配置了:
- Build system:uboot 的構(gòu)建系統(tǒng),早期的 uboot 并不像現(xiàn)在的版本一樣使用的是 kconfig,而是自定義的一套編譯機(jī)制。選擇 Kconfig
- U-Boot Version:uboot 的版本,里面包含一個(gè)最新版本,或者選擇本地的壓縮包,或者是自定義版,或者自定義的 git 版本,或者自定義的 Mercurial 版本,或者自定義的 svn 版本。一般我們都會(huì)對(duì) uboot 進(jìn)行改動(dòng),所以一般都是自定義的版本,當(dāng)然選擇公版的話,就得自己打補(bǔ)丁,對(duì)我自己玩的版本來(lái)說(shuō),我是選擇 git 版本,我只需要維護(hù)我自己的 git 上面的 uboot 的版本即可。
- URL of custom repository:git 的地址,我填入的是自己的 git 版本地址。因?yàn)檫@個(gè)工程是私有的,需要輸入密碼和賬戶才能下載,所以不公開。這里填入的就是 git clone 后面的地址
- U-Boot configuration:
- Using an in-tree board defconfig file:使用 uboot 中的板defconfig文件
- Using a custom board (def)config file:使用自定義板配置文件
- 這兩個(gè)選項(xiàng),一個(gè)是使用 uboot 中的 xxx_defconfig 文件,選擇這個(gè)后,后面需要提供一個(gè)uboot 中的 defconfig 文件,另一個(gè)選項(xiàng),則是在 buildroot 中源碼樹中配置的。我的版本是選第一項(xiàng)
- U-Boot binary format:uboot 的二進(jìn)制文件格式,一般都是選 bin 文件格式
- 至于其他選項(xiàng),根據(jù)自己的工程進(jìn)行配置即可。

3.3 編譯
配置完成后,保存配置,進(jìn)行測(cè)試編譯。

編譯成功。

修改下Makefile 下的 distclean,刪除掉 uboot,因?yàn)?uboot 是通過(guò)單獨(dú)的 git 工程進(jìn)行管理的,所以不需要。

執(zhí)行 make update-defconfig 更新配置文件。執(zhí)行 make distclean ,清除一下,上傳 git。
至于 Uboot 如何做前期修改之類的,查看博客:http://www.rzrgm.cn/kele-dad/p/12791390.html

浙公網(wǎng)安備 33010602011771號(hào)