内核升级方法

合集下载

内核版本升级的步骤

内核版本升级的步骤
# cp /usr/src/linux-2.6.18/drivers/scsi/BusLogic.o /lib/modules/2.6.18/kernel/drivers/scsi
不过别忘记,复制过后再执行一下make install。这一步若卡住了,下面的都无法进行。
四、启动新内核
10、将新内核和System.map文件拷贝到/boot目录下,依次执行以下命令:
(2) 下载mkinitrd-4.1.18-2.i386.rpm
/Fedora/linux/3/i386/RPMS.core/mkinitrd-4.1.18-2.i386.rpm
(3) 下载lvm2-2.00.25-1.01.i386.rpm
/Fedora/linux/3/i386/RPMS.core/lvm2-2.00.25-1.01.i386.rpm
(3)File system--->(以下9个选项是关于ext2和ext3文件系统配置,全部选上)
Second extended fs support
Ext2 extended attributes
Ext2 POSIX Access Control Lists
Ext2 Security Labels
Kernel panic – not syncing: No init found. Try passing init = option to kernel
(我的机器就是在重启之后出现第三种错误,进不去系统,郁闷死,只好重装了,如果依照本文做完所有步骤,当你重启Linux系统后,若不幸进不去 2.6.18内核,你会发现你的出错信息就是上面三种了~~~哈!)
此时会出现一个图形界面,列出了所有的内核配置选项,有的选项下还有子选项,你可以用方向键来选择,用Y键来确定。经过我多次试验,大多数选项默认就行,以下几个选项必须选择(请认真核对下面每一个选项,否则编译很有可能前功尽弃):

Linux终端命令系统更新和升级

Linux终端命令系统更新和升级

Linux终端命令系统更新和升级随着科技的迅速发展和技术的不断变革,操作系统的更新和升级成为了必不可少的环节,特别是在Linux终端系统中。

本文将介绍如何在Linux终端系统中进行系统的更新和升级,以帮助用户保持系统的稳定性、安全性和功能性。

1. 检查系统更新系统更新是确保系统安全性的关键步骤。

在Linux终端中,我们可以使用以下命令来检查系统更新:```shell$ sudo apt update```该命令将会检查系统中可用的更新。

如果有可用的更新,可以通过以下命令进行系统更新:```shell$ sudo apt upgrade```这将会根据系统需要更新已安装的软件包。

2. 升级Linux内核Linux内核的升级对于系统的性能和功能非常重要。

在终端中,我们可以通过以下步骤来升级Linux内核:首先,我们需要安装Ukuu工具,它是一个用于安装和管理Linux 内核版本的工具。

使用以下命令来安装Ukuu:```shell$ sudo apt-add-repository -y ppa:teejee2008/ppa$ sudo apt update$ sudo apt install ukuu```安装完成后,我们可以使用Ukuu来查看可用的内核版本,并进行升级。

可以通过以下命令来打开Ukuu:```shell$ ukuu-gtk```在Ukuu界面中,选择一个新的内核版本,并点击"Install"按钮来开始升级过程。

升级完成后,重新启动系统以使新的内核版本生效。

3. 更新软件包管理器在Linux终端中,系统的软件包管理器负责管理和安装软件包。

因此,及时更新软件包管理器也是非常重要的。

不同的发行版使用不同的软件包管理器,下面给出一些常见发行版的更新命令:Ubuntu/Debian:```shell$ sudo apt update$ sudo apt upgrade```CentOS/Fedora:```shell$ sudo dnf update$ sudo dnf upgrade```Arch Linux:```shell$ sudo pacman -Syu```4. 安装和更新软件包在Linux终端中,我们可以使用软件包管理器来安装和更新软件包。

Linux kernel内核升级全过程,教你一次成功

Linux kernel内核升级全过程,教你一次成功

序言由于开发环境需要在linux-2.6内核上进行,于是准备对我的虚拟机上的Linux系统升级。

