001 如何获取、编译、安装Linux内核源代码 |
您所在的位置:网站首页 › linux编译后怎么运行 › 001 如何获取、编译、安装Linux内核源代码 |
目录
一、环境准备 二、获取源代码 三、编译 四、安装 五、配置开启启动项 六、安装过程中遇到的问题 一、环境准备1、VMware Workstation虚拟机 2、虚拟机中安装 Ubuntu-20.04.1 操作系统 (内核版本为 5.4.0) 二、获取源代码1、www.kernel.org 2、下载后源代码为 linux-5.8.7.tar.xz 格式压缩包,存放于/home/ubuntu/Desktop/Linux目录下,通过下面两条命令解压 cd /home/ubuntu/Desktop/Linux xz -d linux-5.8.7.tar.xz (生成linux-5.8.7.tar) tar -xvf linux-5.8.7.tar (生成linux-5.8.7目录) 三、编译1、环境准备(由于在安装Ubuntu系统时,使用了最小化安装,所以编译时会缺少一些软件包) sudo apt install make gcc libncurses-dev flex bison libssl-dev libelf-dev2、配置内核(以下操作均在 /home/ubuntu/Desktop/Linux/linux-5.8.7 目录下完成) (1) 保持源码干净 make mrproper 此操作会将历史编译过程中配置的内核功能配置文件清除掉,只有第一次执行内核编译前才进行此操作,其它情 况若需要清除前一次编译过程的残留数据,只需用下面的命令: make clean 此命令仅删除编译过程产生的中间文件和目标文件,而不会删除历史配置。 (2)设置内核功能选项 在正式编译内核之前,我们首先必须配置需要包含哪些模块。 拷贝当前内核的配置文件,然后使用可靠的 menuconfig 命令来做任何必要的更改。 cp /boot/config-$(uname -r) .config之后执行命令 make menuconfig ,可在字符界面中显示功能配置的图形界面,如下图。 根据上图中功能提示配置需要的功能,本次实验中采用的是默认的配置,通过键盘上的左右键选择保存配置, 得到新内核的配置文件,如下图。使用键盘上的左右键选择按钮,通过键盘上的回车键确认保存配置。 3、编译内核和模块 (1)清除之前编译出的中间文件和目标文件 make clean (2)编译内核 make bzImage 或者 make bzImage -jn -jn 意思是并发执行,可以提高速度,一般情况 下n不要大于CPU核数 例: -j4 表示同时编译的任务数。如果操作系统中有4个CPU核心,可通过-j4加快编译的速度。 (3)编译内核模块 make modules 四、安装1、安装内核模块 make modules_install 2、安装内核 make install 五、配置开启启动项修改 Ubuntu 操作系统的默认启动项,使系统重启后进入新编译的linux-5.8.7内核。 1、输入下列命令将内核作为引导,将数字更改为自己编译的版本号 sudo update-initramfs -c -k 5.8.7 2、更新启动项列表 update-grub2 3、修改默认启动菜单的配置文件 sudo vim /etc/default/grub 注释 GRUP_TIMEOUT_STYLE=hidden 列。 修改 GRUB_TIMEOUT 的值为10 。(可修改为其它数值) GTUB_DEFAULT=0,表示从第一个内核启动(linux-5.8.7位于第一个)。 保存修改,重启系统,可看到启动菜单项。选择advanced,进入后选择刚编译安装好的内核进入即可。 3、确认内核 uname -r 查看 当前运行内核版本 是否与 安装的内核版本 一致。 六、安装过程中遇到的问题1、虚拟机分配内存过小,导致出现如下图错误 not syncing: System is deadlocked on Memory
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |