编译源码 配置交叉工具链
将“内核源码”--->“工具链”目录中的“toolchain-4.4.6-farsight.tar”文件拷贝到工作目录中。
注意:工作目录可以自行创建,这里以/home/linux/work为例子
执行以下命令:
tar xvf toolchain-4.4.6-farsight.tar
环境变量的
sudo vi /etc/bash.bashrc
在最后面添加以下命令
export PATH=$PATH:/home/linux/work/4412/toolchain-4.4.6/bin/
重新配置文件
Source /etc/bash.bashrc
编译 Bootloader 源码
将内核源码目录中的 uboot-fs4412_v2.tar 拷贝到工作目录中
执行命令:
tar xvf uboot-fs4412_v2.tar.xz
解压后会出现 uboot-fs4412_v2 目录,进入/uboot-fs4412_v2/u-boot-2010.03 目录
cd /uboot-fs4412_v2/u-boot-2010.03
修改 Makefilevi
vi Makefile
找到如下图所示代码
修改为:
162:CROSS_COMPILE = arm-none-linux-gnueabi-
保存退出后执行脚本 build_uboot.sh
./ build_uboot.sh
编译结果如下图所示
下图中的 u-boot-fs4412.bin 即是我们所需要的 uboot 文件
编译 linux 内核源码
将 内核源码目录中的linux-3.0-fs4412_v3.tar.xz拷贝到工作目录中(/home/linux/work/4412)
执行以下命令解压 linux 源码
xz -d linux-3.0-fs4412_v3.tar.xz
解压完后,linux-3.0-fs4412_v3.tar.xz 解压变成 linux-3.0-fs4412_v3.tar 压缩包
再执行以下命令解压 linux-3.0-fs4412_v3.tar 压缩包
tar xvf linux-3.0-fs4412_v3.tar
解压后如下图所示
进入 linux 内核目录
cd linux-3.0-fs4412_V3
修改 Makefile
修改 198 行中代码
198 CROSS_COMPILE ?=
/home/linux/toolchain/toolchain-4.4.6/bin/arm-none-linux-gnueabi-
为
198: CROSS_COMPILE ?= arm-none-linux-gnueabi-
修改完后,可以开始编译 linux 源码
执行以下命令:
make zImage -j2 //其中“-j2”为编译时使用的 CPU 线程数
编译好后如下图所示
我们所需要的 linux 内核镜像 zImage 在 arch/arm/boot/目录中。
制作 ext4 文件系统镜像
拷贝光盘中\工具\Linux 目录中的 linux_tools.tgz 文件到 Linux 的目录中。
执行解压命令
tar xzvf linux_tools.tgz
执行命令
make_ext4fs -s -l 314572800 -a root -L linux rootfs.img /source/rootfs
将文件系统目录(此处是将 nfs 挂载文件系统的文件系统生成镜像)生成文件系统镜像。
注意:其中 rootfs.img 为生成的文件系统镜像,/source/rootfs 是 nfs 挂载的文件系统目录
|