没想到这一弄就花了两天时间(反复装系统,辛苦啊~~),总算把Linux系统从2.4.20-8内核成功升级到了2.6.18内核。

网上虽然有很多介绍Linux内核升级的文章,不过要么过时,下载链接失效;要么表达不清,不知所云;更可气的是很多文章在转载过程中命令行都有错误。

刚开始我就是在这些“攻略”的指点下来升级的,以致于浪费了很多时间。

现在,费尽周折,升级成功,心情很爽,趁性也来写个“升级攻略”吧!于是特意又在虚拟机上重新安装一个Linux系统,再来一次完美的升级,边升级边记录这些步骤,写成一篇Linux内核升级记实录(可不是回忆录啊!),和大家一起分享~~!一、准备工作首先说明,下面带#号的行都是要输入的命令行,且本文提到的所有命令行都在终端里输入。

启动Linux系统,并用根用户登录,进入终端模式下。

1、查看Linux内核版本# uname -a如果屏幕显示的是2.6.x,说明你的已经是2.6的内核,也用不着看下文了,该干什么干什么去吧!~~~如果显示的是2.4.x,那恭喜你,闯关通过,赶快进行下一步。

2、下载2.6内核源码下载地址:/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz23、下载内核升级工具(1)下载module-init-tools-3.2.tar.bz2/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.bz2(2)下载mkinitrd-4.1.18-2.i386.rpm/fedora/linux/3/i386/RPMS.core/mkinitrd-4.1.18-2.i386.rpm(3)下载lvm2-2.00.25-1.01.i386.rpm/fedora/linux/3/i386/RPMS.core/lvm2-2.00.25-1.01.i386.rpm(4)下载device-mapper-1.00.19-2.i386.rpm/fedora/linux/3/i386/RPMS.core/device-mapper-1.00.19-2.i386.rpm(2.6.18内核和这4个升级工具我都有备份,如果以上下载地址失效,请到/guestbook留下你的邮箱,我给你发过去)好啦,2.6内核和4个升级工具都下载完了(少一个也不行,如果没有下载齐全,请不要尝试下面的步骤,升级是不会成功的),下面回到Linux系统中开始配置工作吧。

ubuntu12.04 升级内核实战

ubuntu12.04 升级内核实战

ubuntu12.04 升级内核实战ubuntu 12.04内核是linux 3.2.0-24,其实升级到最新版本3.3.4也没什么很大意义,主要是集成了一些新的驱动和一些普通用户用不到的功能,所以基本上本文纯属折腾,但不要随便升级当班设备啊!好了,不废话了,我们开始...........首先是准备条件:①、有一台装有ubuntu 12.04的机器②、先移步到/下载linux稳定版内核③、拥有root权限④、并将下载好的内核解压到/usr/src下,使用命令如下:#tar jxvf linux-3.3.4.tar.bz2这样你就可以得到一个名叫linux-3.3.4好,现在一切都准备好了,接下来就开始配置,编译,安装新内核吧!1,进入刚才的文件夹/usr/src/linux-3.3.4,输入命令:$ make mrproper该命令的功能在于清除当前目录下残留的.config和.o文件,这些文件一般是以前编译时未清理而残留的。

而对于第一次编译的代码来说,不存在这些残留文件,所以可以略过此步,但是如果该源代码以前被编译过,那么强烈建议执行此命令,否则后面可能会出现未知的问题。

2,配置编译选项作为操作系统的内核,其内容和功能必然非常繁杂,包括处理器调度,内存管理,文件系统管理,进程通讯以及设备管理等等,而对于不同的硬件,其配置选项也不相同,所以在编译源代码之前必须设置编译选项。

其实我觉得这一步是升级内核整个过程中最有技术含量的,因为要根据自己的需要正确选择yes or no需要对计算机方方面面的知识都有所了解。

