首先在ubuntu编译机器上建立编译工作目录
raspberry
|-kernel
|-modules
|-mounts
|-scripts
下载源代码,编译工具,编译脚本
下载源代码
cd ~/raspberry/kernel
git clone
git clone很容易被中断,中断不能进行断点续传,运行上面的命令之后,在kernel目录下面又会形成一个linux的目录。
下载编译工具
git clone
运行上面的命令之后就会在kernel目录下会形成一个tool目录
编译脚本下载
cd ~/raspberry/kernel/scripts
git init
git remote add origin
git pull origin master
目前已经将编译需要的代码,工具,脚本都准备妥当,那就开始吧
编译过程
1,配置内核
到~/raspberry/kernel/linux目录
运行命令 make ARCH=arm CROSS_COMPILE=~/raspberry/kernel/linux/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-bcm2708hardfp-linux-gnueabi- bcm2709_defconfig
该目录中存在4个文件夹,本例使用gcc-linaro-arm-linux-gnueabihf-raspbian 或 gcc-linaro-arm-linux-gnueabihf-raspbian-x64。前者对应32位系统后者对应64位系统。
arm-bcm2708hardfp-linux-gnueabi
gcc-linaro-arm-linux-gnueabihf-raspbian
arm-bcm2708-linux-gnueabi
gcc-linaro-arm-linux-gnueabihf-raspbian-x64
2,利用脚本编译内核
进入到目录目录~/raspberry/kernel/scripts
./makekernel.sh
3,安装内核
安装内核的工作主要是将boot分区中的kernel image替换掉,同时将modules中的ko文件做相应的拷贝,同时将firmware中的相应文件做拷贝。modules,和firmware在root分区下面。