码迷,mamicode.com
首页 > 系统相关 > 详细

Linux内核裁剪移植学习分享

时间:2020-03-26 09:13:35      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:exec   sd卡   conf   linu   shell   tar   编译内核   echo   返回   

22.内核裁剪移植
内核源码是大量模块代码的集合!
每一个模块代码都是大量的.c 和 .h文件组成的!
内核是系统所有功能的集合!
内核镜像是一个二进制文件,是一个大型可执行程序!

内核移植步骤:
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
内核源码是大量模块代码的集合!
每一个模块代码都是大量的.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内核裁剪移植学习分享

标签:exec   sd卡   conf   linu   shell   tar   编译内核   echo   返回   

原文地址:https://blog.51cto.com/13258379/2481849

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!