ubuntu命令安装内核源码及升级内核源码

合集下载

Ubuntu编译安装Linux内核过程(整理版)

Ubuntu编译安装Linux内核过程(整理版)

Ubuntu编译Linux内核过程一、首先解决Ubuntu代理上网的问题1、这种方法要用到/etc/apt/文件夹下的apt.conf文件。

如果您希望apt-get(而不是其他应用程序)一直使用http代理,您可以使用这种方式。

注意:某些情况下,系统安装过程中没有建立apt配置文件。

下面的操作将视情况修改现有的配置文件或者新建配置文件。

sudo gedit /etc/apt/apt.conf在您的apt.conf文件中加入下面这行(根据你的实际情况替换yourproxyaddress和proxyport)。

Acquire::http::Proxy "http://yourproxyaddress:proxyport";保存apt.conf文件。

如果代理服务器需要登录,那么可以在指定代理服务器地址的时候,用如下格式(根据情况把username,password, yourproxyaddress 和proxyport替换为相应内容):http_proxy=http://username:password@yourproxyaddress:proxyp ort2、然后在新立得设置http代理,在系统--系统管理--新立得软件包管理器--设置--首选项--网络里也要设置http的代理二、下载源代码和编译软件的准备下载内核源代码:/注意,点击2.6.39.3内核的F版,即完整版。

如果你懒得去网站点联接,运行下列命令:代码:$cd ~$wget/pub/linux/kernel/v2.6/linux-2.6.39.3. tar.bz2安装有关编译程序。

安装make ,gcc, make-kpkg,运行menuconfig 等等和编译内核相关的工具。

安装不了,请检查/etc/apt/sources.list 文件。

安装所需工具包有关命令:代码:$sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot三、解压源代码注意,网上很多教程上说应该解压到 /usr/src,纯属以讹传讹,linux掌门人linus说解压到任何目录上都可以。

Ubuntu下构建内核源码树的方法

Ubuntu下构建内核源码树的方法

Ubuntu 下构建内核源码树网上好多文章,他大爷的都是转来转去,每一篇中用的。

索性还是自己整理一篇吧。

网上牛人多,但是小白问题更多,更何况咱们这号不入门的,因为最近学内核,要写模块,模块要在源码树下编译安装,又习惯了Ubuntu的OS,不忍转向他方,还是好好摆置摆置它吧,找的几篇文章不怎么好用,下边开始吧。

PS:当前系统是上一篇配置SSH博文里Jun从Ubuntu9.04更新到Ubuntu 10.04的系统。

这个网上都这么装,就这样来吧。

1.安装编译内核所需要的软件build-essential、autoconf、automake、cvs、subversion$ sudo apt-get install build-essential kernel-package libncurses5-devlibncurses5这个软件包在使用menuconfig配置内核的时候会用到。

2.进入/usr/src ,在这里构建源码树,我们用下面指令查看可用的源码包:$ sudo apt-cache search linux-source我的提示是:linux-source - Linux kernel source with Ubuntu patcheslinux-source-2.6.32 - Linux kernel source for version 2.6.32 with Ubuntu patches3.那么就让我们来下载2.6.32版的kernel,通过下边命令:$ sudo apt-get install linux-source-2.6.32等待下载完成。

4.下载完成后,我们进入/usr/src ,默认会在这里,看看他的目录结构:(ls 一下)我的显示可以看到有两对儿Linux-header-2.6.* 的目录,你的应该是只有一对儿,之所以这样是以为我的是从9.04更新到10.4,Ubuntu会保留历史版本,不用管它,记住,这里linux-headers-2.6.32-34-generic 、linux-headers-2.6.32-34、linux-source-2.6.32.tar.bz2 ,这才是我们用到的。

Ubuntu 14.04.1 LTS上编译安装新的kernel

Ubuntu 14.04.1 LTS上编译安装新的kernel

