树梅派kernel的编译与patch

本文介绍了如何在高性能机器上交叉编译树莓派的内核,包括获取kernel源码、配置内核、安装工具链、编译过程以及如何打实时补丁。遵循官方文档,首先确定kernel版本,然后进行默认配置或使用menuconfig进行自定义,接着安装toolchain并设置路径,最后下载并应用实时补丁进行重新编译。
摘要由CSDN通过智能技术生成

根据官方文档 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值