Debian下的内核编译

如果你装了一台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

时间: 2024-10-18 13:30:37

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

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

交叉编译器:arm-uclinuxeabi-2010q1 交叉编译器下载下来后解压,然后将其中bin文件夹路径加入到PATH变量中. 根据<debian下烧写stm32f429I discovery裸机程序>安装openocd. 安装genromfs,使用下面命令: sudo apt-get install genromfs 已经有人提供好脚本,只要执行几条命令即可.使用git下载文件并进行编译: git clone https://github.com/jserv/stm32f429-lin

Linux下的内核编译与模块操作

Linux下的内核编译与模块操作 一:实验环境 1):虚拟机 2):linux系统 3):linux系统的硬盘的空余空间要大于7G 4):虚拟机的内存要大于2.5G以上 二:实验目标 1):源码编译Linux内核 2):使用Linux内核模块 3):实战-编译一个NTFS内核模块,实现linux挂载NTFS文件系统并实现读写功能 三:实验脚本 第一块 --源码编译Linux内核 linux系统与windows系统是两种截然不同的系统,windows系统中的软件都是需要付费的,而linux系统中的

Debian下编译安装驱动模块

在Linux下,我们常有需要自己来编译安装驱动模块的情况,例如要安装显卡驱动,要安装无线驱动,有的时候某个程序的安装使用与需要安装相应的驱动模块.Debian Linux下的生活本已十分简单,使用apt可以处理一切.单就我们所讨论的驱动安装,一般情况下,源中也会有已编译的相应驱动可用.但是一般来说,驱动模块与所用的内核版本有着较强的依赖关系,如果源中并没有与我们所用的内核版本相匹配的驱动时,就需要我们自己手动来编译安装驱动模块了.在这样的情况,Debian下的驱动模块编译安装工具m-a就有了用武

debian下配置dynamic printk以及重新编译内核

在以前的一篇博文<编译debian内核>已经提过了重新编译内核的方法,但是整个过程花费时间较长,并且生成deb包. 这里我采用稍微简单一些的方法,因为我并没有对内核或者驱动代码做任何修改,仅仅是在内核中选中一些未被选中的调试选项(以便于查看log信息) 先获取内核源码: sudo apt-get source linux-source-3.2 会在当前文件夹下得到几个文件: $ ls linux-3.2.57 linux_3.2.57-3+deb7u2.debian.tar.xz linux_

【Linux学习】Ubuntu下内核编译(一)

(1)当要执行内核配置时,输入make menuconfig时出现错误 遇到这个问题,主要是以为没有ncurses库,而make menconfig 需要这个库,因此需要安装ncurses或者ncurses-devel即可.输入命令:sudo  apt-get  install ncurses或者sudo apt-get  install ncurses-devel. (2)错误 drivers/input/touchscreen/eeti_ts.c: In function 'eeti_ts_

Ubuntu 16.04LTS下内核编译与安装

1.获取内核源码,www.kernel.org. 右键解压提取,在主目录下进行内核配置. 2.配置内核特性(选择一种方法就可以了) make config:遍历选择所要编译的内核特性 make allyesconfig:配置所有可编译的内核特性 make allnoconfig:并不是所有的都不编译 make menuconfig:这种就是打开一个文件窗口选择菜单.出错的话要安装,#sudo apt-get install libncurses5-dev make kconfig(KDE桌面环境

debian下编译libev库

系统为Linux debian 2.6.32-5-686.这是裸系统,连xwindows都没有.帐户为root,不是的注意一下权限.这里想说明安装过程及出现的问题,故打印的信息较多,以供出现错误的读者对比.不需要这些信息的读者勿喷. 网上流行的安装方法: sh autogen.sh 或 ./configure make make install 注意,sh autogen.sh 或 ./configure 只运行其中一个就可以,功能一样.只是autogen.sh调用autoconf来配置参数,.

Debian 7.6 新编译内核 3.15.6 开机加载黑屏

需要手动加载 fbcon 这个模块,或者编译内核的时候,Framebuffer Console support 编译进内核(后者没测试过).加在模块只要修改/etc/default/grub文件或者/boot/grub/grub.cfg文件,添加”vga=0x0314 fb:on“.修改/etc/default/grub文件需再运行grub-mkconfig. [email protected]:~$ lsb_release -aNo LSB modules are available.Dist

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

1.前言  编译linux内核失败的原因很多时候就是驱动选错,适合自己本机的驱动没编译进去.面对特殊平台(或者有些洁癖者,我就是^_^),要编译精简内核,只要本机驱动,其他都不需要.面对内核里面这么多驱动,不懂硬件的我们,看到都头大.本人第一次安装gentoo的时候,内核编译了5次,前4次主要失败原因是以太网卡驱动.无线网卡驱动.显卡驱动.声卡驱动都没一次性配置正确.虽然gentoo提供了genkernel命令,可以自动帮你编译内核,但还是想自己手工尝试下. 2.获取本机驱动信息 既然跟内核挂钩