Firefly-RK3399 Linux內核編譯
- 準備內核源碼包+交叉編譯器
- 編譯環境搭建
本次Linux內核編譯的主機系統是Fedora28。在進入內核編譯之前,首先需要在主機系統上安裝一些依賴包,否則編譯過程中會出現一系列問題。使用以下命令安裝依賴的包:
dnf install python
dnf install openssl*
dnf install glibc.i686 glibc.x86_64 zlib.i686 zlib.x86_64
3、拷貝內核源碼以及交叉編譯工具到 /opt 系統文件夾下
4、修改Makefile文件
從Linux源代碼中的頂層Makefile文件中可以發現,編譯內核時,會使用內核源代碼同一級目錄中的prebuilts目錄中的交叉工具編譯鏈,所以需要確保交叉工具編譯鏈的目錄結構和名稱符合該要求。
5、Linux內核編譯
在內核源碼的目錄下,執行make ARCH=arm64 firefly_linux_defconfig命令,使用firefly-rk3399的默認配置。
配置好內核之後,執行make ARCH=arm64 rk3399-firefly-linux.img -j8命令開始編譯內核。
內核編譯時間視電腦配置而定,當出現如下圖提示,表示內核源代碼已經成功完成編譯。
內核編譯完成後會在內核源碼目錄下生成kernel.img和resource.img文件,如下圖所示,這是我們更新內核所需要的鏡像文件。