Ubuntu10.10编译安装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:proxyport

2、然后在新立得设置http代理,在系统--系统管理--新立得软件包管理器--设置--首选项--网络里也要设置http的代理

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

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

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

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

代码:

$cd ~

$wget http://www.kernel.org/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说解压到任何目录上都可以。当然,linus的说法是正确的。先将压缩包复制到usr/src目录下,然后将压缩包解压到user/src目录下。

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

代码:

$sudo cp 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

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

五、开始配置内核选项。

相关命令:

代码:

$sudo make menuconfig

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

六、开始编译内核。

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

相关命令:

代码:

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

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

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

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

七、安装内核

编译完成就是安装工作。编译好的内核在上一层目录。包括linux-headers-2.6.39.3t61_2.6.39.3t61-10.00.Custom_i386.deb和linux-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显卡,启动之后往往无法正常进入x-window。即使能看到gdm登录界面,效果也是很差的。

那么就要安装nvidia驱动。

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

命令:

代码:

下载驱动

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

$sudo -s

输入密码取得超级权限。

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

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

 

复制命令:sudo cp Desktop/linux-2.6.39.3.tar.bz2 /usr/src

解压命令:sudo tar jxvf FileName.tar.bz2

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值