如何为树莓派2编译内核

3240阅读 0评论2015-11-08 alloysystem
分类:嵌入式

入手一块树莓派2开发板,想利用树莓派这个平台总结一些内核和应用程序调试手段。目前已经为树莓派安装了一个arch linux系统。要总结linux内涵调试手段,搭建相应的实验环境,必须重新编译内核才行。所以一个新的编译树莓派2内核的任务就是第一要紧的事情。

首先在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分区下面。

上一篇:树莓派如何启动
下一篇:ARM 调用栈结构