1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > CENTOS linux kernel 内核编译

CENTOS linux kernel 内核编译

时间:2023-06-17 14:24:53

相关推荐

CENTOS linux kernel  内核编译

为什么80%的码农都做不了架构师?>>>

题记:今天装docker,提示我最好用3.10以上的内核

一.环境

1.1 系统环境

[root@testkernels]#lsblsblklsb_release[root@testkernels]#lsb_release-aLSBVersion::base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarchDistributorID:CentOSDescription:CentOSrelease6.5(Final)Release:6.5Codename:Final

1.2 当前内核版本

Displayall259possibilities?(yorn)[root@testkernels]#more/proc/versionLinuxversion2.6.32-431.el6.x86_64(mockbuild@c6b8.bsys.)(gccversion4.4.70313(RedHat4.4.7-4)(GCC))#1SMPFriNov2203:15:09UTC

二.安装

2.1 获取高版本内核,并解压到/usr/src/kernels

网址:/

cd/root/softwgetcd/usr/src/kernelstar-xJvf/root/soft/linux-3.10.87.tar.xz

2.2 编译&安装

A:进入内核目录,执行make menuconfig 修改编译配置文件

[root@testkernels]#cdlinux-3.10.87/[root@testlinux-3.10.87]#pwd/usr/src/kernels/linux-3.10.87[root@testlinux-3.10.87]#makemenuconfigHOSTCCscripts/basic/fixdepHOSTCCscripts/kconfig/conf.oHOSTCCscripts/kconfig/lxdialog/checklist.oHOSTCCscripts/kconfig/lxdialog/inputbox.oHOSTCCscripts/kconfig/lxdialog/menubox.oHOSTCCscripts/kconfig/lxdialog/textbox.oHOSTCCscripts/kconfig/lxdialog/util.oHOSTCCscripts/kconfig/lxdialog/yesno.oHOSTCCscripts/kconfig/mconf.oSHIPPEDscripts/kconfig/zconf.tab.cSHIPPEDscripts/kconfig/zconf.lex.cSHIPPEDscripts/kconfig/zconf.hash.cHOSTCCscripts/kconfig/zconf.tab.oHOSTLDscripts/kconfig/mconfscripts/kconfig/mconfKconfig##usingdefaultsfoundin/boot/config-2.6.32-431.el6.x86_64#/boot/config-2.6.32-431.el6.x86_64:497:warning:symbolvalue'm'invalidforX86_INTEL_PSTATE/boot/config-2.6.32-431.el6.x86_64:565:warning:symbolvalue'm'invalidforPCCARD_NONSTATIC/boot/config-2.6.32-431.el6.x86_64:2730:warning:symbolvalue'm'invalidforMFD_WM8400/boot/config-2.6.32-431.el6.x86_64:2731:warning:symbolvalue'm'invalidforMFD_WM831X/boot/config-2.6.32-431.el6.x86_64:2732:warning:symbolvalue'm'invalidforMFD_WM8350/boot/config-2.6.32-431.el6.x86_64:2745:warning:symbolvalue'm'invalidforMFD_WM8350_I2C/boot/config-2.6.32-431.el6.x86_64:2747:warning:symbolvalue'm'invalidforAB3100_COR

注意:此处我的系统是64位,所以要选用64-bit kernel

然后保存,检查配置文件 .config

[root@testlinux-3.10.87]#ls-al总用量684drwxrwxr-x23rootroot40968月:39.drwxr-xr-x.4wwwroot40968月:16..drwxrwxr-x32rootroot40968月1711:52archdrwxrwxr-x3rootroot40968月1711:52block-rw-r-----1rootroot1198348月:39.config-rw-rw-r--1rootroot186938月1711:52COPYING-rw-rw-r--1rootroot953178月1711:52CREDITSdrwxrwxr-x4rootroot40968月

B:编译 make all 这一步 执行的时间很长,我这边有一个小时左右

[root@testlinux-3.10.87]#pwd/usr/src/kernels/linux-3.10.87[root@testlinux-3.10.87]#makeall

C: 安装模块

[root@testlinux-3.10.87]#makemodules_install

D:执行make install

[root@testlinux-3.10.87]#makeinstallsh/usr/src/kernels/linux-3.10.87/arch/x86/boot/install.sh3.10.87arch/x86/boot/bzImage\System.map"/boot"ERROR:modinfo:couldnotfindmodulext_MARKERROR:modinfo:couldnotfindmoduleipt_MASQUERADEERROR:modinfo:couldnotfindmoduleiptable_natERROR:modinfo:couldnotfindmodulenf_natERROR:modinfo:couldnotfindmodulevmhgfsERROR:modinfo:couldnotfindmodulevsockERROR:modinfo:couldnotfindmodulevmware_balloonERROR:modinfo:couldnotfindmodulevmci[root@testlinux-3.10.87]#

报错了

暂时未解决

解决问题:在系统上lsmod 确实有上面几个模块

[root@test2.6.32-504.3.3.el6.x86_64]#lsmod|grepxt_MARKxt_MARK10573[root@test2.6.32-504.3.3.el6.x86_64]#pwd/usr/src/kernels/2.6.32-504.3.3.el6.x86_64

