HiKey 960 - 3 - Kernel compile

前篇 : Android Compile 

按照這個 Android 提供的步驟 - Link

Building the kernel

  1. Run the following commands:
    git clone https://android.googlesource.com/kernel/hikey-linaro cd hikey-linaro git checkout -b android-hikey-linaro-4.4 origin/android-hikey-linaro-4.4 make ARCH=arm64 hikey960_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- -j24
(1) 一樣用 -j10 去 make 就好了

(2) gcc 找不到
    在 build kernel 之前, 如同前篇 compile 所述, 一樣先 執行底下這兩行來設定環境
. ./build/envsetup.sh
lunch hikey960-userdebug
(3) checkout 換 kernel 4.9
git checkout -b android-hikey-linaro-4.9 origin/android-hikey-linaro-4.9

2. Update the kernel in the boot image.
  • Copy hi3660-hikey960.dtb (arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dtb) to the hikey-kernel directory as file hi3660-hikey960.dtb.
  • Copy the Image file (arch/arm64/boot/Image.gz) to the hikey-kernel directory as file Image.gz-hikey960.

(1) 目錄:
這邊指的是 copy 回前篇 Android 的 device/linaro/hikey-kernel

(2) 檔名
要覆蓋的檔名為 : hi3660-hikey960.dtb-4.9
和                           Image.gz-hikey960-4.9


3. Make the boot image:
make bootimage -j24
(1) 一樣在 Android 的目錄下, 而非這個 kernel 的目錄下
(2) 可以用 -j10


4. 做完之後燒錄,

和之前 Android image 燒錄設定方式相同 (Ext_boot on)
但若之前已燒錄, 可以只做

fastboot flash boot out/target/product/hikey960/boot.img 

只更新 boot.img, 因為 boot.img 就已經包括 Linux kernel


5. 開機 (Ext_boot off)
進入 shell 後, 可以打 uname -a
可以發現時間變成剛剛 build kernel 的時間, 表示更換完成

hikey960:/ $ uname -a
Linux localhost 4.9.41-gf33e8aa #1 SMP PREEMPT Fri Aug 11 18:53:43 CST 2017 aarch64





留言

熱門文章