|
【接上一章節(jié)MY-SAMA5 Linux-3.18 編譯手冊(1)】
4 u-boot編譯
4.1 準備源碼
1)下載源碼
文件名:u-boot-at91-linux4sam_4.7.tar.bz2
U-Boot在Atmel AT91 SoC上作為第三階段引導加載程序。它負責配置主要接口,并引導Linux系統(tǒng)。
2)將源碼復制到工作目錄
這一步自己采取合適的方式將u-boot源碼復制到“~/my-sama5/02_source”。也可以參照“2.3 常用功能演示”。
3)解壓源碼
進入工作目錄
$ cd ~/my-sama5/02_source/
MY-SAMA5 Linux-3.18 編譯手冊4.1.0.1.png
執(zhí)行解壓命令
$ tar jxf u-boot-at91-linux4sam_4.7.tar.bz2
MY-SAMA5 Linux-3.18 編譯手冊4.1.0.2.png
4.2 編譯
1)進入u-boot源碼目錄
$ cd ~/my-sama5/02_source/u-boot-at91-linux4sam_4.7/
MY-SAMA5 Linux-3.18 編譯手冊4.2.0.1.png
2)使編譯配置文件生效
$ source ~/my-sama5/03_tools/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.config
3)清除代碼中可能存在的臨時文件
$ make distclean
MY-SAMA5 Linux-3.18 編譯手冊4.2.0.2.png
4)生成配置文件
$ make mysama5ek200_defconfig
MY-SAMA5 Linux-3.18 編譯手冊4.2.0.3.png
5)執(zhí)行編譯
$ make –j4
MY-SAMA5 Linux-3.18 編譯手冊4.2.0.4.png
6)編譯完成
MY-SAMA5 Linux-3.18 編譯手冊4.2.0.5.png
4.3 目標文件
編譯完成后會在源碼的目錄下產(chǎn)生我們需要的目標文件。
通過ls命令可以看到。其中u-boot.bin 即是我們需要的文件。
$ ls u-boot* -1
MY-SAMA5 Linux-3.18 編譯手冊4.3.0.1.png
2)重命令目標文件
我們在燒錄的時候需要使用到這些目標文件。為了燒錄的方便,我們需要將目標文件修改為我們需要的文件名,即uboot-mysama5ek200.bin。
$ mv u-boot.bin uboot-mysama5ek200.bin
$ ls uboot-mysama5ek200.bin
MY-SAMA5 Linux-3.18 編譯手冊4.3.0.2.png
3)保存目標文件
將uboot-mysama5ek200.bin 保存。
5 內(nèi)核編譯
5.1 準備源碼
1)下載源碼
文件名:linux-at91-linux4sam_4.7.tar.bz2
2)將源碼復制到工作目錄
這一步自己采取合適的方式將內(nèi)核源碼復制到“~/my-sama5/02_source”。也可以參照“2.3 常用功能演示”。
3)解壓源碼
進入工作目錄
$ cd ~/my-sama5/02_source/
MY-SAMA5 Linux-3.18 編譯手冊5.1.0.1.png
執(zhí)行解壓命令
$ tar jxf linux-at91-linux4sam_4.7.tar.bz2
MY-SAMA5 Linux-3.18 編譯手冊5.1.0.2.png
5.2 編譯
1)進入內(nèi)核源碼目錄
$ cd ~/my-sama5/02_source/linux-at91-linux4sam_4.7/
MY-SAMA5 Linux-3.18 編譯手冊5.2.0.1.png
2)使編譯配置文件生效
$ source ~/my-sama5/03_tools/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.config
3)清除代碼中可能存在的臨時文件
$ make distclean
MY-SAMA5 Linux-3.18 編譯手冊5.2.0.2.png
5.2.1 編譯內(nèi)核文件
1)生成內(nèi)核配置文件
$ make ARCH=arm mysama5ek200_defconfig
MY-SAMA5 Linux-3.18 編譯手冊5.2.1.1.png
2)執(zhí)行內(nèi)核文件編譯命令
$ make -j4 ARCH=arm zImage
MY-SAMA5 Linux-3.18 編譯手冊5.2.1.2.png
3)內(nèi)核文件編譯完成
MY-SAMA5 Linux-3.18 編譯手冊5.2.1.3.png
4)內(nèi)核目標文件
$ ls arch/arm/boot/zImage
MY-SAMA5 Linux-3.18 編譯手冊5.2.1.4.png
5.2.2 編譯設備樹文件
1)執(zhí)行設備樹文件編譯命令
$ make ARCH=arm mysama5ek200-d36.dtb
MY-SAMA5 Linux-3.18 編譯手冊5.2.2.1.png
2)設備樹目標文件
$ ls arch/arm/boot/dts/mysama5ek200-d36.dtb
MY-SAMA5 Linux-3.18 編譯手冊5.2.2.2.png
5.2.3 編譯內(nèi)核模塊
1)執(zhí)行內(nèi)核模塊編譯命令
$ make ARCH=arm modules
MY-SAMA5 Linux-3.18 編譯手冊5.2.3.1.png
2)內(nèi)核模塊編譯完成
MY-SAMA5 Linux-3.18 編譯手冊5.2.3.2.png
3)安裝內(nèi)核模塊到指定目錄
$ make ARCH=arm modules_install INSTALL_MOD_PATH=./modules
MY-SAMA5 Linux-3.18 編譯手冊5.2.3.3.png
4)打包內(nèi)核模塊
$ tar cjf modules_mysama5ek200.tar.bz2 modules/*
MY-SAMA5 Linux-3.18 編譯手冊5.2.3.4.png
5)模塊包
$ ls modules_mysama5ek200.tar.bz2
MY-SAMA5 Linux-3.18 編譯手冊5.2.3.5.png
【下章節(jié)為MY-SAMA5 Linux-3.18 編譯手冊(3)】
|
|