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

centos linux内核编译环境 CENTOS linux kernel 内核编译

时间:2023-08-29 13:14:23

相关推荐

centos linux内核编译环境 CENTOS linux kernel  内核编译

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

一.环境

1.1 系统环境

[root@testkernels]#lsb

lsblklsb_release

[root@testkernels]#lsb_release-a

LSBVersion::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-noarch

DistributorID:CentOS

Description:CentOSrelease6.5(Final)

Release:6.5

Codename:Final

1.2 当前内核版本

Displayall259possibilities?(yorn)

[root@testkernels]#more/proc/version

Linuxversion2.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/soft

wget

cd/usr/src/kernels

tar-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]#makemenuconfig

HOSTCCscripts/basic/fixdep

HOSTCCscripts/kconfig/conf.o

HOSTCCscripts/kconfig/lxdialog/checklist.o

HOSTCCscripts/kconfig/lxdialog/inputbox.o

HOSTCCscripts/kconfig/lxdialog/menubox.o

HOSTCCscripts/kconfig/lxdialog/textbox.o

HOSTCCscripts/kconfig/lxdialog/util.o

HOSTCCscripts/kconfig/lxdialog/yesno.o

HOSTCCscripts/kconfig/mconf.o

SHIPPEDscripts/kconfig/zconf.tab.c

SHIPPEDscripts/kconfig/zconf.lex.c

SHIPPEDscripts/kconfig/zconf.hash.c

HOSTCCscripts/kconfig/zconf.tab.o

HOSTLDscripts/kconfig/mconf

scripts/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

总用量684

drwxrwxr-x23rootroot40968月:39.

drwxr-xr-x.4wwwroot40968月:16..

drwxrwxr-x32rootroot40968月1711:52arch

drwxrwxr-x3rootroot40968月1711:52block

-rw-r-----1rootroot1198348月:39.config

-rw-rw-r--1rootroot186938月1711:52COPYING

-rw-rw-r--1rootroot953178月1711:52CREDITS

drwxrwxr-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]#makeinstall

sh/usr/src/kernels/linux-3.10.87/arch/x86/boot/install.sh3.10.87arch/x86/boot/bzImage\

System.map"/boot"

ERROR:modinfo:couldnotfindmodulext_MARK

ERROR:modinfo:couldnotfindmoduleipt_MASQUERADE

ERROR:modinfo:couldnotfindmoduleiptable_nat

ERROR:modinfo:couldnotfindmodulenf_nat

ERROR:modinfo:couldnotfindmodulevmhgfs

ERROR:modinfo:couldnotfindmodulevsock

ERROR:modinfo:couldnotfindmodulevmware_balloon

ERROR:modinfo:couldnotfindmodulevmci

[root@testlinux-3.10.87]#

报错了

暂时未解决

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

[root@test2.6.32-504.3.3.el6.x86_64]#lsmod|grepxt_MARK

xt_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_MARK

xt_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

总用量280

drwxr-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_5

lrwxrwxrwx.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/sda

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

titleCentOS(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_DMrhgbquiet

initrd/initramfs-3.10.87.img

titleCentOS(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_DMrhgbquiet

initrd/initramfs-2.6.32-431.el6.x86_64.img

三 验证

3.1 重启

[root@testgrub]#reboot

3.2 检查

[root@testgrub]#uname-a

Linuxtest.localdomain3.10.87#1SMPMonAug2421:43:03CSTx86_64x86_64x86_64GNU/Linux

[root@testgrub]#cat/proc/version

Linuxversion3.10.87(root@test.localdomain)(gccversion4.4.70313(RedHat4.4.7-16)(GCC))#1SMPMonAug2421:43:03CST

[root@testgrub]#

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

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