Linux kernel make 常用选项介绍
Linux kernel 编译方法大全记录
一、这是一个我自己写的自动make脚本:
#!/bin/sh
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export CHEN_DTB="chenfl.dtb"
if [ 1 -eq $# ]; then
if [ $1 = "dtb" ]; then
make -j2 $CHEN_DTB O=out
cp ~/am335x/kernel4.4.12/out/arch/arm/boot/dts/am335x-chenfl.dtb $CHEN_PATH -rf
# cp ~/am335x/kernel4.4.12/out/arch/arm/boot/dts/am335x-sbc7109.dtb $CHEN_PATH -rf
sync
echo "Copy dts over ...\n"
elif [ $1 = "defconfig" ]; then
make -j2 aplex_sbc7109_defconfig O=out
echo "Use aplex_sbc7109_defconfig over ...\n"
elif [ $1 = "menuconfig" ]; then
make -j2 $1 O=out
elif [ $1 = "zImage" ]; then
make -j2 $1 O=out
cp ~/am335x/kernel4.4.12/out/arch/arm/boot/zImage $CHEN_PATH -rf
sync
echo "Copy kernel zImage to myself file over ... \n"
elif [ $1 = "all" ]; then
make -j2 $1 O=out
cp ~/am335x/kernel4.4.12/out/arch/arm/boot/zImage $CHEN_PATH -rf
cp ~/am335x/kernel4.4.12/out/arch/arm/boot/dts/am335x-sbc7109.dtb $CHEN_PATH -rf
sync
echo "Copy kernel image and dts over ... \n"
elif [ $1 = "savedefconfig" ]; then
make $1 O=out
echo "Save .config to defconfig over ... \n"
elif [ $1 = "clean" ]; then
make $1 O=out
echo "Clean out over ...\n"
elif [ $1 = "distclean" ]; then
make $1 O=out
echo "Distclean over ...\n"
elif [ $1 = "help" ]; then
make $1
else
echo " "
echo "You can following command to do the thing you want to do..."
echo "./remake dtb -- Only cross-complie your device tree table"
echo "./remake defconfig -- Only configure your defconfig"
echo "./remake menuconfig -- Only configure your configuration"
echo "./remake zImage -- Only cross-complie your Linux kernel zImage "
echo "./remake all -- Cross-complie kernel and dts"
echo "./remake savedefconfig -- Save your .config as defconfig "
echo "./remake clean -- Clean your output file"
echo "./remake distclean -- Deep clean your output file"
echo "./remake help -- Check help infomation "
fi
else
echo " "
echo "You can following command to do the thing you want to do..."
echo "./remake dtb -- Only cross-complie your device tree table"
echo "./remake defconfig -- Only configure your defconfig"
echo "./remake menuconfig -- Only configure your configuration"
echo "./remake zImage -- Only cross-complie your Linux kernel zImage "
echo "./remake all -- Cross-complie kernel and dts"
echo "./remake savedefconfig -- Save your .config as defconfig "
echo "./remake clean -- Clean your output file"
echo "./remake distclean -- Deep clean your output file"
echo "./remake help -- Check help infomation "
fi
二、当你指定ARCH=arm 之后,如下命令运行,则会出现arm相关kernel的help信息。
make ARCH=arm help
这里面完全介绍了有关arm kernel make的帮助信息。
三、挑几个重点的讲解一下。
编译的时候,首先, 指定芯片的架构以及交叉编译器前缀。
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
make clean
除了保存config文件以及构建外围模块必要的文件其他的全部清除。
make mrproper
清理全部生成的文件+config文件+不同的备份文件
make distclean
clean + mrproper , 彻底的清理
执行完上面的步骤之后。
选择一个自己的产品参考的defconfig
文件在arch/arm/configs/ 里面,这里面全部都是你可以选择的defconfig
例如:
make omap2plus_defconfig O=out
O 的指定是指output file 的意思,此时会在out文件夹下生成.config 文件。
当然,你应该还有一些想要添加的,我这里直接使用menuconfig进行配置
make menuconfig O=out
配置好了,你想要保存.config文件为自己的配置的一个备份。
make savedefconfig O=out
这时在out文件夹下就会有一个defconfig文件
当所有的都配置好了,现在,你想编译自己的设备树chenfl.dts
make -j2 chenfl.dtb O=out
你想编译自己的镜像zImage
make -j2 zImage O=out
你想编译自己的模块
make -j2 modules O=out
你想编译所有的东西
make -j2 all O=out
好了,所有常用的make功能介绍完毕。
zImage 在out/arch/arm/boot/zImage
chenfl.dtb 在out/arch/arm/boot/dts/chenfl.dtb
defconfig 你可以复制到arm/arch/configs/ 里面,后缀必须是defconfig
不正望指出谢谢。
Linux kernel make 常用选项介绍的更多相关文章
- 深入linux kernel内核配置选项
============================================================================== 深入linux kernel内核配置选项 ...
- Linux文件操作常用选项
常用选项 选项 功能 -a 查看隐藏文件 -l 列表方式查看 -h 人性化显示 * 通配符,忽略多个字符匹配 ? 通配符,忽略一个字符匹配 [Num1-Num2] 通配符,查看从Num1到Num2的匹 ...
- linux之shell常用命令介绍
一.cd 切换目录 cd /etc 切换到/etc目录下 cd ~ 切换到主目录下 cd .. 返回上级目录 ...
- Linux 终端 Bash 常用快捷键介绍及经验
1. 最重要的自动补全 命令 解释 Tab 自动补全 不用多说,自动补全可以节省大量时间 2. 编辑跳转 命令 解释 Ctrl + A 跳转到当前行首 Ctrl + E 跳转到当前行末 Alt + F ...
- linux 时钟源初步分析linux kernel 时钟框架详细介绍
初步概念: 看datasheet的关于时钟与定时器的部分, FCLK供给cpu, HCLK供给AHB总线设备(存储器控制器,中断控制器.LCD控制器.DMA.USB主机控制器等), PCLK供给APB ...
- Linux Kernel C语言编程范式
介绍 不同的编程语言具有不同的抽象原语(如下),有的原语抽象层次低,有的原语抽象层次高.其中函数式.DSL是这几年十分热门的编程语言概念. 过程式抽象原语:变量 对象式抽象原语:对象 函数式抽象原语: ...
- Linux centos7 rsync工具介绍、rsync常用选项、rsync通过ssh同步
一.rsync工具介绍 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync ...
- Linux运维常用的几个命令介绍【转】
Linux运维常用的几个命令介绍 1. 查看系统内核版本 [root@funsion geekxa]# cat /etc/issue CentOS release 6.5 (Final) Kerne ...
- Linux kernel启动选项(参数)(转)
Linux kernel启动选项(参数) 转载链接https://www.cnblogs.com/linuxbo/p/4286227.html 在Linux中,给kernel传递参数以控制其行为总共 ...
随机推荐
- FineUI(开源版)v4.2.2发布(8年125个版本,官网示例突破300个)!
开源版是 FineUI 的基石,从 2008 年至今已经持续发布了 120 多个版本,拥有会员 15,000 多位,捐赠会员达到 1,200 多位. FineUI(开源版)v4.2.2 是 8 年 ...
- 在.NET中把项目从类库转为Web应用程序
我们知道,在.NET中所有的项目文件以.csproj为扩展名.内容是xml格式. 类库项目文件.csproj: <Project DefaultTargets="Build" ...
- simpson
使用二次函数拟合复杂的连续函数求积分 对于(l,r)拟合的积分为(r-l)*(f(l)+4*f((l+r)/2)+f(r))/6 ___________________________ BZOJ217 ...
- matlab 假设检验
转自:http://blog.csdn.net/colddie/article/details/7773278 函数名称 函数说明 调用格式 正态总体的参数检验 ztest 单样本均值的z检验 (总体 ...
- redis学习笔记
Redis 命令 Redis 命令用于在 redis 服务上执行操作. 要在 redis 服务上执行命令需要一个 redis 客户端.Redis 客户端在我们之前下载的的 redis 的安装包中. 语 ...
- 使用Xcode7的Instruments检测解决iOS内存泄露
文/笨笨的糯糯(简书作者)原文链接:http://www.jianshu.com/p/0837331875f0著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 作为一名iOS开发攻城狮, ...
- Android之什么是Activity和常用的ADB命令以及Android项目结构的认识
总结一下之前学习Android的一些内容 一: Android常用的ADB命令(adb android调试桥) 1.adb devices 查看模拟器设备并重新连接. 2.adb ki ...
- Linux 基础操作
根据关键字查找文件信息: cat <文件名> | grep <关键字>查询文件信息 显示100行: tail -100f easyhome.all.log |grep &quo ...
- Android 实时监测(监听)网络连接状态变化
http://blog.csdn.net/mxiaoyem/article/details/50708052
- 一些常用的git指令
PyCharm编辑器 如何切换分支 git branch 查看当前在哪个分支,也会显示本地所有的分支名 git branch dev-chenqiao 新建分支 git checkout dev-ch ...