当前位置: 首页 > Linux

CentOS7编译安装最新的LinuxKernel6.0rc3

时间:2023-04-06 19:00:02 Linux

哪个小子不想手动编译一份自己的内核?安装编译环境CentOS7安装必要的包yumgroupinstall"开发工具"-y&&yuminstallopenssl-devel-y&&yuminstallrpm-buildredhat-rpm-configasciidochmaccalcperl-ExtUtils-Embedpesignxmlto-y&&yuminstallaudit-libs-develbinutils-develelfutils-develelfutils-libelf-devel-y&&yuminstallncurses-develnewt-develnumactl-develpciutils-develpython-develzlib-devel-yCentOS7更新gcc版本必须升级gcc版本,gcccentOS7自带的版本是4.8.5,编译内核时会出现错误sudoyuminstallcentos-release-scl-y&&sudoyuminstalldevtoolset-8-gcc*-y&&sclenabledevtoolset-8bash永久替换旧的gcc(可选操作)mv/usr/bin/gcc/usr/bin/gcc-4.8.5&&ln-s/opt/rh/devtoolset-8/root/bin/gcc/usr/bin/gcc&&mv/usr/bin/g++/usr/bin/g++-4.8.5&&ln-s/opt/rh/devtoolset-8/root/bin/g++/usr/bin/g++下载最新的LinuxKernel6.0rc3下载压缩包6.0rc3来自kernel.org,203MB,由于国内网络特殊情况下下载会很慢,请自行准备加速手段或耐心等待。wgethttps://git.kernel.org/torval...zxvflinux-6.0-rc3.tar.gzcdlinux-6.0-rc3configureconfig选择以下操作之一配置config文件,如果你不确定,选择第一个,有图形配置界面。编辑配置文件以选择编译期间所需的内核模块或组件。不知不晓,默认全程。通过menuconfigmakemenuconfig在linux-6.0-rc3目录下输入这条命令,会进入一个配置界面,不明白的保持默认配置,按右方向键选择save回车,保存.根据提示配置文件,cat.config//检查是否保存正确。基于已有的内核拷贝生成config,或者通过已有的内核参数生成新的配置参数文件.config。注意/boot/config-3.10.0-957.el7.x86_64,就是/boot/目录下的类似目录。可能不同的CentOS7路径名不同。应根据实际机器的目录进行更改。cp/boot/config-3.10.0-957.el7.x86_64./.configmakeoldconfig//这里需要一路回车执行cat.config进行编译。我想再次提醒你。不是凡人,执行下面的命令,你就是编译Linux内核的人。-j12参数是因为我给虚拟机分配了12个核心,所以这12个核心应该不会闲着。根据自己机器的情况,可以改为-j6、-j8甚至-j100。为自己测试不计后果的改革的后果。编译过程费时费力,取决于编译机的性能。如果1C1G云服务器执行编译,可以先休眠。make-j12all运行上述命令后,如果内核模块没有特殊要求,可以去掉内核模块的调试信息,节省一些硬盘空间。makeINSTALL_MOD_STRIP=1modules_install>/dev/null&&makemodules_install&&makeinstall设置默认新内核启动sudoawk-F\''$1=="menuentry"{printi++":"$2}'/etc/grub2.cfg&&sudogrub2-set-default0&&sudogrub2-mkconfig-o/boot/grub2/grub.cfgCompileintorpmpackage编译一个通用的RPM包,可以直接安装在其他CentOS7机器上,省去上面繁琐的手动编译过程。在linux-6.0-rc3当前目录下执行:yum-yinstallrpm-build&&makerpm-pkg-j32如果需要压缩卷,可以将makerpm-pkg-j32换成makeINSTALL_MOD_STRIP=1rpm-pkg.该命令将执行一段时间。执行完不出意外,系统的~/rpmbuild/RPMS/x86_64/目录下会出现三个rpm安装包。-rw-r--r--。1根根693546008月31日19:46kernel-6.0.0_rc3-1.x86_64.rpm-rw-r--r--。1rootroot179586568Aug3119:48kernel-devel-6.0.0_rc3-1.x86_64.rpm-rw-r--r--。1rootroot1545516Aug3119:47kernel-headers-6.0.0_rc3-1.x86_64.rpm在其他机器上安装(yumlocalinstallkern*-y)这三个rpm包在CentOS7上更新内核。三个包完成后,必须更新启动项。sudoawk-F\''$1=="menuentry"{printi++":"$2}'/etc/grub2.cfg&&sudogrub2-set-default0&&sudogrub2-mkconfig-o/boot/grub2/grub.cfg这个这是我打包的三个rpm包。有兴趣的可以下载安装试试。不做可靠保证,请避免在生产环境中直接使用。