Ubuntu编译Linux内核过程

Ubuntu编译Linux内核过程

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

下载内核源代码:http://www.kernel.org/

注意,点击2.6.39.3内核的F版,即完整版。

如果你懒得去网站点联接,运行下列命令:

代码:

$cd~

$wgethttp://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.3.tar.bz2

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

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

安装所需工具包有关命令:

代码:

$sudoapt-get install build-essential kernel-package libncurses5-devfakeroot

二、解压源代码

注意,网上很多教程上说应该解压到/usr/src,纯属以讹传讹,linux掌门人linus说解压到任何目录上都可以。当然,linus的说法是正确的。先将压缩包复制到usr/src目录下,然后将压缩包解压到user/src目录下。

如果压缩包现在放在个人主目录的桌面上,则运行下列命令:

代码:

$sudocp Desktop/linux-2.6.39.3.tar.bz2 /usr/src


$cd usr/src

$tar jxvf linux-2.6.39.3.tar.bz2

现在,源代码就在usr/src/linux-2.6.39.3

进入源代码的目录,准备下一步的工作。后面都在这个目录里面进行。

代码:

$cd usr/src/linux-2.6.39.3

三、开始编译前的准备工作。

首先,清理以前编译时留下的临时文件。如果是刚刚解开的包,不需要执行这步。如果是第二次或者是第n次编译,那么一定要执行。

相关命令如下:

代码:

$sudo make mrproper

网上很多教程上说把现在使用的内核的config拷贝过来参考,据实验,是不需要的,ubuntu还有debian会自动做这步。不过这条命令倒是可以学习一下。当然你可以将以前的配置拷贝过来。

命令:

代码:

cp/boot/config-2.6.35-22-generic./.config

加红部分视自己操作系统情况而定

四、开始配置内核选项。

相关命令:

代码:

$sudomake menuconfig

我们选用的是图形界面的配置,在配置选项的最下方有一个LoadSave选项,我们先将第四步复制过来的配置文件.config文件Load进来,在Save就可以了。

五、开始编译内核。

ubuntu的工具是make-kpkg,和其他的发行版相比,步骤相对简单。

相关命令:

代码:

$sudo make-kpkg clean这条命令好像不要超级权限,很多资料上说要,不过这不是原则问题。

$sudo make-kpkg --initrd --append-to-version=t61 kernel_imagekernel-headers

上述命令中的t61可以用自己喜欢的字符代替,最后的字符一定是数字.

输完上述命令回车之前,建议大家把浏览器还有别的运用程序都关掉,机器开始的工作比较艰苦。

七、安装内核

编译完成就是安装工作。编译好的内核在上一层目录。包括linux-headers-2.6.39.3t61_2.6.39.3t61-10.00.Custom_i386.deblinux-image-2.6.39.3t61_2.6.39.3t61-10.00.Custom_i386.deb两个文件,如果你不搞开发的话,只要安装内核就可以,头文件以后要用的时候再说。

安装相关命令:

代码:

$cd ..

$sudo dpkg -i linux-image-(按tab键)

文件名很长,如果不用tab自动补足是不可能的。

安装完成后和老内核比较一下大小

代码:

$ls -l /boot/

八、重新启动验证新内核。

代码:

$sudo reboot

重启后可以检查新内核版本,命令如下:

$uname -a

至此Linux内核的安装编译已经完成,以下几个步骤是个人情况而定:

九、显卡驱动

如果你的显卡和我一样是nvidia显卡,启动之后往往无法正常进入xwindow。即使能看到gdm登录界面,效果也是很差的。

那么就要安装nvidia驱动。

ctrl+alt+f1进入字符命令行,输入用户名,密码登录。

命令:

代码:

下载驱动

$wgethttp://us.download.nvidia.com/XFree86/Linux-x86/173.14.12/NVIDIA-Linux-x86-173.14.12-pkg1.run

$sudos

输入密码取得超级权限。

psax

看看和gdm相关的进程,把这些进程全部关闭;sudo/etc/init.d/gdm stop有可能有一个进程没有关闭:

kill进程号

然后安装nvidia显卡驱动,当然驱动要先下好,到nvidia驱动所在的目录里,运行:

sh./NVIDIA-Linux-x86-173.14.12-pkg1.run

重新启动以后就ok。要用nvidia的驱动,每次升级内核都要这么做。

十、无线网卡

相关的内核选项是

Networking--->

Wireless--->

GenericIEEE 802.11 Networking Stack (mac80211)

还有4965的驱动。

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

代码:

具体命令:

$cd /lib/firmware/

$sudo mkdir 2.6.25.10dell1400

把你的老内核中的4965firmware拷贝过来。

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

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


复制命令sudocpDesktop/linux-2.6.39.3.tar.bz2/usr/src

解压命令:sudotarjxvfFileName.tar.bz2



http://www.cnblogs.com/chineseboy/archive/2013/06/06/3121076.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值