重新编译内核

编译安装或者制作Deb包
头像
zongzw
帖子: 94
注册时间: 2008-03-31 16:12
送出感谢: 0
接收感谢: 0

重新编译内核

#1

帖子 zongzw » 2008-07-28 21:59

按照常规方法修改相关配置后,编译了内核:

代码: 全选

make menuconfig
make dep && make bzImage && make modules && make modules_install 
然后需要在/boot目录下的grub.conf文件中作一些修改,以便引导新的内核。

这才发现没有生成对应的initrd.XXX.img文件,这个文件怎么生成。
头像
zongzw
帖子: 94
注册时间: 2008-03-31 16:12
送出感谢: 0
接收感谢: 0

#2

帖子 zongzw » 2008-07-28 22:03

我在fedora中编译2。6。25,是有的,跟内核版本有关系,还是跟不同linux有关系?
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

#3

帖子 BigSnake.NET » 2008-07-28 22:04

update-initramfs ?
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
zongzw
帖子: 94
注册时间: 2008-03-31 16:12
送出感谢: 0
接收感谢: 0

#4

帖子 zongzw » 2008-07-29 9:05

不是很明白,知道有这么个东西,不知道怎么用。
gcheng.chatswood
帖子: 14
注册时间: 2008-07-22 9:56
送出感谢: 0
接收感谢: 0

#5

帖子 gcheng.chatswood » 2008-07-29 9:11

代码: 全选

 sudo update-initramfs -c -k <your_kernel_version> 
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35
送出感谢: 0
接收感谢: 2 次
联系:

#6

帖子 yaska » 2008-07-29 9:16

不用这么麻烦。

ubuntu下编译内核:

代码: 全选

cd /usr/src/linux
sudo make-kpkg clean
sudo make-kpkg --initrd  kernel_image kernel_headers
完成后,/usr/src目录下会出现两个东西,一个是内核image的安装包,另外一个是内核headers的安装包。

代码: 全选

sudo dpkg -i /usr/src/kernel-image-2.6.25*.deb
sudo dpkg -i /usr/src/kernel-headers-2.6.25*.deb
就可以试试新的内核了。

如果只需要生成initrd.img可以用
sudo update-initramfs -c -k <your_kernel_version>
小小棉花
帖子: 4
注册时间: 2008-07-29 10:07
送出感谢: 0
接收感谢: 0

#7

帖子 小小棉花 » 2008-07-29 10:09

好好
头像
zongzw
帖子: 94
注册时间: 2008-03-31 16:12
送出感谢: 0
接收感谢: 0

#8

帖子 zongzw » 2008-07-29 10:40

谢谢 六楼说的是一种方法,其实在我1楼中说的方法后外加使用mkinitramfs -o /boot/initrd.img-2.6.20.20 2.6.20.20,就可以了

1 使用make menuconfig 用来定制自己的内核。
2 接下来就要编译了。输入命令:

代码: 全选

make
3 编译完成后,开始安装:

代码: 全选

make modules
make module_install
4 然后添加引导信息,不过之前还是要装一个组件initramfs-tools,如3楼所说。装完以后输入:

代码: 全选

mkinitramfs -o /boot/initrd.img-2.6.19.2 2.6.19.2‘这里2.6.19.2是你编译的内核的版本号
打开 /boot/grub/menu.lst,添加一个新的启动项,用于引导新的内核
编写方法:照葫芦画瓢就是了。
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40
送出感谢: 0
接收感谢: 5 次

#9

帖子 syrano » 2008-07-29 12:18

E=m c^2
头像
somuch
帖子: 5
注册时间: 2008-03-14 18:24
送出感谢: 0
接收感谢: 0

#10

帖子 somuch » 2008-07-29 15:41

同学之,共思之。
苍茫云海间
明月出天山!
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35
送出感谢: 0
接收感谢: 2 次
联系:

#11

帖子 yaska » 2008-07-29 15:53

somuch 写了:同学之,共思之。
读起来太别扭了。。 :?
头像
Bit_Lee
帖子: 81
注册时间: 2008-07-18 23:16
系统: Ubuntu
送出感谢: 0
接收感谢: 0
联系:

#12

帖子 Bit_Lee » 2008-07-29 23:20

学习 学习 再学习......
我相信linux会笑傲"江湖"的! : P
白水月
帖子: 86
注册时间: 2008-03-10 11:28
送出感谢: 0
接收感谢: 0

#13

帖子 白水月 » 2008-07-30 14:35

yaska 写了:不用这么麻烦。

ubuntu下编译内核:

代码: 全选

cd /usr/src/linux
sudo make-kpkg clean
sudo make-kpkg --initrd  kernel_image kernel_headers
完成后,/usr/src目录下会出现两个东西,一个是内核image的安装包,另外一个是内核headers的安装包。

代码: 全选

sudo dpkg -i /usr/src/kernel-image-2.6.25*.deb
sudo dpkg -i /usr/src/kernel-headers-2.6.25*.deb
就可以试试新的内核了。

如果只需要生成initrd.img可以用
sudo update-initramfs -c -k <your_kernel_version>

在 /usr/src/ 目录下没有linux这个文件夹怎么办?
在 /usr/src/ 下ls 得到 linux-headers-2.6.24-19 linux-headers-2.6.24-19-generic 两个文件。
怎么办?
头像
zongzw
帖子: 94
注册时间: 2008-03-31 16:12
送出感谢: 0
接收感谢: 0

#14

帖子 zongzw » 2008-08-13 20:45

水白月,你需要下载linux内核源码,/usr/src是自己的源文件目录
白水月
帖子: 86
注册时间: 2008-03-10 11:28
送出感谢: 0
接收感谢: 0

#15

帖子 白水月 » 2008-08-13 23:53

我先试试。
谢谢。
回复

回到 “编译或打包”