如果你装了一台linux的机器,自己没有重新编译内核,那这台机器的效率就大打折扣了,因为默认安装的机器会生成许多不需要的东西,在启动的时候也会比较慢,而你要用的有些东西可能不能工作,比如,现在都把IPV6放在里面,但我还不知道什么时候能用到IPV6呢,启动的时候老是找啊找的,心烦,而fedora里面的PPP默认是不配置的,你上来用不了拨号怎么办?所以,在Linux下编译内核是一项必要的工作,好了,现在开始吧:
       如果你总是想用最新的内核,那么到kernel.org去下载最新的,如果你只是为了改更一些选项,那么建议你还是直接用apt-get 下载Debian的内核吧。
seabird-debian:/usr/src# apt-get install linux-tree-2.6.18 kernel-package fakeroot
(如果你直接用root用户,下不下fakeroot到无关紧要)
安装并不是真的会把这个kernel安装到你的系统,只是下载源文件而已,好了,进入/usr/src:
你会看到一个文件linux-source-2.6.18.tar.bz2

先把文件解压
seabird-debian:/usr/src#tar jxvf linux-source-2.6.18.tar.bz2
文件被解压后生成一个linux-source-2.6.18的目录,进入该目录:
seabird-debian:/usr/src#cd linux-source-1.6.18
seabird-debian:/usr/src/linux-source-1.6.18#

使用正在运行的配置文件:
seabird-debian:/usr/src/linux-source-1.6.18# make oldconfig

然后进行修改:
seabird-debian:/usr/src/linux-source-1.6.18# make menuconfig

生成新内核:
seabird-debian:/usr/src/linux-source-1.6.18# make-kpkg clean
seabird-debian:/usr/src/linux-source-1.6.18# make-kpkg --initrd --append-to-version=seabird --revision=1.0 kernel-image

查看如有错误,再次 make menuconfig   更改,如果顺完成,会在/usr/src下生成如下文件:
linux-image-2.6.18lilin_1.0_i386.deb

好了,安装新内核
seabird-debian:/usr/src# dpkg -i linux-image-2.6.18lilin_1.0_i386.deb
选中了曾被取消选择的软件包 linux-image-2.6.18lilin。
(正在读取数据库 ... 系统当前总共安装有 119841 个文件和目录。)
正在解压缩 linux-image-2.6.18lilin (从 linux-image-2.6.18lilin_1.0_i386.deb) ...
Done.
正在设置 linux-image-2.6.18lilin (1.0) ...
Running depmod.
Finding valid ramdisk creators.
Using mkinitramfs-kpkg to build the ramdisk.
Running postinst hook script /sbin/update-grub.
You shouldn't call /sbin/update-grub. Please call /usr/sbin/update-grub instead!
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.18lilin
Found kernel: /boot/vmlinuz-2.6.18-6-686
Found kernel: /boot/vmlinuz-2.6.18-5-686
Found kernel: /boot/vmlinuz-2.6.18-4-686
Updating /boot/grub/menu.lst ... done

seabird-debian:/usr/src#

注意红色的那一行,按提示自己运行一下
seabird-debian:/usr/src# update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.18lilin
Found kernel: /boot/vmlinuz-2.6.18-6-686
Found kernel: /boot/vmlinuz-2.6.18-5-686
Found kernel: /boot/vmlinuz-2.6.18-4-686
Updating /boot/grub/menu.lst ... done
seabird-debian:/usr/src#

好了,新的kernel已经添加到启动列表了,reboot,你就可以使用新内核了!

http://blog.sina.com.cn/s/blog_40e5d1fb0100ek92.html