但是我在/usr/src/kernels/2.6.32-504.3.3.el6.x86_64/.config 里也没找到这些模块

[root@test2.6.32-504.3.3.el6.x86_64]#grepipt_MASQUERADE.config[root@test2.6.32-504.3.3.el6.x86_64]#grepxt_MARK.config[root@test2.6.32-504.3.3.el6.x86_64]#grepiptable_nat.config[root@test2.6.32-504.3.3.el6.x86_64]#grepnf_nat.config[root@test2.6.32-504.3.3.el6.x86_64]#grepvmhgfs.config[root@test2.6.32-504.3.3.el6.x86_64]#grepvsock.config[root@test2.6.32-504.3.3.el6.x86_64]#grepvmware_balloon.config[root@test2.6.32-504.3.3.el6.x86_64]#grepvmci.config[root@test2.6.32-504.3.3.el6.x86_64]#lsmod|grepxt_MARKxt_MARK10573[root@test2.6.32-504.3.3.el6.x86_64]#pwd/usr/src/kernels/2.6.32-504.3.3.el6.x86_64[root@test2.6.32-504.3.3.el6.x86_64]#pwd/usr/src/kernels/2.6.32-504.3.3.el6.x86_64

所以上面的报错可能不影响正常使用,正在继续测试中

E:修改启动文件/boot/grub/grub.conf

步骤:先备份该文件

[root@testboot]#cdgrub/[root@testgrub]#ls-al总用量280drwxr-xr-x.2rootroot10248月2422:26.dr-xr-xr-x.5rootroot10248月2422:12..-rw-r--r--.1rootroot6310月25device.map-rw-r--r--.1rootroot1338010月25e2fs_stage1_5-rw-r--r--.1rootroot126月25fat_stage1_5-rw-r--r--.1rootroot1174810月25ffs_stage1_5-rw-------1rootroot10808月2422:26grub.conf-rw-------1rootroot10808月2422:26grub.conf.bak-rw-r--r--.1rootroot1175610月25iso9660_stage1_5-rw-r--r--.1rootroot1326810月25jfs_stage1_5lrwxrwxrwx.1rootroot1110月25menu.lst->./grub.conf-rw-r--r--.1rootroot1195610月25minix_stage1_5-rw-r--r--.1rootroot1441210月25reiserfs_stage1_5-rw-r--r--.1rootroot134111月15splash.xpm.gz-rw-r--r--.1rootroot51210月25stage1-rw-r--r--.1rootroot12610010月25stage2-rw-r--r--.1rootroot1202410月25ufs2_stage1_5-rw-r--r--.1rootroot1136410月25vstafs_stage1_5-rw-r--r--.1rootroot1396410月25xfs_stage1_5[root@testgrub]#pwd/boot/grub[root@testgrub]#cpgrub.confgrub.conf.bak

然后修改参数default=0

0表示启动第一个

1表示启动第二个

下面是我的已修改版:

[root@testgrub]#lessgrub.conf#grub.confgeneratedbyanaconda##Notethatyoudonothavetorerungrubaftermakingchangestothisfile#NOTICE:Youhavea/bootpartition.Thismeansthat#allkernelandinitrdpathsarerelativeto/boot/,eg.#root(hd0,0)#kernel/vmlinuz-versionroroot=/dev/mapper/VolGroup-lv_root#initrd/initrd-[generic-]version.img#boot=/dev/sdadefault=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitleCentOS(3.10.87)root(hd0,0)kernel/vmlinuz-3.10.87roroot=/dev/mapper/VolGroup-lv_rootrd_NO_LUKSrd_NO_MDrd_LVM_LV=VolGroup/lv_swapcrashkernel=auto.UTF-8rd_LVM_LV=VolGroup/lv_rootKEYBOARDTYPE=pcKEYTABLE=usrd_NO_DMrhgbquietinitrd/initramfs-3.10.87.imgtitleCentOS(2.6.32-431.el6.x86_64)root(hd0,0)kernel/vmlinuz-2.6.32-431.el6.x86_64roroot=/dev/mapper/VolGroup-lv_rootrd_NO_LUKSrd_NO_MDrd_LVM_LV=VolGroup/lv_swapcrashkernel=auto.UTF-8rd_LVM_LV=VolGroup/lv_rootKEYBOARDTYPE=pcKEYTABLE=usrd_NO_DMrhgbquietinitrd/initramfs-2.6.32-431.el6.x86_64.img

三 验证

3.1 重启

[root@testgrub]#reboot

3.2 检查

[root@testgrub]#uname-aLinuxtest.localdomain3.10.87#1SMPMonAug2421:43:03CSTx86_64x86_64x86_64GNU/Linux[root@testgrub]#cat/proc/versionLinuxversion3.10.87(root@test.localdomain)(gccversion4.4.70313(RedHat4.4.7-16)(GCC))#1SMPMonAug2421:43:03CST[root@testgrub]#

参考文章:/27771627/viewspace-1256552

//11/kernel-install-error-could-not-find-module/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。