Ubuntu 14.04.1 LTS上编译安装新的kernel1、kernel配置这里就不想自己一个一个地配了,故直接将当前Ubuntu 14.04.1 LTS的kernel配置copy 过来用。

先cd到欲编译的kernel source code的根目录linux-3.15.8,然后copy当前ubuntu系统中的内核配置为新的kernel的内核配置cp /boot/config-3.13.0-32-generic ./.configsudo make oldconfig呵呵,结果发现没有偷太多的懒,还是蹦出来一大堆新的配置选项出来让我选了,估计是新的kernel版本确实是高了不少的原因。

不过基本都选n就完了,因为老的kernel配置项已经够让我的机器工作了。

2、编译和安装sudo make -----不加任何参数直接make,就是make all,它包含make modules了。

sudo make modules_install -----安装modules到/lib/modules下sudo make install -----安装bzimage到/boot下,并且会它会根据/boot下的kernel版本信息自动将新安装的kernel的启动项加到/boot/grub/grub.cfg中。

至此,编译安装就完成了,你只需要restart下你的电脑就会发现启动时Ubuntu有两个版本的kernel可选了。

尽情享受吧!重启后,选择新版本的kernel,然后查看kernel版本信息,cat /proc/versionLinux version 3.15.8 (root@jack) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #1 SMP Mon Aug 4 01:51:38 CST 2014瞧,当前kernel是新编译安装的了吧。

3、删除kernel启动项如果要在GRUB启动项中删除之前自己编译安装的kernel版本,则只需要将/lib/modules 和/boot目录下的安装时copy过来的相关东西删除。

【IT专家】Ubuntu 编译安装 Linux 4.0.5 内核,并修复 vmware 网络内核模块编译错误

【IT专家】Ubuntu 编译安装 Linux 4.0.5 内核,并修复 vmware 网络内核模块编译错误

Ubuntu 编译安装Linux 4.0.5 内核,并修复vmware 网络内核模块编译错误2015/06/14 1341 . 今天把Ubuntu 14.04 升级到了最新的 4.0.5 的内核版本,本来不打算记录下来的,但是升级的过程中确实遇到了一些问题,因此还是记录下来,分享给遇到同样问题的猿友。

 先去官网下载最新的内核压缩包:https://kernel/ 网速不给力,只能用虚拟机里的迅雷下载,然后再拷贝出来。

 LZ 把源码包拷贝到/usr/src 下面,直接就在这里编译安装了: # 切换到root 身份$ su# 解压缩源码,得到文件夹/usr/src/linux-4.0.5 # tar xvf linux-4.0.5.tar.xz # cd linux-4.0.5# make mrproper 命令用来清理以前编译时留下的临时文件,# 因为LZ 是解压缩的新包,因此不需要这步# make mrproper# 把当前正在使用的内核编译配置文件拷过来作为模板# cp /boot/config-`uname -r` .config# 启动基于ncurse库绘制的图形配置界面,已经按照当前正在使用的内核的配置选好相关选项了,再启用一些新特性即可# 如果出现如下错误,那么可能是没有安装ncurse 库,执行apt-get install libncurses5-dev 命令安装。

# In file included from scripts/kconfig/mconf.c:23:0:# scripts/kconfig/lxdialog/dialog.h:38:20: fatal error: curses.h: No such file or directory# #include CURSES_LOC # make menuconfig# 正常是要执行下面这三条命令的,但是Ubuntu 上不用这么麻烦# make install # make modules # make modules_install# Ubuntu 上用包管理器可以把内核和相关模块编译成deb 包,熟悉Ubuntu 的童鞋这下觉得好办多了吧?# 如果提示没有make-kpkg 命令的话,可以先用apt-get 安装# apt-get install kernel-package # make-kpkg clean# 与make 命令一样,j8 参数可以指定8 个线程同时编译# make-kpkg --initrd kernel-image kernel-headers -j8# 坐等编译完成吧,会在上一级目录中生成两个deb 包,接下来安装它们:# dpkg -i linux-image-4.0.5_4.0.5-10.00.Custom_amd64.deb # dpkg -ilinux-headers-4.0.5_4.0.5-10.00.Custom_amd64.deb# grub 貌似不用更新也可以,安装deb 的时候会自动更新# update-grub# 重启系统,进入新的内核吧# reboot 编译、安装、重启都很顺利,但是发现在新内核中启动vmware 的时候提示必须更新内核模块,可是在编译网络模块的时候死活过不去,LZ 猜测可能是由于内核中某些API 被修改了,而vmware 的驱动源码跟最新的内核中的API 不匹配了,因此才报了一些语法错误,没办法,只能手工修改了。

