樹梅派kernel的編譯與patch

根據官方文檔 https://www.raspberrypi.org/documentation/linux/kernel/building.md

步驟如下(這裏只說交叉編譯,因爲在配置高的機器上編譯效率高):

1) 下載 kernel 的 source 

$ git clone --depth=1 https://github.com/raspberrypi/linux

如何知道kernel 的當前版本,兩個方法

a) make  kernelversion

b) head Makefile 


2) 配置kernel 

RASPBERRY PI 1 (OR COMPUTE MODULE) DEFAULT BUILD CONFIGURATION

$ cd linux
$ KERNEL=kernel
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-  bcmrpi_defconfig

RASPBERRY PI 2 DEFAULT BUILD CONFIGURATION

$ cd linux
$ KERNEL=kernel7
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig

這時候,生成.config文件

如何你不滿意可以用 make ARCH=arm menuconfig 繼續改


3) 安裝toolchain

 git clone https://github.com/raspberrypi/tools

把工具路徑設置到$PATH 

export PATH=$PATH:~/rapi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

4) 開始編譯

make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs


5)  打 rt 補丁 (把rapi 改爲實時控制系統)

官方文檔 https://www.raspberrypi.org/documentation/linux/kernel/patching.md

我的步驟:

a) 看 kernel 版本 (4.1.12)

$ head Makefile -n 4
VERSION = 4
PATCHLEVEL = 1
SUBLEVEL = 12
EXTRAVERSION =


下載rt補丁(可先在瀏覽器https://www.kernel.org/pub/linux/kernel/projects/rt/中瀏覽 )

wget https://www.kernel.org/pub/linux/kernel/projects/rt/4.1/patch-4.1.10-rt11.patch.gz  


解開gz文件,patch kernel 文件

gunzip patch-4.1.10-rt11.patch.gz 

cat patch-4.1.10-rt11.patch  | patch -p1


而後重新編譯kernel

make -j3 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs

發佈了174 篇原創文章 · 獲贊 14 · 訪問量 68萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章