1. 内核裁剪移植
内核源码是大量模块代码的集合!
每一个模块代码都是大量的.c 和 .h文件组成的!
内核是系统所有功能的集合!
内核镜像是一个二进制文件,是一个大型可执行程序!
内核源码包:linux-3.5.buildok.tar.gz
内核移植步骤:
1)把内核源码包复制到linux系统下的 /work/目录下,并解压!
命令:
cp /mnt/hgfs/xxxxx/linux-3.5.buildok.tar.gz /work/
cd /work
tar xf linux-3.5.buildok.tar.gz
2)解压完成后,进入解压后目录。
命令:
cd linux-3.5/
3)内核源码裁剪,去掉不需要的模块,保留需要的模块!
命令:
make clean
make distclean
cp tiny4412_linux_defconfig .config
make menuconfig
进入配置菜单:
system type
--> Support TrustZone-enabled Trusted Execution Environment [去掉该选项]
保存退出!
4)编译内核源码,生成内核镜像zImage。路径:arch/arm/boot/zImage
命令:
make -j8
5)进入内核镜像所在目录,编写烧录脚本,烧录zImage镜像!
命令:
cd arch/arm/boot/
vim sd_fusing.sh
编辑:
#!/bin/bash
if [ -e /dev/sdb ]
then
echo fusing...
dd iflag=dsync oflag=dsync if=./zImage of=/dev/sdb seek=1057
else
echo /dev/sdb is not find!
exit -1
fi
echo fused OK!!!
chmod 777 sd_fusing.sh
烧录: 插入SD卡
./sd_fusing.sh
6)烧录完成,拔出SD卡!
补充:
内核源码的默认配置文件是: .config
内核配置方法有以下三种:
方法1:在终端一个一个功能的询问!
make config
方法2:Qt风格的内核配置菜单
make xconfig
方法3:由shell脚本勾画出来的内核配置菜单
make menuconfig
menuconfig菜单使用方法:
上下键:选项之间切换
左右键:操作方式之间切换 <select exit help>
空格键:对选项进行选择<勾选/取消>
回车键:执行操作 <进入下级菜单(select),返回上级菜单(exit)>
嵌入式Linux学习交流群:195723435
原文地址:https://www.cnblogs.com/646087666-lxd/p/12568453.html