系统相关信息: ubuntuKyLin 14.04
树莓派B+板子
以下在在树莓派系统执行
1)、首先先获取树莓派的内核配置(.config)
1、跟新树莓派内核等东西(这样后面就不需要新的lib等东西了)
su root
输入密码
rpi-update
2、
sudo zcat /proc/config.gz > .config // 解压config.gz位.config
以下在PC机ubuntukylin系统中执行
1)获取交叉编译工具、Linux 树莓派内核、Firmware固件
mkdir rpi //新建文件夹rpi
cd rpi //进入rpi文件夹
下面的步骤占用了很长的时间,因为是在外国网站上下载,所以下载速度很慢。可以开着电脑去做其它事:
git clone git://github.com/raspberrypi/firmware.git RpiFirmware
git clone git://github.com/raspberrypi/linux.git RpiLinux
git clone git://github.com/raspberrypi/tools.git RpiTools
(下载完毕后记得把这几个文件备份,方便以后使用、验证)
cd RpiLinux
scp pi@192.168.1.113:home/pi/.config .config //将树莓派内核配置信息拷贝到RpiLinux文件夹中
//设定使用PI内核原有的配置进行编译
make ARCH=arm CROSS_COMPILE=../RpiTools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- oldconfig
//开始正式编译内核,最后的数字改成比你的CPU核心数量+1以提交多线程编译效率。
make ARCH=arm CROSS_COMPILE=../RpiTools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- -j3
编译成功过后可以在 RpiLinux/arch/arm/boot 文件夹下看见 ZImage 文件,如果你看见了这个文件那么恭喜你编译内核成功了。如图所示。
刚刚新编译的内核镜像现在还不能使用还需要经过树莓派工具进行转换:
cd ../RpiTools/mkimage/
./imagetool-uncompressed.py ../../RpiLinux/arch/arm/boot/zImage
好了现在你可在 RpiTools/mkimage文件下看见kernel.img文件则说明本次kernel编译成功了。
下面要做的就是将的kernel复制到树莓派sd卡中,取下sd卡插到电脑上,你会发现电脑上多出来boot、和2.9G两个卷
将新的kernel转移到树莓派文件夹中:
1、将rpi/RpiTools/mkimage/文件下的kernel.img命名为kernel_image.imge
2、将kernel_new.img复制到boot卷下,
3、改写config.txt,在config.txt文件下加入 kernel=kernel_image.img