了解了9260的一些基本知识后,接下就是为移植内核到终端做一些准备工作。
工作环境:XP + 虚拟机ubuntu9.10;
内核版本:linux-2.6.27+最新补丁(http://www.at91.com/linux4sam/bin/view/Linux4SAM/LinuxKernel);
编译器 :arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu
目标机器:终端产品
1. 安装交叉编译器:
下载交叉编译器:arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
建立目录:sudo mkdir -p /usr/local/arm/toolchain
解压工具链压缩包:sudo tar xjvf arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /usr/local/arm/toolchain/
添加编译器环境变量:sudo vi /etc/profile,在底部添加:export PATH=:$PATH:/usr/local/arm/toolchain/arm-2007q1/bin
使环境变量生效:source /etc/profile
检查是否生效:arm-none-linux-gnueabi-gcc -v,如果有版本号提示,则说明交叉编译器安装成功了
2. 首先下载内核源码:wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.tar.bz2
下载完后,解压 :tar xvjf linux-2.6.27.tar.bz2
进入内核源码目录:cd linux-2.6.27/
3. 打补丁,注意有两补丁:
打维护者补丁:
wget http://maxim.org.za/AT91RM9200/2.6/2.6.27-at91.patch.gz
打补丁:zcat 2.6.27-at91.patch.gz | patch -p1,执行命令时我的ubuntu9.10会提示:patch: command not found,这时执行:sudo aptitude install patch进行安装即可解决。
打社区的补丁(注意补丁的版本):
wget ftp://www.linux4sam.org/pub/linux/2.6.27-at91-exp.patch.gz
打补丁:zcat linux-2.6.xx-at91-exp.diff.gz | patch -p1