ubuntu编译linux内核?ubuntu哪个版本最好

大家好,如果您还对ubuntu编译linux内核不太了解,没有关系,今天就由本站为大家分享ubuntu编译linux内核的知识,包括ubuntu哪个版本最好的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

如何在Ubuntu/CentOS上安装Linux内核4.0

在Ubuntu 15.04上安装Linux内核4.0

如果你正在使用Linux的发行版Ubuntu 15.04,你可以直接通过Ubuntu内核网站安装。在你的Ubuntu15.04上安装最新的Linux内核4.0,你需要在shell或终端中在root访问权限下运行以下命令。

在 64位 Ubuntu 15.04

$ wget

$ wget

$ sudo dpkg-i linux-headers-4.0.0*.deb linux-image-4.0.0*.deb

在 32位 Ubuntu 15.04

$ wget

$ wget

$ sudo dpkg-i linux-headers-4.0.0*.deb linux-image-4.0.0*.deb

在CentOS 7上安装Linux内核4.0

我们可以用两种简单的方式在CentOS 7上安装Linux内核4.0。

从Elrepo软件仓库安装

从源代码编译安装

我们首先用ElRepo安装,这是最简单的方式:

使用 Elrepo安装

1.下载和安装ELRepo

我们首先下载ELRepo的GPG密钥并安装relrepo-release安装包。因为我们用的是CentOS 7,我们使用以下命令安装elrepo-release-7.0-2.el7.elrepo.noarch.rpm。

注:如果你启用了secure boot,请查看这个网页获取更多信息。

# rpm--import

# rpm-Uvh

添加 Elrepo源

2.升级Linux内核到4.0版本

现在,我们准备从ELRepo软件仓库安装最新的稳定版内核4.0。安装它我们需要在CentOS 7的shell或者终端中输入以下命令。

# yum--enablerepo=elrepo-kernel install kernel-ml

从ELRepo安装Linux内核4.0

上面的命令会自动安装为CentOS 7构建的Linux内核4.0。

现在,下面的是另一种方式,通过编译源代码安装最新的内核4.0。

从源代码编译安装

1.安装依赖软件

首先我们需要为编译linux内核安装依赖的软件。要完成这些,我们需要在一个终端或者shell中运行以下命令。

# yum groupinstall"Development Tools"

# yum install gcc ncurses ncurses-devel

安装内核依赖

然后,我们会升级我们的整个系统。

# yum update

2.下载源代码

现在我们通过wget命令从Linux内核的官方仓库中下载最新发布的linux内核4.0的源代码。你也可以使用你的浏览器直接从kernel.org网站下载内核。

# cd/tmp/

# wget

下载内核源码

3.解压tar压缩包

文件下载好后我们在/usr/src/文件夹下用以下命令解压。

# tar-xf linux-4.0.tar.xz-C/usr/src/

# cd/usr/src/linux-4.0/

解压内核tar压缩包

4.配置

配置Linux内核有两种选择的。我们可以创建一个新的自定义配置文件或者使用已有的配置文件来构建和安装Linux内核。这都取决于你自己的需要。

配置新的内核

现在我们在shell或终端中运行make menuconfig命令来配置Linux内核。我们执行以下命令后会显示一个包含所有菜单的弹出窗口。在这里我们可以选择我们新的内核配置。如果你不熟悉这些菜单,那就敲击ESC键两次退出。

# make menuconfig

配置新内核

已有的配置

如果你想用已有的配置文件配置你最新的内核,那就输入下面的命令。如果你对配置有任何调整,你可以选择Y或者N,或者仅仅是按Enter键继续。

# make oldconfig

5.编译Linux内核

下一步,我们会执行make命令来编译内核4.0。取决于你的系统配置,编译至少需要20-30分钟。

注:如果编译内核的时候出现bc command not found的错误,你可以用yum install bc命令安装bc修复这个错误。

# make

Make内核

6.安装Linux内核4.0

编译完成后,我们终于要在你的Linux系统上安装内核了。下面的命令会在/boot目录下创建文件并且在Grub菜单中新建一个内核条目。

# make modules_install install

7.验证内核

安装完最新的内核4.0后我们希望能验证它。做这些我们只需要在终端中输入以下命令。如果所有都进展顺利,我们会看到内核版本,例如4.0出现在输出列表中。