Ubuntu编译安装Linux内核过程

Ubuntu编译安装Linux内核过程

Ubuntu编译安装Linux内核过程编译安装Linux内核是Ubuntu系统用户进行内核优化、定制和个性化的重要方式之一、本文将介绍Ubuntu编译安装Linux内核的过程,帮助用户完成编译安装。

## 1. 获取Linux内核源代码##2.安装必要的工具和依赖项在编译安装Linux内核之前,需要安装一些必要的工具和依赖项,以确保编译过程的顺利进行。

你可以通过以下命令来安装它们:```sudo apt updatesudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev```##3.解压源代码```tar -xf linux-x.x.x.tar.xz```##4.进入源代码目录进入解压后的源代码目录:```cd linux-x.x.x```##5.配置内核在继续编译之前,需要对内核进行配置。

你可以使用以下命令打开配置窗口:```make menuconfig```这个命令会打开一个文本界面的配置窗口,你可以在其中选择和配置不同的内核选项。

根据你的需求进行自定义配置。

##6.编译内核完成内核配置后,可以执行以下命令来开始编译内核:```make -j4```这个命令中的“-j4”表示使用4个线程进行编译。

你可以根据你的系统硬件配置自定义线程数量。

编译内核的时间会根据你的系统配置和编译选项的不同而有所不同。

请耐心等待编译过程完成。

##7.安装内核完成编译后,可以执行以下命令来安装编译得到的内核:```sudo make modules_install install```这个命令将编译得到的内核模块和内核文件安装到系统中。

安装完成后,你需要更新系统的引导加载程序(grub)以使用新的内核。

##8.更新引导加载程序执行以下命令来更新引导加载程序(grub):```sudo update-grub```这个命令会自动检测并添加新安装的内核到引导菜单中。

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。

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就可安装成功。

Ubuntu手动更新内核终极教程

Ubuntu手动更新内核终极教程

Ubuntu手动更新内核终极教程说明:本人使用的是vmware9.0 + Ubuntu12.04+linux-3.2.35,如果怕出错最好使用这种组合。

(本教程大概半个小时能搞定)1、首先在vmware中新建一个虚拟机至此虚拟机创建完毕。

2、安装Ubuntu系统,安装过程略,可以参考我的另一份vmware安装ubuntu的文档。

3、安装好系统之后,进入系统打开ubuntu软件中心,在菜单中选择编辑然后选择软件源,接着就会打开一个软件源的配置对话框。

在下方的源下拉列表中选择other(其它),然后找到china(中国),在中国的镜像站点中选择,然后点击对话框的选择服务器按钮,关闭退出即可。

4、打开ubuntu终端,快捷键是“ctrl+alt+t”,输入sudo apt-get update更新软件仓库。

更新完之后再输入sudo apt-get upgrade升级系统,若有提示语言支持不完整可以根据提示安装缺省的语言包。

操作完成之后需要重启系统。

5、安装更新内核过程中需要的一些软件,输入以下命令即可sudo apt-get install build-essentialsudo apt-get install kernel-packagesudo apt-get install libncurses5-dev6、去下载需要的内核,本人下载的是linux-3.2.35。

7、打开终端,进入到下载的linux内核目录,执行tar -xvf linux-3.2.35.tar.bz2 -C /usr/src将内核解压到/usr/src目录。