但是这里的选项实在是太多了,大概有几百项之多,我以前曾尝试着一项一项的选,但是最后还是放弃了,因为有很多选项不是很明白。

既然这样,难道没有什么简便的方法么?当然有!那就是make menuconfig 或者make xconfig。

我使用的是make menuconfig,但是前提条件是要装ncurses。

Linux系统如何优雅地升级内核详细步骤带你轻松搞定

Linux系统如何优雅地升级内核详细步骤带你轻松搞定

Linux系统如何优雅地升级内核详细步骤带你轻松搞定Linux系统内核作为操作系统的核心组件,对系统的性能和功能起着至关重要的作用。

随着技术的不断发展,Linux内核也在持续更新和优化,以满足不断变化的用户需求。

本文将介绍如何以一种优雅且安全的方式升级Linux系统内核,并详细阐述每个步骤。

升级内核前的准备工作在开始升级内核之前,我们需要做一些准备工作,以确保升级过程的顺利进行。

1.备份重要数据由于升级内核可能存在一些风险,我们强烈建议在操作之前备份重要的数据。

这可以帮助我们在升级失败时恢复系统或数据。

2.查看当前内核版本在进行内核升级之前,我们需要了解当前系统正在运行的内核版本。

可以使用以下命令来查看:```uname -r```此命令将显示当前正在运行的内核版本。

3.下载最新的内核源代码要进行内核升级,我们需要下载最新的内核源代码。

在Linux内核开发者的官方网站上可以找到最新的内核版本。

请注意,下载的是tarball文件。

升级内核的步骤一旦我们完成了准备工作,就可以按照以下步骤来优雅地升级内核。

1.解压内核源代码使用以下命令解压之前下载的内核源代码:```tar -xvf linux-x.x.x.tar.xz```将"linux-x.x.x"替换为你下载的内核版本的实际文件名。

2.配置内核选项进入解压后的内核源代码目录,并执行以下命令以开始配置选项:```cd linux-x.x.xmake menuconfig```此命令将启动一个图形界面,让你可以根据你的需要对内核选项进行配置。

你可以使用方向键浏览选项,使用空格键进行选择或取消选择,使用Enter键进行进入或退出子菜单。

配置选项对于不同的系统和需求会有所不同,因此我们建议根据你的具体情况谨慎选择。

选择完成后,保存并退出配置界面。

3.编译和安装内核配置选项完成后,我们可以开始编译和安装内核。

使用以下命令开始编译内核:```make```这将花费一些时间来完成编译过程。

RedHat5 内核升级指南

RedHat5 内核升级指南

RedHat5.3 升级内核到2.6.33 版本错误:insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists编译2.6.31内核后重启出现insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists解决方法:1,解压initrd文件[root@bogon ~]# cp /boot/initrd-2.6.30.4.img /tmp[root@bogon ~]# cd /tmp/[root@bogon tmp]# lsinitrd-2.6.30.4.img[root@bogon tmp]# mkdir newinitrd[root@bogon tmp]# cd newinitrd/[root@bogon newinitrd]# zcat ../initrd-2.6.30.4.img |cpio -i11537 blocks释放之后看到如下内容[root@bogon newinitrd]# lsbin dev etc init lib proc sbin sys sysroot2,ok,下边就是编辑init,删掉其中重复的四行中的两行echo "Loading dm-region-hash.ko module"insmod /lib/dm-region-hash.koecho "Loading dm-region-hash.ko module"insmod /lib/dm-region-hash.ko3,重新打包initrd[root@bogon newinitrd]# find .|cpio -c -o > ../initrd11538 blocks[root@bogon newinitrd]# cd ..[root@bogon tmp]# gzip -9 < initrd > initrd.img[root@bogon tmp]# lsinitrd-2.6.30.4.img initrd initrd.img newinitrd好了,initrd.img就是重新打包的initrd了,然后把initrd.img拷贝到/boot,更改grub.conf里边的initrd-2.6.30.4.img为initrd.img就可以了,这样“insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists”就不会有了其实将init文件的第二行“setquiet”去掉,你就知道initrd文件到底在做什么了本文来自CSDN博客,转载请标明出处:/jinxl560/archive/2009/09/17/4563716.aspx。

