快速瀏覽

構建根


 

由於不同的平台和環境,構建過程可能會失敗。
如果您使用其他版本,如 Ubuntu 18.04,請先參考此提示


為了為 ODROID-C4 構建 Buildroot 源代碼樹,您需要安裝所需的正確版本的工具鏈,它們可以從 Linaro 或 ARM 網站下載。這是安裝說明,工具鏈列在 AMLogic 的 BSP 發行說明中。

工具鏈應安裝到/opt/toolchain中,以便按照進一步的說明進行操作。

$ mkdir -p /opt/toolchain

安裝工具鏈的說明。

$ wget https://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz -P /tmp
$ tar xJvf /tmp/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz -C /opt/toolchains
$ wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz -P /tmp
$ tar xJvf /tmp/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz -C /opt/toolchains
$ wget https://releases.linaro.org/archive/14.04/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz -P /tmp
$ tar xJvf /tmp/gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz -C /opt/toolchains
$ wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/6_1-2017q1/gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2 -P /tmp
$ tar xjvf /tmp/gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2 -C /opt/toolchains

當前的 ODROID-C4 Buildroot 由多個 git 存儲庫組成,它們可以像 Android 一樣通過命令repo下載,該命令可以從谷歌下載站點下載。如果您已經有repo命令,則無需下載該命令的另一個副本。

$ mkdir -p $HOME/bin
$ curl https://storage.googleapis.com/git-repo-downloads/repo > $HOME/bin/repo
$ chmod a+x $HOME/bin/repo
$ export PATH=$HOME/bin:$PATH
簽出源樹
$ mkdir c4_buildroot
$ cd c4_buildroot
$ repo init -u https://github.com/hardkernel/platform-manifest.git -b aml64_buildroot_master_c4 --depth=1
$ repo sync
$ repo start aml64_buildroot_master_c4 --all
建造

完成上述操作後,您可以從選擇構建目標開始構建源樹。當前的 ODROID-C4 Buildroot 提供了基於 Linux 的 Buildroot 平台鏡像和 Petitboot 鏡像的構建目標。ODROID-C4 的默認 Buildroot 平台的構建目標是odroidc4_release

$ source buildroot/build/setenv.sh odroidc4_release
$ make

在構建結束時,如果一切順利,Buildroot 會在目錄out/odroidc4/images/ 中刪除許多文件。


$ ls output/odroidc4/images/
Image.gz  boot.ini  logo.bmp.gz  rootfs.cpio.uboot  rootfs.ext4  s922d_odroidc4.dtb  u-boot.bin
boot.cmd  boot.scr  rootfs.cpio  rootfs.ext2        rootfs.tar   sdcard.img
$ sudo dd if=output/odroidc4/images/sdcard.img of=<your/memory/card> conv=fsync

使用 Docker 進行構建

由於平台和環境不同,構建過程可能會因為不匹配的工具或工具所需的機器類型不同或為了持續管理構建而失敗,Docker 容器是避免此類困難的替代解決方案,本頁Using Docker將簡要介紹如何設置 Docker 及其環境。

快速瀏覽

ODROID-C4

四核ARM CORTEX-A55 |4GB RAM |4 USB3 PORTS