8、在终端输入cd /usr/src/lnux-3.2.35进入解压后的内核文件夹9、执行sudo make localmodconfig 自动使用系统原有内核配置文件进行内核精简,快速可靠。

10、如果之前编译过内核,先执行以下命令清除以下编译的垃圾文件,头一次编译就不需要了。

在ubuntu下编译linux内核的详细说明

在ubuntu下编译linux内核的详细说明

一、实验目的学习重新编译Linux内核,理解、掌握Linux内核和发行版本的区别。

二、实验内容在Linux操作系统环境下重新编译内核。

实验主要内容:A. 查找并且下载一份内核源代码,本实验使用最新的Linux内核2.6.36。

B. 配置内核。

C. 编译内核和模块。

D. 配置启动文件。

本次实验环境是Linux2.6.35内核的环境下,下载并重新编译内核源代码(2.6.36);然后,配置GNU的启动引导工具grub,成功运行编译成功的内核。

三、主要仪器设备(必填)Linux环境:utuntu10.10,待编译内核:linux3.6.9四、操作方法和实验步骤【1】下载内核源代码从/网站上下载新的Linux内核3.6.9。

【2】部署内核源代码打开终端,更改用户权限为root。

具体做法是在终端输入sudo su,然后按提示输入密码。

判断是否是root用户是使用whoami命令,若输出为root则已经切换到root账户。

输入mv linux-3.6.9.tar.gz /usr/src,目的是把下载的内核源代码文件移到/usr/src目录。

输入cd /usr/src切换到该目录下。

输入tar zxvf linux-3.6.9.tar.gz,目的是解压内核包,生成的源代码放在linux-3.6.9目录下。

输入cd linux-3.6.9,切换到该目录下。

输入cp /boot/config-,然后按下Tab键,系统会自动填上该目录下符合条件的文件名,然后继续输入.config,目的是使用在boot目录下的原配置文件。

【3】配置内核配置内核的方法很多,主要有如下几种:#make menuconfig //基于ncurse库编制的图形工具界面#make config //基于文本命令行工具,不推荐使用#make xconfig //基于X11图形工具界面#make gconfig //基于gtk+的图形工具界面由于对Linux还处在初学阶段,所以选择了简单的配置内核方法,即make menuconfig。

在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)

在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)

在前一篇文章提到,从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。

那么,如何才能DIY自己的内核呢?这篇文章一一道来。

一. 首选,参照前一篇在Ubuntu上下载、编译和安装Android最新源代码准备好Android源代码目录。

二. 下载Linux Kernel for Android源代码。

1. 使用GIT工具下载,执行以下命令:USER-NAME@MACHINE-NAME:~/Android$ mkdir kernelUSER-NAME@MACHINE-NAME:~/Android$ cd kernelUSER-NAME@MACHINE-NAME:~/Android/kernel$ git clonegit:///kernel/common.git同样是经过漫长的等待后,在kernel目录下有一个common目录,Linux内核代码就在这里了。

2. 下载完成后,可以查看下载的内核代码版本:USER-NAME@MACHINE-NAME:~/Android/kernel$ cd commonUSER-NAME@MACHINE-NAME:~/Android/kernel/common$ git branch android-2.6.363. 下载完Android的Linux内核代码后,会发现在arch/arm/configs下没有模拟器要使用的硬件配置文件goldfish_defconfig,而这个配置文件是编译内核代码时需要用到的,因此,需要checkout goldfish版本:USER-NAME@MACHINE-NAME:~/Android/kernel/common$ git branch -a * android-2.6.36remotes/origin/HEAD -> origin/android-2.6.36remotes/origin/android-2.6.35remotes/origin/android-2.6.36remotes/origin/archive/android-2.6.25remotes/origin/archive/android-2.6.27remotes/origin/archive/android-2.6.29remotes/origin/archive/android-2.6.32remotes/origin/archive/android-gldfish-2.6.29remotes/origin/archive/android-goldfish-2.6.27选择android-gldfish-2.6.29:USER-NAME@MACHINE-NAME:~/Android/kernel/common$ git checkoutremotes/origin/archive/android-gldfish-2.6.29下载完毕后,就能在arch/arm/configs下看到goldfish_defconfig这个文件了。

