Chinaunix首页 | 论坛 | 博客
  • 博客访问: 63367
  • 博文数量: 16
  • 博客积分: 305
  • 博客等级: 二等列兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-30 10:18
文章分类

全部博文(16)

文章存档

2013年(1)

2012年(15)

我的朋友

分类: LINUX

2012-05-28 20:05:46

内核编译:(部分摘录自)
1.到下载需要编译的内核源码文件;
2.安装有关编译程序。安装make ,gcc, make-kpkg,运行menuconfig等等和编译内核相关的工具。
安装不了,请检查/etc/apt/sources.list 文件。
有关命令:
指令:
$sudo  apt-get install build-essential kernel-package   libncurses5-dev
3.解压源代码
内核源码文件为了编译管理建议放在/boot/usr/src/kernel/目录下,如果当前之目录所在的磁盘空间不足,也可解压到其他目录下。
解压指令:
mkdir src && tar jfx linux-2.6.25.10.tar.bz2 -C src/
4.进入内核源码文件夹
cd  /usr/src/kernel/linux-...
5.开始编译前的准备工作。
首先,清理以前编译时留下的临时文件。如果是刚刚解开的包,不需要执行这步。如果是第二次或者是第n次编译,那么一定要执行。
相关命令如下:
$ sudo make mrproper
网上很多教程上说把现在使用的内核的config拷贝过来参考,据实验,是不需要的,ubuntu还有
debian会自动做这步。不过这条命令倒是可以学习一下。当然你可以将以前的配置拷贝过来。
命令:
代码:
cp /boot/config-`uname -r` ./.config

6.开始配置内核选项。
相关命令:
代码:
$sudo make menuconfig
(此时最好选择加载之前的内核.config文件在之前的配置基础上添加新的需要添加的新特性生成新的.config文件,内核选项的具体解析请参考其他博客)
7.、开始编译内核。
ubuntu的工具是make-kpkg,和其他的发行版相比,步骤相对简单。
相关命令:
代码:
$sudo make-kpkg clean   这条命令好像不要超级权限,很多资料上说要,不过这不是原则问题。
$ sudo make-kpkg --initrd --append-to-version=dell1400 kernel-image kernel-headers
编译完成后,将会再当前目录的上级目录下生成两个文件,linux-image-...,linux-headers-...文件,这就是我们需要的内核包。
8.安装编译好的内核包
进入当前内核源码目录的上级目录,进行安装:
指令:
cd ..
$ sudo dpkg -i   linux-image-(按tab键)
$ sudo dpkg -i  linux-headers-(按tab键)

9.安装成功后重启电脑,选新内核启动:
指令:
$ reboot

===================================================================

内核卸载:
首先就是使用如下命令,列出所有安装的内核,下表中,带有image的就是内核文件。
从中选择要卸载的包,用apt-get来卸载

[tc@ibm:~]$ dpkg --get-selections|grep linux
libselinux1                                     install
linux-386                                      install
linux-image-2.6.15-23-386                    install
linux-image-2.6.15-27-386                    install
linux-image-2.6.15-27-686                    install
linux-image-2.6.15-28-386                    install
linux-image-2.6.15-28-686                    deinstall
linux-image-386                               install
linux-kernel-headers                           install
linux-restricted-modules-2.6.15-23-386        install
linux-restricted-modules-2.6.15-27-386        install
linux-restricted-modules-2.6.15-27-686        install
linux-restricted-modules-2.6.15-28-386        install
linux-restricted-modules-2.6.15-28-686        deinstall
linux-restricted-modules-386                   install
linux-restricted-modules-common               install
linux-sound-base                               install
util-linux                                       install
 
具体的卸载方法为
sudo apt-get remove linux-image-(接内核版本)
sudo apt-get remove linux-headers-(接内核版本)
执行上述两条指令就可以实现自动删除内核文件了,还可以释放磁盘空间。

此时再执行
dpkg --get-selections|grep linux
可以看到需要删除的内核文件已经不存在了-----卸载内核成功!

阅读(6670) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~