ubuntu16.04升级内核的方法步骤

ubuntu16.04升级内核的方法步骤

ubuntu16.04升级内核的⽅法步骤⼀、环境在虚拟机上运⾏的ubuntu16.04 , 使⽤命令uname -r查看当前系统内核版本当前版本为4.15.0-45-generic要升级的内核为4.20.2⼆、准备需要的材料选择对应的⽂件,我的是amd64使⽤命令下载(也可以⽹页下载)wget https:///~kernel-ppa/mainline/v4.20.2/linux-headers-4.20.2-042002_4.20.2-042002.201901171620_all.debwget https:///~kernel-ppa/mainline/v4.20.2/linux-headers-4.20.2-042002-generic_4.20.2-042002.201901171620_amd64.debwget https:///~kernel-ppa/mainline/v4.20.2/linux-image-unsigned-4.20.2-042002-generic_4.20.2-042002.201901171620_amd64.deb wget https:///~kernel-ppa/mainline/v4.20.2/linux-modules-4.20.2-042002-generic_4.20.2-042002.201901171620_amd64.deb三、安装使⽤命令sudo dpkg -i *.deb安装完成后,重启ubuntu系统使⽤命令uname -r查看当前版本号内核升级成功。

四、遇到问题及解决⽅案在安装过程中出现使⽤命令打开该⽂件sudo vi /etc/apt/sources.list保存退出,更新源sudo apt-get update,接下来就可以安装 libssl1.1 了,在终端输⼊命令sudo apt-get install libssl1.1再次执⾏sudo dpkg -i *.deb就可安装成功。

Ubuntu14.04Linux3.14.3内核升级

Ubuntu14.04Linux3.14.3内核升级

内核升级目标:升级Linux内核到最新版本当前环境:Vmware虚拟机中安装Ubuntu 14.04 LTS 其Linux内核为3.13.0用uname -a可以查看所有版本信息虚拟机配置为:内存512M,硬盘20G,其它默认设置。

Ubuntu安装时选择的是“使用整块硬盘”。

内核升级准备工作:1,首先需要到下载最新的Linux内核源码。

这里下载的是3.14.3版本。

2,需要正确编译内核,需要安装gcc以及安装相应的依赖包和库,Ubuntu中已经自带了gcc编译器,但是仍然需要安装一些其它的类库,整个过程可以使用Ubuntu的apt-get install命令方便的完成。

具体命令为:sudo apt-get install build-essential网络上有些说明中还指出,需要安装 kernel-package这个东西,因此也一并装上了。

sudo apt-get install kernel-package为了方便下载,我把Linux 3.14.3源码包下载在了windows中文件名为linux-3.14.3.tar.xz,要将它复制到虚拟机的Linux里,直接复制显然不可以,因此使用SSH方式复制。

为实现SSH登录和传送文件,需要安装openSSH,只需要安装Server就可以。

同样可以使用sudo apt-get install openssh-server命令完成。

安装完成后使用FileZilla软件,通过sFtp协议登录并将源码复制到linux中。

复制完成后,就可以正式开始升级内核了。

内核编译前的配置:进入Linux系统,为了不出现权限问题,我直接用su -命令用root用户操作。