# uname-r

结论

好了,我们成功地在我们的CentOS 7操作系统上安装了最新的Linux内核版本4.0。通常并不需要升级linux内核,因为和之前版本运行良好的硬件可能并不适合新的版本。我们要确保它包括能使你的硬件正常工作的功能和配件。但大部分情况下,新的稳定版本内核能使你的硬件性能更好。因此,如果你有任何问题,评论,反馈,请在下面的评论框中注明,让我们知道需要增加或者删除什么问题。多谢!享受最新的稳定版Linux内核4.0吧:-)

Ubuntu和Linux是什么关系

Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的开源Linux操作系统,Ubuntu是基于Linux,支持x86、amd64(即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造的。

Linux参照UNIX发展而来的,源码完全不同。红旗Linux、Ubuntu都是Linux的发行版,基于Linux核心内容增加一些更易使用的功能。

Unix于1969年由贝尔实验室开发出来,使用至今已变更了很多个版本。目前主流的Unix系统有三种,分别是AIX、HP-UX、Solaris,这些Unix系统互不兼容。Unix是商业软件,大多是与硬件配套的。

Linux于1991年由芬兰大学生Linus开发出来,是一个类Unix系统,但是其代码不源自任何Unix版本,完全不是Unix的一个分支,而是一个开源版的模仿。Linux是自由软件,免费、公开源代码的,比Unix容易掌握。

扩展资料

linux主要特性

1、基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。

其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

2、完全免费

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

3、完全兼容POSIX1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

4、多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

5、良好的界面

Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

6、支持多种平台

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。

2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

参考资料来源:百度百科—Ubuntu

参考资料来源:百度百科—Linux

ubuntu系统下怎么编译内核文件

一、下载源代码和编译软件的准备

安装有关编译程序。安装make,gcc, make-kpkg,运行menuconfig等等和编译内核相关的工具。安装不了,请检查/etc/apt/sources.list文件。有关命令:代码:$sudo apt-get install build-essential kernel-package libncurses5-dev

二、解压源代码注意,网上很多教程上说应该解压到/usr/src,纯属以讹传讹,linux掌门人linus说解压到任何目录上都可以。当然,linus的说法是正确的。我放在自己的主目录下的src目录。如果你下载源代码是放到自己的主目录下或者运行上面的wget下载的,那么运行下列命令:代码:$ cd~$ mkdir src&& tar jfx linux-2.6.25.10.tar.bz2-C src/现在,源代码就在~/src/linux-2.6.25.10进入源代码的目录,准备下一步的工作。后面都在这个目录里面进行。代码:$ cd~/src/linux-2.6.25.10

三、开始编译前的准备工作。首先,清理以前编译时留下的临时文件。如果是刚刚解开的包,不需要执行这步。如果是第二次或者是第n次编译,那么一定要执行。相关命令如下:代码:$ sudo make mrproper网上很多教程上说把现在使用的内核的config拷贝过来参考,据实验,是不需要的,ubuntu还有debian会自动做这步。不过这条命令倒是可以学习一下。当然你可以将以前的配置拷贝过来。命令:代码:cp/boot/config-`uname-r`./.config

四、开始配置内核选项。相关命令:代码:$sudo make menuconfig配置用到的键只有几个,esc退出菜单;空格改变选项状态;光标键上下左右移动,回车选定。选项意义:M是编译成可以随时加入的模块,*是编译进入内核,空就是不要。配置选项非常多,具体配置可以参考金步国先生翻译的资料:Linux 2.6.19.x内核编译配置选项。请大家遵循一个原则,如果你自己使用的内核已经选用了某个选项,如果你没用充分的理由,不要随便改动。这样虽然内核不那么精简,但是不容易出现问题。我们可以精简的部分是硬件模块部分,对于自己没有的硬件要毫不犹豫的清除。如果你很执着,或者你有洁癖,你也可以一项项对过去,按照金步国先生的资料描述去选择基本上没有问题。

五、必须强调的几个选项:1、

在“General setup”里面的“Prompt for development and/or incomplete

code/drivers”金步国认为是不需要。但是如果你的硬件比较新,那几乎是必须选的,这样,我们才可以找到4965无线网卡,alsa声音驱动等

等。Kernel log buffer size我选15,双核。如果你用ia64,要选16。Control Group support集群支持?可以不要Choose SLAB allocator(SLUB(Unqueued Allocator))内存管理模式slab和slub选择slub。

2、在“Block layer”里,假如没有2TB的硬盘,就去掉:Support for Large Block Devices。Support for Large Single Files也不需要,谁有2TB的文件?

3、Processor type and features中是关于cpu的,要认真选。Symmetric multi-processing support是打开多核的开关,我的cpu是双核的,选中。Processor family(Core 2/newer Xeon)我的是Core 2/newer Xeon。找到自己的cpu后,把Generic x86 support选项取消。Subarchitecture Type选(PC-compatible)Maximum number of CPUs输入自己的核心数目,我输入2。SMT(Hyperthreading) scheduler support说的是超线程技术,P4有支持的,我的t8100不支持,目前大部分市场上的家用cpu都不支持。High Memory Support(4GB) 1G以下选1G;我是3G,选4G;4G以上的选16G在“ Timer frequency”里,默认是250Hz,较新的cpu都可以选择了1000Hz,性能更好。

4、Power management options中把APM(Advanced Power Management) BIOS support关闭。现在的电脑都用acpi了。CPU Frequency scaling是笔记本cpu节电技术Default CPUFreq governor(conservative) cpu节电模式有四个,笔记本默认选conservative比较好。ACPI Processor P-States driver必须选,不然CPU Frequency就不能用。后面的可选自己硬件相关的,我选的是Intel Enhanced SpeedStep和 Intel Speedstep on ICH-M chipsets,其他的统统消灭。

5、Bus options的选择:Bus options(PCI, PCMCIA, EISA, MCA, ISA)PCI support PCI Express support现在新买的机器基本上都是PCI Express了ISA support较新的新机器没有ISA设备,可以去掉MCA support去掉NatSemi SCx200 support去掉PCI Hotplug Support Support for PCI Hotplug(EXPERIMENTAL)如果没有PCI热插拔设备,去掉这里的选项可以考虑全部编译进内核,而不是以模块形式存在。

6、Device Drivers是重点,由于linux不但面向个人工作站,更多的是面向服务器的应用,所以可以把自己机器上没有的硬件全部去掉,而不用面面俱到。但是通用型的选项要慎重。比如在网卡的部分,除了我的千兆网卡 Broadcom Tigon3 support和4965无线网卡Intel Wireless WiFi 4965AGN,其余的硬件支持统统去掉。再比如声卡部分,我的是hd声卡,我只是在PCI devices中,选intel hd声卡,再选Build IDT/Sigmatel HD-audio codec support,除此之外的硬件支持全部去掉。

声卡还有一个细节,在ubuntu7.10里面,需要在/etc/modprobe.d/alsa-base后面添加options

snd-hda-intel probe_mask=1

model=3stack,这样我的笔记本喇叭才可以发声,不然只有外接耳机或者音箱。这次编译以后,这个动作就不必了,但是两个耳机插口只有一个可以用

了。再比如我的电脑中没有agp,就可以直接把agp相关的选项全部取消。要注意的:ATA/ATAPI/MFM/RLL support Include IDE/ATA-2 DISK support如果你的/boot是放在IDE硬盘上,那么这里一定要选*,选M都不行。否则启动时会出现“waiting for root file system”的提示而停滞不前。 SCSI emulation support要用刻录机,必须选。SCSI device support现在都是SATA硬盘,一定要选* SCSI disk support如果你的/boot放在SATA硬盘上,一定要选*。

SCSI CDROM support虽然康宝刻录机是ide接口的,但是必须把它当成scsi接口的,这是老问题了。用刻录机,必须选。

Graphics supportSupport for frame buffer devices选中,进入选择 VESA VGA graphics support选上,不然字符界面启动会有问题,后面的显卡选择:由于我的显卡是nvidia 8400gs,要自己安装nvidia公司的驱动,所以一个都没有选。这样导致ubuntu开机动画会出问题,我索性在grub中的splash字符全部删除,把开机动画关闭。字符界面很正常。 Console display driver support有人开机后字符控制台错误,就是这部分选项没有选,出问题了。 Framebuffer Console support需要打开。

Bootup logo开机图标,会在自检的画面上加上个性图标。需要在grub上添加“vga=”的选项简称fuse。是必选的,如果你要用windows分区。

CD-ROM/DVD Filesystems ISO 9660 CDROM file system support一般选*DOS/FAT/NT Filesystems VFAT(Windows-95) fs support有FAT32分区就选*吧 NTFS file system support有NTFS分区就选*吧 NTFS write support如果想对 NTFS分区进行写操作,选*必须将启动盘的文件系统编译进内核,默认是编译成模块,这样无法启动系统。ubuntu采用的文件系统是ext3,请把ext2,ext3相关的必要选项都编译进入内核。

8、Virtualization这个大类是我多花几百元买t8100的主要原因,因为t8100支持intel vt技术使linux上的虚拟机的性能大幅度提高。这里的选项我除了amd的,其他都编译成模块。

9、全部设置完成,最后一项是保存设置。按照我的习惯,先在上一层目录保存一个备份,文件名类似../config20080630然后再保存到当起目录,文件名.config退出设置程序。

六、开始编译内核。ubuntu的工具是make-kpkg,和其他的发行版相比,步骤相对简单。相关命令:代码:$sudo make-kpkg clean这条命令好像不要超级权限,很多资料上说要,不过这不是原则问题。

$ sudo make-kpkg-initrd--initrd--append-to-version=dell1400 kernel_image kernel-headers上述命令中的dell1400可以用自己喜欢的字符代替,最后的字符一定是数字.输完上述命令回车之前,建议大家把浏览器还有别的运用程序都关掉,机器开始的工作比较艰苦。

我的机器大概十几分钟。

七、安装内核编译完成就是安装工作。编译好的内核在上一层目录。包括linux-headers-...-_i386.deb和linux-image-...-i386.deb两个文件,如果你不搞开发的话,只要安装内核就可以,头文件以后要用的时候再说。安装相关命令:

代码:$ cd..$ sudo dpkg-i linux-image-(按tab键)文件名很长,如果不用tab自动补足是不可能的,tab键万岁。安装完成后和老内核比较一下大小代码:

$ ls-l/boot/

八、重新启动验证新内核。代码:$ sudo reboot

九、显卡驱动如果你的显卡和我一样是nvidia显卡,启动之后往往无法正常进入x-window。即使能看到gdm登录界面,效果也是很差的。那么就要安装nvidia驱动。用ctrl+alt+f1进入字符命令行,输入用户名,密码登录。#ps ax看看和gdm相关的进程,把这些进程全部关闭;用sudo/etc/init.d/gdm stop有可能有一个进程没有关闭:#kill进程号然后安装nvidia显卡驱动,当然驱动要先下好,到nvidia驱动所在的目录里,运行:# sh./NVIDIA-Linux-x86-173.14.12-pkg1.run重新启动以后就ok。要用nvidia的驱动,每次升级内核都要这么做。

十、无线网卡相关的内核选项是Networking--->Wireless--->Generic IEEE 802.11 Networking Stack(mac80211)还有4965的驱动。4965

无线网卡驱动虽然已经编入内核,但没有firmware无法使用。需要把原来内核的firmware拷贝到新内核对应的目录,名字和内核一致,我的内核是

linux-image-2.6.25.10dell1400,那建的目录名就是2.6.25.10dell1400。代码:具体命令:$ cd/lib/firmware/$ sudo mkdir 2.6.25.10dell1400把你的老内核中的4965的firmware拷贝过来。$ sudo cp 2.6.24-16-generic/* 2.6.25.10dell1400/上面的命令和下面的命令是等价的:$ cd/lib/firmware/$ sudo cp-R 2.6.24-16-generic/ 2.6.25.10dell1400/

重新启动系统,无线网卡就正常了。

附编译使用的机器配置:dell vostro 1400,t8100,nvidia 8400cs显卡,内置SigmaTel STAC9228芯片的声卡,4965无线网卡,BCM5906M千兆网卡,3G内存,160G硬盘,combo刻录。

编译系统版本:ubuntu 8.04桌面版.

阅读剩余
THE END