ubuntu16查看内核及新安装内核

ubuntu16查看内核及新安装内核

ubuntu16查看内核及新安装内核1.查看内核列表sudo dpkg --get-selections | grep linux-image2.查看当前使⽤的内核uname -r3.升级/安装内核tip:有些时候需要使⽤“sudo dpkg --get-selections -a”重新配置sudo apt-get install linux-image-4.4.0-14[56789]-generic注释:安装145-149存在的所有内核4.删除内核tip:删除当前版本重启会使⽤低⼀级的已安装内核,如果是最后⼀个内核版本删除之后重启会进⼊BIOS界⾯sudo apt-get remove linux-image-4.4.0-142-generic5. 切换内核1.⼿动重启系统,在开机进⼊grub引导界⾯,选择Advanced options for Ubuntu ,进⼊其⼦菜单,⼿动选择内核版本2.⼤部分服务器都是不在⾝边的,都是使⽤远程连接操作的,⽆法做到⼿动重启并桌⾯设置以上操作。

这时可以使⽤第⼆种⽅法。

(1)⾸先查看当前内核版本:uname -r(2)查看服务器启动内核的顺序grep menuentry /boot/grub/grub.cfg这就是ubuntu系统⽬前所拥有的内核版本与启动顺序,记住这个顺序,下⾯要⽤到。

(3)修改启动项终端运⾏命令:sudo vi /etc/default/grubGRUB_DEFAULT=x注释:x为数字,以指定启动列表中第x项为启动项,x从0开始计数GRUB_DEFAULT=”xxxx”注释:指出具体的启动项名称,例如GRUB_DEFAULT=”Ubuntu,with Linux 4.4.0-145-generic”GRUB_DEFAULT=saved注释:该项将使⽤grub-set-default和grub-reboot命令来配置默认启动项保存并退出(4)更新grubsudo update-grub(5)重启服务器sudo shutdown -r now。

Ubuntu10.10下编译内核linux-2.6.38-rc8成功

Ubuntu10.10下编译内核linux-2.6.38-rc8成功
7,开始编译内核 执行; sudo make-kpkg clean make-kpkg --initrd --append-to-version=-baiyang kernel_image
注:其中的“-baiyang”可以改成你自己喜欢的内容,按照我的编译出来的内核 名字就是“linux-image-2.6.38-rc8-baiyang”
2.安装有关编译程序。安装 make ,gcc, make-kpkg,运行 xconfig 等等和编译内 核相关的工具. 执行; sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot
3.解压源代码 执行; tar jfx linux-2.6.38-rc8.tar.bz2 -C ~/linux 找不到 linux 目录就创建一个,~/linux 可以是任意目录,但是注意,要预留 2G 以上的空间
8.安装内核 编译好的内核在上一层目录,可双击安装
或者执行; cd sudo dpkg -i linux-image-2.6.38-rc8-baiyang_2.6.38-rc8-baiyang-10.00.Custom_i386.d eb
9.安装完成后和老内核比较一下大小: 执行; ls -l /boot/
今天在 Ubuntu10.10 下编译内核 linux-2.6.38-rc8 成功,~~ 以下是我的操作步骤,分享出来以供参考; 1. 在 /下载 linux-2.6.38-rc8, 你可以选择稳定版或者新的测试版,但一定要下载 Full source 版。
4.进入源代码所在目录 执行; cd ~/linux/linux-2.6.38-rc8/ 5,清理以前编译留下的临时文件,如果是刚刚解开的源码包,不用执行此步 执行; make mrproper

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时设置的那个。

