快速瀏覽

核心


 

本頁介紹如何下載和編譯ODROID-C4的Linux內核。


安裝所需的包

在開始在 Ubuntu 桌面上構建 Linux 內核之前,您需要安裝所需的軟件包。

$ sudo apt-get update
$ sudo apt-get install git lzop build-essential gcc bc libncurses5-dev libc6-i386 lib32stdc++6 zlib1g:i386
工具鏈 (6.3.1)

單擊站點之一下載工具鏈以構建 Linux 內核。

下載完成後,將 tarball 解壓縮到/opt/toolchains/

$ sudo mkdir -p /opt/toolchains
$ sudo tar Jxvf gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz -C /opt/toolchains/

要將工具鏈路徑添加到 PATH,請將以下行粘貼到$HOME/.bashrc

export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
export PATH=/opt/toolchains/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/:$PATH

如果您再次登錄或導入以應用此更改,則可以應用更改,再次登錄或使用 source 命令評估$HOME/.bashrc

$ source ~/.bashrc

您可以在檢查工具鏈版本的同時檢查上面安裝的工具鍊是否正常工作。如果你能在行尾找到gcc version 6.3.1 20170109,那麼工具鏈就安裝好了。

$ aarch64-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=aarch64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/opt/toolchains/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin
 
...
 
gcc version 6.3.1 20170109 (Linaro GCC 6.3-2017.02)
查看

您可以從Hardkernel 的 Github 中查看 Linux 內核源代碼樹,請注意,我們將 Linux 內核分發到 Android 和其他 Linux 發行版的不同分支中。

編譯

筆記

  • 如果您只想下載和構建Android Linux 內核源代碼而不需要其他 Android BSP,您將面臨如下錯誤消息:
    • 驅動程序/amlogic/wifi/Kconfig:26: 無法打開文件“../hardware/wifi/realtek/drivers/8192cu/rtl8xxx_CU/Kconfig”
  • 如果您只構建 Android Linux 內核,請刪除“drivers/amlogic/wifi/Kconfig”文件中的最後一行
    • 源“../hardware/wifi/realtek/drivers/8192cu/rtl8xxx_CU/Kconfig”
安裝

為 Android 和 Linux 安裝 Linux 內核映像和設備樹有不同的說明。由於 Android 從引導分區加載兩者,我們必須使用fastboot安裝到專用分區。請參考這裡的分區表。相比之下,Linux 是按照boot.ini 中描述的指令引導的,即第 1 個 FAT 分區。


筆記

  • 8GB eMMC/SD 卡沒有足夠的空間來構建內核源代碼。為了進行本地編譯,至少需要5GB的可用空間。
安裝所需的包

在開始在 Ubuntu ODROID-C4 上構建 Linux 內核之前,您需要安裝所需的軟件包。

odroid@odroid64:~$ sudo apt update
odroid@odroid64:~$ sudo apt install git
查看
odroid@odroid64:~$ git clone --depth 1 https://github.com/hardkernel/linux.git -b odroidg12-4.9.y
odroid@odroid64:~$ cd linux
編譯安裝
odroid@odroid64:~/linux$ make odroidg12_defconfig
 
You can edit .config file or run "make menuconfig" to add/remove Kernel drivers.
 
odroid@odroid64:~/linux$ make -j4
odroid@odroid64:~/linux$ sudo make modules_install
odroid@odroid64:~/linux$ sudo cp -f arch/arm64/boot/Image.gz /media/boot
odroid@odroid64:~/linux$ sudo cp -f arch/arm64/boot/dts/amlogic/meson64_odroidc4.dtb /media/boot/amlogic/
odroid@odroid64:~/linux$ sudo sync
odroid@odroid64:~/linux$ sudo reboot
快速瀏覽

ODROID-C4

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