打印

linux的源码编译手册

[复制链接]
155|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
第三章|  楼主 | 2018-9-30 10:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编译源码
配置交叉工具链

将“内核源码”--->“工具链”目录中的“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 挂载的文件系统目录

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

380

主题

380

帖子

0

粉丝