怎么样安装kernel devel 下载-devel

本文出自 && 博客,请务必保留此出处
在基于CentOS平台的工作过程中,难免有时需要升级或者降级内核以验证功能、调试性能或者更新整个系统。
如果从头重新编译一个内核,由于现在内核特性越来越复杂,依赖的库或者工具也不少,加之重新编译耗时不菲,了解更新内核的多种方式就显得尤为必要。
下面根据笔者最近的工作,总结了三种方法,供大家参考。
如果机器不能联网,可以下载现有内核包到本地机器,直接在本地更新
1.从http://ftp.scientificlinux.org/linux/scientific/7.0/x86_64/updates/security/下载需要的颁布rpm
2. [root@localhost os2]# scp root@192.168.1.64:/home/worker/kernel-3.10.0-123.1.2.el7.x86_64.rpm&
root@192.168.1.64's password:
kernel-3.10.0-123.1.2.el7.x86_64.rpm & & & & & & & & & & & & & & & & & & & & 100% & 29MB &28.9MB/s & 00:00
3.[root@localhost os2]# yum install kernel-3.10.0-123.1.2.el7.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Examining kernel-3.10.0-123.1.2.el7.x86_64.rpm: kernel-3.10.0-123.1.2.el7.x86_64
Marking kernel-3.10.0-123.1.2.el7.x86_64.rpm to be installed
Resolving Dependencies
--& Running transaction check
---& Package kernel.x86_64 0:3.10.0-123.1.2.el7 will be installed
--& Finished Dependency Resolution
epel/x86_64/metalink & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &| 5.2 kB &00:00:00
epel/x86_64 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & | 4.3 kB &00:00:01
epel/x86_64/updateinfo & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &| 517 kB &00:00:01
epel/x86_64/primary_db & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &| 4.0 MB &00:02:36
如果机器已经联网,直接利用包管理工具更新,需要注意的是现在3.0以上的内核引入了签名机制,需要导入签名的key,参考步骤如下:
1、导入keyrpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
当然,如果已经修改了repo的gpgcheck=0也可以不导入key
2、安装elrepo的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
3、安装内核在yum的ELRepo源中,有mainline颁布的,可以这样安装:&yum --enablerepo=elrepo-kernel install& kernel-ml-devel kernel-ml -y
当然也可以安装long term的:
yum --enablerepo=elrepo-kernel &install &kernel-lt -y
http://elrepo.org/linux/kernel/el6/x86_64/RPMS/
[root@server-mysql yum.repos.d]# yum --enablerepo=elrepo-kernel
|grep kernel*
Unable to read consumer identity
* elrepo-kernel: mirrors.tuna.
abrt-addon-kerneloops.x86_64
2.0.8-6.el6
@anaconda-RedHatEnterpriseLinux-.x86_64/6.3
dracut-kernel.noarch
004-283.el6
@anaconda-RedHatEnterpriseLinux-.x86_64/6.3
kernel.x86_64
2.6.32-279.el6
@anaconda-RedHatEnterpriseLinux-.x86_64/6.3
kernel-devel.x86_64
2.6.32-279.el6
@anaconda-RedHatEnterpriseLinux-.x86_64/6.3
kernel-firmware.noarch
2.6.32-279.el6
@anaconda-RedHatEnterpriseLinux-.x86_64/6.3
kernel-headers.x86_64
2.6.32-279.el6
@anaconda-RedHatEnterpriseLinux-.x86_64/6.3
libreport-plugin-kerneloops.x86_64
2.0.9-5.el6
@anaconda-RedHatEnterpriseLinux-.x86_64/6.3
abrt-addon-kerneloops.x86_64
2.0.8-40.el6.centos
dracut-kernel.noarch
004-409.el6_8.2
kernel.x86_64
2.6.32-642.3.1.el6
kernel-abi-whitelists.noarch
2.6.32-642.3.1.el6
kernel-debug.x86_64
2.6.32-642.3.1.el6
kernel-debug-devel.i686
2.6.32-642.3.1.el6
kernel-debug-devel.x86_64
2.6.32-642.3.1.el6
kernel-devel.x86_64
2.6.32-642.3.1.el6
kernel-doc.noarch
2.6.32-642.3.1.el6
kernel-firmware.noarch
2.6.32-642.3.1.el6
kernel-headers.x86_64
2.6.32-642.3.1.el6
kernel-lt.x86_64
3.10.102-1.el6.elrepo
elrepo-kernel
kernel-lt-devel.x86_64
3.10.102-1.el6.elrepo
elrepo-kernel
kernel-lt-doc.noarch
3.10.102-1.el6.elrepo
elrepo-kernel
kernel-lt-firmware.noarch
3.10.102-1.el6.elrepo
elrepo-kernel
kernel-lt-headers.x86_64
3.10.102-1.el6.elrepo
elrepo-kernel
kernel-ml.x86_64
4.6.4-1.el6.elrepo
elrepo-kernel
kernel-ml-devel.x86_64
4.6.4-1.el6.elrepo
elrepo-kernel
kernel-ml-doc.noarch
4.6.4-1.el6.elrepo
elrepo-kernel
kernel-ml-firmware.noarch
4.6.4-1.el6.elrepo
elrepo-kernel
kernel-ml-headers.x86_64
4.6.4-1.el6.elrepo
elrepo-kernel
libreport-plugin-kerneloops.x86_64
2.0.9-32.el6.centos
perf.x86_64
4.6.4-1.el6.elrepo
elrepo-kernel
实际工作当中经常碰到需要修改内核配置,编译驱动,调节相关参数等,这就需要定制内核,为此需要手动生成新的内核。还是以3.10.0-123.el7为例子,一般步骤如下:
1.先下载内核:
wget&http://vault.centos.org//7.0.1406/os/Source/SPackages/kernel-3.10.0-123.el7.src.rpm
接着解压相关代码:
rpm2cpio kernel-3.10.0-123.el7.src.rpm |cpio -div
默认在/usr/src放有一份kernel的头文件,这样在不需要下载整个内核源代码的情况下就可以编译自己编写的内核模块,如果有patch需要打的话,用patch -p1 *.patch命令给内核打上相应的patch。
2.更新配置文件.config
可以获取系统当前的config文件,也可以用默认的配置文件,比如x86_64_defconfig:
cp /boot/config-3.10.0-123.el7.x86_64 &.config &和make oldconfig生产的config一致
然后用make menuconfig来配置。
3.编译和安装
默认的情况下, 内核和initrd会安装到/boot下面,而驱动模块会安装到/lib/modules/`uname -r`下,如果可以都安装都默认的位置,直接运行下面的命令即可:
make -j8; make modules_
如果需要安装到指定的路径,请设置下面的环境变量:
export INSTALL_PATH=&.
export INSTALL_MOD_PATH=
4.创建initrd.img
initrd.img即为初始化的ramdisk文件,它是一个内存镜像文件。它是把一些最基本的驱动程序和命令工具打包而成,作用就是在系统还没有挂载根分区前,保证系统能够执行基础的初始化和加载一些基本的驱动,比如挂载scsi驱动等。制作initrd传统的方法是用mkinitramfs这一个系统工具,现在mkinitrd会调用dracut完成实际的工作。比如下面的命令进行:
mkinitrd3.0.4 -o /boot/initrd.img-3.0.4
然后把生成的initrd映像拷贝到/boot下面即可。
5.更新grub
为了让boot loader能够找到刚生成的内核和initrd映像,需要修改grub。注意如果使用的是grub2,不宜直接修改/boot/grub2/grub.cfg文件,而应该修改grub2的配置文件。grub2默认的配置文件在/etc/grub2.cfg。更新完这个文件之后,需要运行下面的文件:
grub2-mkconfig
至于启动那个linux镜像,由/etc/default/grub的GRUB_DEFAULT=saved来决定;
其意思是上一次使用的value;
修改内核默认启动项
grub2-set-default 0
这种方法需要注意kernel和模块签名的问题,如果模块签名没有通过内核检查,将不会加载,这可能导致生成系统启动失败。
总而言之,工程师和维护人员需要集合实际情况灵活选择合适的方法来更新内核。
阅读(...) 评论()Centos6.5 升级完内核到3.10后,
无法安装kernel-devel - 简书
Centos6.5 升级完内核到3.10后,
无法安装kernel-devel
首先升级内核到3.101、导入public keyrpm --import 2、安装ELRepo到CentOS-6.5中rpm -ivh 3、安装 kernel-lt(lt=long-term)yum --enablerepo=elrepo-kernel install kernel-lt -y或者安装kernel-ml(ml=mainline)yum --enablerepo=elrepo-kernel install kernel-ml -y4、编辑grub.conf文件,修改Grub引导顺序vim /etc/grub.conf
# grub.conf generated by anaconda## Note that you do not have to rerun grub after making changes to this file# NOTICE:
You have a /boot partition.
This means that#
all kernel and initrd paths are relative to /boot/, eg.#
root (hd0,0)#
kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root#
initrd /initrd-[generic-]version.img#boot=/dev/sdadefault=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle CentOS (3.10.104-1.el6.elrepo.x86_64)
root (hd0,0)
kernel /vmlinuz-3.10.104-1.el6.elrepo.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root
KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-3.10.104-1.el6.elrepo.x86_64.imgtitle CentOS (2.6.32-431.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root
KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.el6.x86_64.img
5.修改default的值, 然后重启就升级完成了
但是有会出现一个问题, 使用 yum 安装 kernel-devel会发现安装的还是老的版本, 这时可以去
下载对应的版本
然后安装就可以了linux 驱动安装_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
linux 驱动安装
USB驱动安装经验
你可能喜欢怎么装kernel-headers和kernel-devel,pacman -S xxx找不到额【archlinux吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:9,313贴子:
要编译博通无线网卡驱动,make不成功,怀疑没装好kernel-headers和kernel-devel,但是用pacman -S装不上菜鸟一枚,该用什么命令呢?
arch,办公学习必备,京东品质保证,超低价格,限时抢购!arch,网上购物选JD,天天低价 畅选无忧.
        ————Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/ Firefox/16.0
zshpacman -S linux-&tab&
./configure咯,缺啥补啥
登录百度帐号推荐应用

我要回帖

更多关于 centos kernel devel 的文章

 

随机推荐