Ubuntu是一个桌面系统,可能是出于安全性考虑,Ubuntu安装好后不能直接用su命令切换root,会提示su认证失败,这是由于Ubuntu锁住了root用户,这时只需要执行sudo password 命令,修改UNIX密码即可,密码就是安装Ubuntu时设置的那个。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内核升级方法:
一、将Linux内核从2.6.9.55直接升级到2.6.18.8
步骤:
1、将linux-2.6.18.8.tar.bz2放置在/usr/src/下然后解压:
cd /usr/src
tar -jxvf linux-2.6.18.8.tar.bz2
2、进入/usr/src目录,依次执行下列命令:
make mrproper(第一次编译内核不需要)
make menuconfig(直接保存退出)
make
make modules_install install
3、修改grub.conf文件
在/boot/grub/grub.conf 里新加enforcing =0
变成:
title Red Hat Enterprise Linux ES (2.6.18.8)
root (hd0,0)
kernel /vmlinuz-2.6.18.8 ro root=LABEL=/ enforcing=0 rhgb quiet
initrd /initrd-2.6.18.8.img
如果不加enfocing=0可能在重起后不能登录新编内核,并出现错误:
Mkrootdev:label /enforcing=0 not found
mount :error 6 mounting ext3
mount:error 2 mounting none
switchroot:mount failed:22
umount /initrd/dev failed:2
kernel panic –not synicncing:Attemped to kill init
分析:root找不到挂载点,所以不能启动。

另外需要注意的是enforcing=0和/与rhgb之间需要一个空格,否则错误信息同上。

4、重起,登录新编译的内核。

二、不在/usr/src目录下操作,在另外的目录下用shell脚本升级
我们在/dhcc目录下,建立个自己的目录,比如zhangbing,然后把linux-2.6.18.8.tar.bz2解压到这个目录下linux-2.6.18.8,同时建立一个目录build。

在linux-2.6.18.8目录中建立一个脚本shmake.sh
脚本内容如下:
# !/bin/sh
echo "make O=../build menuconfig"
make O=../build menuconfig
echo "make O=../build"
make O=../build
echo "make O=../build modules_install install"
make O=../build modules_install install
此脚本的目的在于每次编译不对原内核产生任何影响,每次编译的东东都放于build目录中了。

脚本执行完后,同第一种方法一样修改grub.conf文件。

三、自己定制一个系统
在10.10.151.135机器上,目录如下:/dhcc/zhangbing/work/linux-2.6.18.8,依次执行如下操作。

1、make mrproper (第一次编译内核不需要此步)
2、make menuconfig
3、make bzImage
4、make modules
5、make modules_install
然后开始自己定制一个*.img文件,不执行make install那一步
查看/lib/modules 目录下的文件,会发现一个2.6.18.8目录文件,这是刚刚编译过后生成的模块文件目录。

执行命令:mkinitrd /boot/initrd_2.6.18.8 2.6.18.8
cp /dhcc/zhangbing/work/linux-2.6.18.8/arch/i386/boot/bzImage /boot/bzImage.zhangbing cp /dhcc/zhangbing/work/linux-2.6.18.8/System.map /boot /System.map-2.6.18.8 rm -rf System.map
ln -s System.map-2.6.18.8 Systemp.map
注:最后这两步在第一次编译内核的时候不需要。

修改grub.conf文件,修改如下
title Red Hat Linux-zhangbing
root(hd0,0)
kernel /bzImage.zhangbing ro root=LABEL=/ enforcing=0 rhgb quiet
initrd /initrd_2.6.18.8
说明:我在执行mkinitrd /boot/initrd_2.6.18.8 2.6.18.8 这条命令的时候,分别遇到下列警告信息:
No module mptscsi found for kernel 2.6.18,aborting。

No module ata_piix found for kernel 2.6.18,aborting。

从网上查找到原因,是因为2.6.18.8模块目录下没有mptscsi,ata_piix这两个模块,和配置选项有关系。

修改/etc/modprobe.conf文件
把alias scsi_hostadapter1 mptscsi
alias scsi_hostadapter5 ata_piix 注释掉,改为
#alias scsi_hostadapter1 mptscsi
#alias scsi_hostadapter5 ata_piix
问题解决。

相关文档
最新文档