Debian下的内核编译的更多相关文章

  1. debian下为stm32f429i-discovery编译uboot、linux内核和根文件系统

    交叉编译器:arm-uclinuxeabi-2010q1 交叉编译器下载下来后解压,然后将其中bin文件夹路径加入到PATH变量中. 根据<debian下烧写stm32f429I discove ...

  2. 最全最详细:ubuntu16.04下linux内核编译以及设备驱动程序的编写(针对新手而写)

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

  3. debian下为stm32f429i-discovery编译uboot

    交叉编译器:arm-uclinuxeabi-2010q1 交叉编译器下载下来后解压,然后将其中bin文件夹路径加入到PATH变量中. 先下载uboot和linux源码: git clone https ...

  4. debian下qt4动态编译

    一句话不割,版本4.86 ./configure -prefix /home/用户名/Qt/dynamic -opensource -opengl -confirm-license -no-scrip ...

  5. Debian下编译安装驱动模块

    在Linux下,我们常有需要自己来编译安装驱动模块的情况,例如要安装显卡驱动,要安装无线驱动,有的时候某个程序的安装使用与需要安装相应的驱动模块.Debian Linux下的生活本已十分简单,使用ap ...

  6. 最全最详细:ubuntu16.04下内核编译以及设备驱动程序的编写(针对新手而写)

    写在前面:本博客为本人原创,转载请注明出处!同时,本博客严禁任何下载站随意抓取!!! 本博客唯一合法URL: 总体考虑 要去写设备驱动程序,说白了就三大步骤:下载内核源码构建内核源码树(也就是下载你的 ...

  7. debian下编译安装poco

    系统环境: debian版本:Linux localhost.localdomain 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC ...

  8. linux内核编译,配置本机驱动

    1.前言  编译linux内核失败的原因很多时候就是驱动选错,适合自己本机的驱动没编译进去.面对特殊平台(或者有些洁癖者,我就是^_^),要编译精简内核,只要本机驱动,其他都不需要.面对内核里面这么多 ...

  9. linux 驱动模块 内核编译环境

    目录(?)[+] Linux设备驱动Hello World程序介绍 如何编写一个简单的linux内核模块和设备驱动程序.我将学习到如何在内核模式下以三种不同的方式来打印hello world,这三种方 ...

随机推荐

  1. 【udacity】机器学习-决策树

    Evernote Export 1.监督学习 我们向系统中输出样本,并且告诉系统样本标签(target),系统用我们给出的不同样本的成功与失败的信息,构建它对成功或失败的因素的理解. 2.分类与回归之 ...

  2. Linux学习二:基于CentOS 6.5的网络配置

    查看网卡信息: ifconfig [root@hadoop01 ~]# ifconfig [正常的显示信息] eth0 Link encap:Ethernet HWaddr :0C::::5C ine ...

  3. POJ 3228 Gold Transportation

    Gold Transportation Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on PKU. Ori ...

  4. JAVA的基本数据类型和引用数据类型的区别

        引用数据类型: 类.接口类型.数组类型.枚举类型.注解类型:   基本数据类型和引用数据类型的区别: 基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上: 引用数据类型在被创 ...

  5. HDU5130 Signal Interference

    /* HDU5130 Signal Interference http://acm.hdu.edu.cn/showproblem.php?pid=5130 计算几何 圆与多边形面积交 * */ #in ...

  6. MySQL 存储

    1.存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户 ...

  7. mysql开发之---每日一得01

    2015年7月7日------------------------- 1.truncate表会清空建表语句auto_increment的值:某个表的id即是主键也是自增,你能够选择插入随意id值,假设 ...

  8. 上机题目(0基础)- Java网络操作-Socket实现client和server端通信(Java)

    非常多刚開始学习的人对于java网络通信不太熟悉.对相关概念也不太明确,这里我们主要实现一下socket通信,socket通信在java中应用十分广泛.比如QQ和MSN等都是基于socket通信的,什 ...

  9. POJ 题目3461 Oulipo(KMP)

    Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 26479   Accepted: 10550 Descript ...

  10. redis 五大数据类型的常用指令

    STRING 192.168.1.66:6379> get k1 "v1" 192.168.1.66:6379> append k1 12345 (integer) 7 ...