ubuntu内核编译、安装

ubuntu内核编译、安装

ubuntu内核编译、安装简要步骤:⼀、下载源码,解压⼆、复制当前系统的配置⽂件到源码⽬录下的.config⽂件三、编译源码四、编译模块五、安装模块六、添加启动项⼀、下载源码,解压 ⽅式1、 查看当前系统内核版本:打开终端输⼊uname -r ⽅式2、apt下载 打开终端输⼊: sudo apt-get source linux-image-$(uname -r) 下载存放⽬录: /usr/src/ 下载完成后,解压⽂件:如 tar -xavf linux-5.0.3.tar.xz⼆、复制当前系统的配置⽂件到源码⽬录下的.config⽂件 因编译后的内核是给本机使⽤,需要适配本机,所以,复制当前系统的配置信息到源码⽬录的 .config⽂件内 cp /boot/config-5.0.3 -generic ./.config.三、编译源码 备份启动⽂件 cp boot/grub/grub.cfg boot/grub/grub.cfg.back 安装编译环境软件 sudo apt-get install libncurses5-dev openssl libssl- dev sudo apt-get install build-essential openssl sudo apt-get install pkg-config sudo apt-get install libc6-dev sudo apt-get install bison sudo apt-get install flex sudo apt-get install libelf-dev sudo apt-get install zlibc minizip sudo apt-get install libidn11-dev libidn11 sudo apt-get install libssl-dev 进⼊源码⽬录,打开终端输⼊: make menuconfig ⾸次编译,图形选择界⾯通过左右⽅向键选择 load(读取刚才复制更新的配置⽂件)>>> OK >>> Save >>> OK >>> EXIT >>> EXIT 编译: make mrproper make clean make bzImage -j8四、编译模块 make modules -j8五、安装模块 make install make modules_install 此操作此后/lib/modules/⽬录下应该新⽣成⼀个新内核版本号⽂件六、添加启动项 将3个⽂件复制到boot⽬录下 mkinitramfs /lib/modules/5.0.3 -o /boot/initrd.img-5.0.3-generic cp /usr/src/linux-5.0.3/arch/x86/boot/bzImage /boot/vmlinuz- 5.0.3-generic cp /usr/src/linux-5.0.3/System.map /boot/System.map-5.0.3 进⼊/boot/grub/然后执⾏ update-grub2七、重启 shutdown -r now uname -a。

Ubuntu系统内核更新方法

Ubuntu系统内核更新方法

Ubuntu系统内核更新方法Ubuntu系统内核更新升级内核apt-get dist-upgrade首先就是使用如下命令,列出所有安装的内核,下表中,带有image的就是内核文件。

从中选择要卸载的包,用apt-get来卸载[tc@ibm:~]$ dpkg –get-selections|grep linuxlibselinux1 installlinux-firmware installlinux-generic installlinux-headers-2.6.31-17 installlinux-headers-2.6.31-17-generic installlinux-headers-generic installlinux-image-2.6.28-11-generic installlinux-image-2.6.28-16-generic installlinux-image-2.6.31-16-generic installlinux-image-2.6.31-17-generic installlinux-image-generic installlinux-libc-dev installlinux-restricted-modules-2.6.28-11-generic installlinux-restricted-modules-2.6.28-16-generic installlinux-restricted-modules-common installlinux-sound-base installlinuxqq installsyslinux installutil-linux install另外还要记录一个命令。

uname -a使用这个命令可以查看当前系统使用的内核。

具体的卸载方法为sudo apt-get remove linux-image-2.6.28-11-generic这样就可以实现自动删除内核文件了,还可以释放磁盘空间。

ubuntu 10.04 编译安装最新版本linux-2.6.34内核

ubuntu 10.04 编译安装最新版本linux-2.6.34内核

