Linux内核编译配置脚本
时间:2019-06-12
本文章向大家介绍Linux内核编译配置脚本,主要包括Linux内核编译配置脚本使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
环境
宿主机平台:Ubuntu 16.04.6
目标机:iMX6ULL
Linux内核编译配置脚本
在linux开发过程中熟练使用脚本可以大大简化命令行操作,同时对于需要经常重复操作的指令也是一种备忘;
在linux内核源码根目录添加 config-kernel 文件
#!/bin/sh echo "config menu" echo " 1 make clean" echo " 2 make distclean" echo " 3 config for mys_imx6" echo " 4 config for myd_y6ulx" echo " 5 config for mxs" echo " a make menuconfig" echo " b make uImage" echo " c make zImage" echo " d make modules" echo " e make dtbs" echo " q exit" prompt_make() { echo "*** Configure done,execute 'make uImage' to build kernel or try 'make menuconfig' for more customization. Or use a-e***" echo } make_distclean() { echo "make make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean" make distclean } make_clean() { echo "make make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean" make clean } config_mys_imx6() { echo "mys_imx6" cp .config .config.bk cp arch/arm/configs/mys_imx6_defconfig .config prompt_make } config_myd_y6ulx() { echo "myd_y6ulx" cp .config .config.bk cp arch/arm/configs/myd_y6ulx_defconfig .config prompt_make } config_mxs() { echo "mxs" cp .config .config.bk cp arch/arm/configs/mxs_defconfig .config prompt_make } make_menuconfig() { make make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig } make_uImage() { make make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage } make_zImage() { make make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage } make_modules() { make make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules } make_dtbs() { make make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs } echo -n "please select your choice: " while true do read sel echo "select $sel" case $sel in "1") make_clean;; "2") make_distclean;; "3") config_mys_imx6;; "4") config_myd_y6ulx;; "5") config_mxs;; "a") make_menuconfig;; "b") make_uImage;; "c") make_zImage;; "d") make_modules;; "e") make_dtbs;; [q] | [Q]) exit 0;; *) echo "ONLY accept 1~5,a~e/q/Q" esac done
运行效果如下
初次内核编译流程一次选择:2 3 c d e
原文地址:https://www.cnblogs.com/silencehuan/p/11009623.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C++核心准则SF.1:如果你的项目没有正在遵从的其他习惯,为代码文件使用.cpp后缀,为接口文件使用.h后缀
- 群晖NAS搭建测速网站,支持万兆
- 二叉树:你真的会翻转二叉树么?
- C++核心准则SF.2:.h文件一定不能包含对象定义或者非inline函数定义
- Vue.js 源码⽬录设计
- 本周小结!(二叉树)
- extern "c"(2)
- Mysql 触发器基础
- C++核心准则SF.3:使用.h文件管理所有在多个源文件中使用的声明
- 秋招面经一(蚂蚁、招银)
- php基础之Trait
- 秋招面经五(字节、拼多多、美团、网易)
- 二叉树:我对称么?
- 秋招面经四(亿联,一点资讯,滴滴,用友,猿辅导)
- PHP 之文件上传类封装