3.1 加入工程前的准備工作
執行 make s3c24x0_defconfig,加入配置,然后執行 make menuconfig
System configuration 中關掉配置 Init system 和 /bin/sh
Target packages 中關掉配置 BusyBox
Filesystem images 中關掉配置 tar the root filesystem
3.2 uboot 配置
uboot 的配置與 交叉編譯工具鏈相似。
make menuconfig 進入配置菜單中,在 bootloader 中進行配置,選中 U-boot ,就可以打開 U-boot 的配置了:
- Build system:uboot 的構建系統,早期的 uboot 並不像現在的版本一樣使用的是 kconfig,而是自定義的一套編譯機制。選擇 Kconfig
- U-Boot Version:uboot 的版本,里面包含一個最新版本,或者選擇本地的壓縮包,或者是自定義版,或者自定義的 git 版本,或者自定義的 Mercurial 版本,或者自定義的 svn 版本。一般我們都會對 uboot 進行改動,所以一般都是自定義的版本,當然選擇公版的話,就得自己打補丁,對我自己玩的版本來說,我是選擇 git 版本,我只需要維護我自己的 git 上面的 uboot 的版本即可。
- URL of custom repository:git 的地址,我填入的是自己的 git 版本地址。因為這個工程是私有的,需要輸入密碼和賬戶才能下載,所以不公開。這里填入的就是 git clone 后面的地址
- U-Boot configuration:
- Using an in-tree board defconfig file:使用 uboot 中的板defconfig文件
- Using a custom board (def)config file:使用自定義板配置文件
- 這兩個選項,一個是使用 uboot 中的 xxx_defconfig 文件,選擇這個后,后面需要提供一個uboot 中的 defconfig 文件,另一個選項,則是在 buildroot 中源碼樹中配置的。我的版本是選第一項
- U-Boot binary format:uboot 的二進制文件格式,一般都是選 bin 文件格式
- 至於其他選項,根據自己的工程進行配置即可。
3.3 編譯
配置完成后,保存配置,進行測試編譯。
編譯成功。
修改下Makefile 下的 distclean,刪除掉 uboot,因為 uboot 是通過單獨的 git 工程進行管理的,所以不需要。
執行 make update-defconfig 更新配置文件。執行 make distclean ,清除一下,上傳 git。
至於 Uboot 如何做前期修改之類的,查看博客:https://www.cnblogs.com/kele-dad/p/12791390.html