build-essential (基本的编程库(gcc, make等)
kernel-package (Debian 系统里生成 kernel-image 的一些配置文件和工具)
libncurses5-dev (meke menuconfig要调用的)
libqt3-headers (make xconfig要调用的)
第五步:更新配置GRUB引导列表
sudo gedit /boot/grub/grub.cfg
我的grub.cfg添加如下:
menuentry ‘Ubuntu 10.04,Linux 2.6.34′ –class ubuntu –class gnu-linux –class gnu –class os {
initrd /initrd.img-2.6.34
}
#以下是原2.6.32内核启动项
menuentry ‘Ubuntu,Linux 2.6.32-22-generic’ –class ubuntu –class gnu-linux –class gnu –class mod ext2
set root=’(hd1,9)’
search –no-floppy –fs-uuid –set 501d3a42-1d52-4438-99bf-e679da605867
linux /vmlinuz-2.6.32-22-generic root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro quiet splash
######################################
完成上述操作后,重启系统,选新内核启动,会弹出一个小英文窗口,先选择grub update grub …….(因为无法截图,记不清了,大概有这些字样)这一项来更新GRUB,然后再选最上面的一项,好象是resum字样的,不知道有没有记错,哈哈,请细心点吧。完成后重新启动电脑,GRUB菜单会更新成有好多启动项了,就象刚安装完UB10.04时一样,不过你可以登录系统后再修改/boot/grub/grub.cfg来简洁它。到此编译安装工作圆满成功,谢谢各位看官的支持!!!

更新Ubuntu内核有办法

更新Ubuntu内核有办法

每个 Ln x发 行版 都有一 套 r o 来 工 作 ( 是 一 个 良好 的 iu o t 这 特 定 的 工具 从 源代 码 来 建 立 一 习惯 ,Ub n u提 倡 这 样 做 ) u t ,
4- 门定制 的 内核 。 文介绍 如 记 得 在 本 文 中 提 到 的 所 有 指 " 专 本 何 在 Ub nu系统 编译一 个 内核 令 行 前 加 上 s d ut u o, 比 如 : 的成功 经验 。 笔者将 描述 如何 用
#s do p a oo u as wd r t
源 代 码 的 目录 :
#i a I x 2. 1 1 I x n- nu - 6. i i 8. nu # d / sr c l x c u / / nu sr i
#r - bl/h m f/ ns
# n- bn b s b l B i s/ i/ a h/ r h d
3下 藏 内 桉 源 码 . 接 下 来 ,要 下 载 所 需 要 的
内核  ̄ /s/r , w lu r c 上 ww.en 1 J s k re . 应 该 如 下 执 行 ,来 代 替 原 o g 网 站 选 择 需 要 的 内 核 , 如 r I u - . .8 1t r z ( ht: i x2 61 .. . 2 在 t / n a b p/
, ,
维普资讯






称 ac - . x c 通 - 西 , 凡 此 情 况 必 须 给 内 核 源 补 丁 , 作 P th 26. rN,
来 生 成 内 核 配 置 菜 单 总
T 名 et 代 码 打 上 补 丁 ( 设 这 些 补 常 可 以在 F P站 点 卜 为 ts- 之 ,装 载 一个 备 用 配置 文件 和 假 c ni 包 g ig的 目录 中找 到 ) 是针 对 前 选 择 .o f ( 含 正 确 运 行 的 n 都 丁 都 可 得 到 ) 。 现 在 ,假 设 已经 下 载 了 需

ubuntu---查看、安装、切换内核

ubuntu---查看、安装、切换内核

ubuntu---查看、安装、切换内核⾸先可以查看⼀下内核列表:sudo dpkg --get-selections | grep linux-image查看Linux中安装了哪些内核: dpkg --get-selections | grep linux 或者 dpkg --list |grep linux 需要知道的是,内核映像⽂件主要包括以下类型: linux-image-版本号:内核映像⽂件 linux-headers-版本号:内核头⽂件 linux-image-extra-版本号:内核扩展⽂件 删除多余内核⽂件:sudo apt-get purge linux-image-<版本号> 命令 更新grub⽂件:sudo update-grub 命令**************************************************************************输⼊命令cat /proc/version显⽰如下Linux version 4.10.0-28-generic (buildd@lgw01-12) linux内核版本号gcc version 5.4.0 gcc编译器版本号Ubuntu 5.4.0-6ubuntu1 Ubuntu版本号输⼊命令uname -a显⽰linux的内核版本和系统是多少位的:X86_64代表系统是64位的。

输⼊命令lsb_release -a显⽰如下Distributor ID: Ubuntu //类别是ubuntuDescription: Ubuntu 16.04.3 LTS //16年3⽉发布的稳定版本,LTS是Long Term Support:长时间⽀持版本,⽀持周期长达三⾄五年Release: 16.04 //发⾏⽇期或者是发⾏版本号Codename: xenial //ubuntu的代号名称。

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

sudo apt-get install linux-source 会自动安装当前版本内核的源代码到/usr/src
升级内核源码:
1.将下载过来linux源代码包(tar.bz2包)解压到/usr/src下。

如果你还不知道怎么解压,请google之~解压完毕后可以在/usr/src目录下看到一个linux-
2.6.31.6的文件夹
2.转移目录至linux-2.6.31.6用如下命令:
cd /usr/src/linux-2.6.31.6
3.先配置Ubuntu内核:
make menuconfig
具体怎么配置我不清楚,不过这个基本上不用怎么配置的,直接选最后一项,save,exit 就OK了
4.接着开始编译Ubuntu内核:make
这是一个漫长的过程,慢慢等吧~~这个花了我将近一个半小时的时间
5.加入模块:
make modules_install
6.生成可执行的Ubuntu内核引导文件:
make bzImage (注意i字母要大写)
7.将bzImage复制至/boot下:
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.31.6 //2.6.32Ubuntu内核的bzImage目录为arch/x86/boot/bzImage
8.清除多余的创建文件:
make clean //这一步最好还是留到最后来做(现在可以先不跳过这一步),这样的话,即使你后面操作失误也可以回到这里重做,而不需要重新编译
9.将System.map复制至/boot下:
cp System.map /boot/System.map-2.6.31.6
10.生成initrd.img 这个很重要,我开始弄错了这个,害的我白重启了一次。

命令:
cd /lib/modules/2.6.31.6
sudo mkinitramfs -o /boot/initrd.img-2.6.31.6 //2.6.32可以为sudo update-initramfs -c - k 2.6.32
11.自动查找新Ubuntu内核,并添加至grub引导:
sudo update-grub
这个过程也可以手动完成,方法是更改/boot/grub目录下menu.lst文件。

这个文件引导系统的启动,结构很简单,就是指定引导文件而已,可以参考已有的启动项修改,我的是在该文件中添加如下内容:
title Ubuntu 9.04, kernel 2.6.31
uuid 753efade-04e8-4e2c-8bbb-965e9792b2f5
kernel /boot/vmlinuz-2.6.31.6 root=UUID=753efade-04e8-4e2c-8bbb-965e9792b2f5 ro quiet splash
initrd /boot/initrd.img-2.6.31.6
//9.10采用的是Grub2 启动文件用grub.cfg代替该文件所在目录为/boot/grub 若手动添加为可参考如下:
menuentry "Ubuntu, Linux 2.6.32" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,3)
search --no-floppy --fs-uuid --set 3c611c5f-f941-4970-956f-fe4c7bf75714
linux/boot/vmlinuz-2.6.32 root=UUID=3c611c5f-f941-4970-956f-fe4c7bf75714 ro quiet splash
initrd/boot/initrd.img-2.6.32
12.重启电脑:reboot 你会发现启动项里多了一个Ubuntu 9.04, kernel 2.6.31(Ubuntu, Linux 2.6.32)的选项,选择这个,进入系统。

以上介绍Ubuntu内核更新。

转载自: 。

相关文档
最新文档