ubuntu(20.04)+linux内核(5.17.3)编译内核 |
您所在的位置:网站首页 › linux编译内核的目的是什么 › ubuntu(20.04)+linux内核(5.17.3)编译内核 |
该篇文档可以放心观看,里面的内容是我以便编译内核,一边记录写下的,所以如果按照文档来做,是绝对可以的哈!!! 文章目录 前言一、安装linux内核二. 开始前的准备工作三.内核编译1. 将下载好的linux内核解压至`/usr/src`2. 得到源代码后,将其净化3. 配置要进行编译的内核4.编译内核. (15分钟)5.编译模块.(1小时左右,我电脑好像就用了40min,反正需要等待一定时间)6.安装模块7.打包8.到此为止,构建内核完毕,把内核映象和System.map拷贝到/boot/下9. 修改grub配置文件/boot/grub/grub.cfg问题解决方案:关闭secure boot 总结 前言由于编译内核有许许多多的地方会出错,所以打算完整记录以下编译内核的过程,希望能够帮助到更多人! 提示:以下是本篇文章正文内容,下面案例可供参考 一、安装linux内核linux内核官方网站:www.kernel.org 进入网站后下载该版本。 二. 开始前的准备工作输入下面命令完成安装需要的包 sudo apt-get install libncurses5-dev openssl libssl-dev sudo apt-get install build-essential openssl sudo apt-get install pkg-config sudo apt-get install libc6-dev sudo apt-get install bison sudo apt-get install flex sudo apt-get install libelf-dev sudo apt-get install zlibc minizip sudo apt-get install libidn11-dev libidn11 三.内核编译 1. 将下载好的linux内核解压至/usr/src tar -xavf linux-5.17.3.tar.xz -C /usr/src cd /usr/src/linux-5.17.3 2. 得到源代码后,将其净化 make mrproper 3. 配置要进行编译的内核 cp /boot/config-`uname -r` ./.config make menuconfig依次点击load → (.config)OK→ SAVE→ (.config)OK → EXIT load后默认.config (ls -al) 4.编译内核. (15分钟)make bzImage -j4 (-j表示加速,4代表着线程数) 注意,可能会碰到几分钟就编译完了的情况,跑完也不显示什么,直接就完了 此时需要我们修改如下文件,使用命令 gedit .config看了网上好多东西都是这样改动的,在此为了防止小伙伴们踩坑,我直接将/config文件献上,直接CV即可!!! 修改为这样 .config文件链接(由于太多了,所以另外写了一篇,推荐直接cv哈!!!) https://blog.csdn.net/weixin_62882080/article/details/124262374 5.编译模块.(1小时左右,我电脑好像就用了40min,反正需要等待一定时间) make modules -j4 6.安装模块 make INSTALL_MOD_STRIP=1 modules_install 7.打包这个命令的作用是把/lib/modules/5.17.3中对应的.ko驱动打包到initrd.img文件中。 mkinitramfs /lib/modules/5.17.3 -o /boot/initrd.img-5.17.3-generic 8.到此为止,构建内核完毕,把内核映象和System.map拷贝到/boot/下 #cp /usr/src/linux-4.18.14/arch/x86/boot/bzImage /boot/vmlinuz-4.18.14-generic #cp /usr/src/linux-4.18.14/System.map /boot/System.map-4.18.14 9. 修改grub配置文件/boot/grub/grub.cfg chmod 777 grub.cfg update-grub2重启,启动grub时就可看到自己新的内核 reboot 在终端输入 uname -r 问题我按照上述操作来,到最后一步重启时发现进不了ubuntu了。 error: /XXX has invalid signature error: you need to load the kernel first 解决方案:关闭secure boot首先进入原来的内核,就是在启动的时候选择ubuntu高级选项 进入旧内核,然后按照如下操作即可。 终端输入:sudo apt install mokutil sudo mokutil --disable-validation 然后输入一个密码,后面会用到 reboot重启 四个选项,选择change secure boot state 比如第一步设置的密码为123,则char[1] =1,char[2] =2,就是第几个字符的意思 5.选择yes 6.重启即可 总结在编译内核的时候特别要注意.config文件,看到网上的一些教程修改.config文件后发现还是在安装模块以及后续会报错,所以在此特意提供了成功编译内核的.config文件来减少大家不必要的错误!!! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |