内核编译
程序包的编译安装
./configure,make,make install
./configure检查编译环境依赖关系,并设定参数
make 执行编译操作
make install 安装
二进制
库文件
帮助文档
配置文件
前提:开发环境(开发工具,开发库),头文件:/usr/include
开源:源代码
发行版,就是把源代码拿过来,组织成程序。 以“通用”的目标 前提: 1、准备好开发环境 2、获取目标主机上硬件设备的相关信息 3、获取到目标主机系统功能的相关信息,例如要启用的文件系统 4、获取内核源代码包:www.kernel.org 准备开发环境: centos6 包组 development tools server platform development centos7 包组 development tools server platform development
获取硬件信息
cpu
lscpu cat /proc/cpuinfo [root@centos7 home]# yum -y install x86info [root@centos7 home]# x86info -a
pci
lspci -v -vv
usb
lsusb -v -vv
lsblk
硬盘
了解全部硬件设备信息
hal-device
内核编译过程
获取内核源代码包
-rw-r–r– 1 root root 90398912 Aug 19 21:28 linux-4.7.1.tar.x
建议放到/usr/src/目录下
再创为其创建名为linux的软连接。(一般针对当前系统编译驱动时,会去找这个linux目录)
多内核时,支持回滚。
[root@centos7 ~]# tar -xf linux-4.7.1.tar.xz -C /usr/src/[root@centos7 src]# ln -s linux-4.7.1/ linux
[root@centos7 src]# ll
total 4
drwxr-xr-x. 2 root root 6 Aug 12 2015 debug
drwxr-xr-x. 3 root root 34 Aug 23 16:38 kernels
lrwxrwxrwx 1 root root 12 Sep 11 14:45 linux -linux-4.7.1/
drwxrwxr-x 24 root root 4096 Aug 16 15:35 linux-4.7.1进入linux目录下
make help
可以查看帮助。
yum install ncruses-devel
步骤
tar -xf linux-4.7.1.tar.xz -C /usr/src/
ln -s linux-4.7.1/ linux
cd linux
make menuconfig 配置内核选项
make -j # 启用几个内核 编译内核,可使用-j
make moudules_install 安装内核模块
make install 安装内核
screen
一个终端上打开多个屏幕
打开 screen
拆除 ctrl + a,d
列出 screen -ls
连接至 screen -r SCREEN_ID
关闭screen 连接至,而后执行exit
红帽系列发行版都把内核的配置模板放在/boot/config-3.10.0-327.el7.x86_64
并不是所有发行版都有的
内核自带功能,/proc/cofig.gz 展开也是模板。
复制到/usr/src/linux/目录下改名为.config
1、配置内核选项
支持“更新”模式进行配置,在已有.config文件的基础上进行“修改”配置
make config 基于命令以遍历的方式去配置内核中可配置的每个选项。
make menuconfig基于ncureses的文本配置窗口
make gconfig 基于GTK开发环境的窗口界面,包租“桌面开发平台”
make xconfig 基于QT开发环境的窗口界面
支持“全新配置”模式进行配置
make defconfig 基于内核为目标平台提供的默认配置为模板进行配置
make allnoconfig 所有选项均为no
2、编译
多线程编译 make -j # 编译内核中的部分代码 只编译某子目录中的相关代码 pwd目录必须为 /usr/src/linux make path/to/dir 只编译一个特定的模块 make path/to/file.ko
原创文章,作者:yyw,如若转载,请注明出处:http://www.178linux.com/47816
评论列表(1条)
写的不错,内核编译多我们来说作为我们基本了解即可,