编译内核笔记


编译内核大致步骤:
……………………下载官方内核源码并解压
……………………编译内核
……………………安装内核


====我是下在https://www.kernel.org/里面下的最新的内核,现在是4.18.8版本下载之后,格式为 .tar.zx ,下载完了之后,先切换到root用户,这里解压的技巧:后缀为zx 那就 zx -d 解压的文件名 )然后解压出来的就是.tar了,再用tar去解压,加上参数v可以查看解压的过程。
这里我是解压到这里的。解压出来的文件如下:
在这里插入图片描述
………………………………………………………………………………………………………………
开始之前,需要运行这些命令,目的是为编译内核安装必要的环境:

apt-get install libncurses* 安装一些库,*表示安装这类的所有库
apt-get install build-essential openssl 
apt-get install zlibc minizip 
apt-get install libidn11-dev libidn11
要是这些库没有安装正确的话,在使用make menuconfig的时候,就会出现很多错误
比如说xxx.h找不到,出现no such file or dictionary

库这些安装完毕后,就可以做以下操作了
这里都没有加sudo,是因为前面已经切换为root用户了

cd /xxxx/linux-4.18.8	//切换到你解压源码的文件夹
make mrproper 		//清除编译过程中产生的所有中间文件
make clean 	 	//清除上一次产生的编译中间文件
make menuconfig	//图形化界面,方便选择一些功能

最后一个命令执行后,若是弹出了这个界面如下图:那就说明你已经成功了一小部分了,反正我当时为了搞这个图形出来,是捣鼓了很久,因为一些库没有安装成功,很痛苦(手动狗头)
在这里插入图片描述

………………………………………………………………………………………………………………
====配置内核之后,使用make进行编译

====此make过程中的一些问题:

root@ubuntu:/home/xiao-ma/soft_install/linux-4.18.8# make
scripts/kconfig/conf  --syncconfig Kconfig
Makefile:940: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel".  Stop.
root@ubuntu:/home/xiao-ma/soft_install/linux-4.18.8# apt-get install libelf-dev
这里有提示,差什么安装什么就可以了

scripts/sign-file.c:25:30: fatal error: openssl/opensslv.h: No such file or directory
compilation terminated.
scripts/Makefile.host:90: recipe for target 'scripts/sign-file' failed
make[1]: *** [scripts/sign-file] Error 1
Makefile:1049: recipe for target 'scripts' failed
make: *** [scripts] Error 2
root@ubuntu:/home/xiao-ma/soft_install/linux-4.18.8#  apt-get install libssl-dev
这里这个错误需要安装这个库,所以呀,这个库要是没有安装稳妥的话,在编译内核的时候回遇到很多问题,当然了,多百度百度,有些还是很好解决的。

编译的过程会很漫长,2-3小时,看网上有的使用命令:

make –jN		//这里的N代表你cpu核心的2倍,如果你是四核,那N就等于8

这样,编译的速度会快很多,编译过程图如下,会产生很多.o文件,这也就是我们为什么要使用这个命令的原因了
make mrproper //清除编译过程中产生的所有中间文件

====假如你之前也编译过内核,而你没有用此命令去清除之前编译产生的.o文件,那么,在make的时候,可能就会产生干扰。
编译产生.o文件过程:
在这里插入图片描述

====经过漫长的等待后,终于编译完了,如图所示:
在这里插入图片描述

====这个是我当前环境系统版本:

====使用make modules_install 命令进行安装如下:
在这里插入图片描述
这些正在安装的.ko文件都是之前我们所选择的,经过编译后产生的驱动文件,现在需要把他们全部安装上,也是需要一些时间的,(半个小时左右)

====再使用命令:make install
在这里插入图片描述

重新启动系统,如果是虚拟机的话记得重启进入BIOS界面之前一定要点击鼠标进入虚拟机的界面实现键盘捕获。在重启开机界面按住shift键不放手,选择高级选项,进入内核选择加载界面,
在这里插入图片描述
选择自己编译的内核,进去就可以了

然后uname -r 查看一下自己的内核版本:
在这里插入图片描述
至此,基本的内核编译就差不多完成了


2018年9月24日13:12:14

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值