为什么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/