LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1348|回复: 17

还是关于编译内核的问题

[复制链接]
发表于 2009-2-17 00:15:41 | 显示全部楼层 |阅读模式
我就拷DEBIAN下面的过去,但在DEBIAN下面是有initrd的,编译出来肯定进不了系统。
但按照网上所说编进内核什么的都搞不定,都启动不了
在LFS下面是又命令来生成initrd的,反正我DEBIAN也还用的,就用DEBIAN的来搞定两个算了。
tar xvf linux-2.6.28.5.tar.bz2
cd linux-2.6.28.5 make
mrproper
make menuconfig
加载从DEBIAN搞过来的.config再保存。
make make
modules_install install -d /usr/share/doc/linux-2.6.22.5
cp -r Documentation/* /usr/share/doc/linux-2.6.28.5

改一下DEBIAN系统的GRUB的
加入:
title LFS 6.3 (on/dev/sda8) root (hd0,0)
kernel /vmlinuz-2.6.28.5 root=/dev/sda8
initrd
/initrd.img-2.6.28.5

其中/boot就两个系统都挂,共用。
这样重启引启,好像也一点问题都没,也很顺利地进入了LFS。
想问一下高手们这样做是不是也是一条路线。
要不有没有方法在LFS下就生成INITRD的,是不是要装个什么包就有那个命令。
又或者怎么样改动DEBIAN的.config才能让到LFS不用INITRD也适用。

===
后来尝试一下,把.config的=m都改成=y,生成的lfskernel-2.6.22.5也只有1.5m,不用initrd,重启能进,算不算成功了呢?
发表于 2009-2-17 09:14:23 | 显示全部楼层
suse有个mkinitrd,你编译完了

make modules_install
make install 就直接调用mkinitrd了,

也可以手工直接运行mkinitrd

DEBIAN也有个命令,好象是makeramfs,记不清了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-17 11:53:31 | 显示全部楼层
Debian是有命令:mkinitramfs,我也试过,不过要先把 /lib/modules/2.6.2x.x/ 先拷过来再生成,呵呵。
回复 支持 反对

使用道具 举报

发表于 2009-2-17 13:10:09 | 显示全部楼层
前几天在一本书里介绍redhat也有个命令把一些驱动模块加入到initrd里
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-17 17:16:46 | 显示全部楼层
专门看了一下initrd是搞什么东东用的,结果像看天书一样,果然不是吃这口饭的人。。。。
回复 支持 反对

使用道具 举报

发表于 2009-2-17 17:32:48 | 显示全部楼层
呵呵。
你可以在DEBIAN下面把内核编译好了,LFS直接用他的内核就行,
或者可以直接用DEBIAN的内核都可以,
只要把/boot/grub/menu.lst中的相应行中的root=/dev/xxx改成LFS的分区即可。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-17 17:59:47 | 显示全部楼层
其实我现在是知其然,就是不知其所以然。呵呵。。
回复 支持 反对

使用道具 举报

发表于 2009-2-17 20:23:24 | 显示全部楼层
慢慢来。 凑字。。
回复 支持 反对

使用道具 举报

发表于 2009-2-17 23:13:01 | 显示全部楼层
initrd文件里的东西就是一些附加的驱动模块,lfs不一定用的着
回复 支持 反对

使用道具 举报

发表于 2009-2-26 20:46:11 | 显示全部楼层
Post by 老李飞刀;1948523
我就拷DEBIAN下面的过去,但在DEBIAN下面是有initrd的,编译出来肯定进不了系统。
但按照网上所说编进内核什么的都搞不定,都启动不了
在LFS下面是又命令来生成initrd的,反正我DEBIAN也还用的,就用DEBIAN的来搞定两个算了。
tar xvf linux-2.6.28.5.tar.bz2
cd linux-2.6.28.5 make
mrproper
make menuconfig
加载从DEBIAN搞过来的.config再保存。
make make
modules_install install -d /usr/share/doc/linux-2.6.22.5
cp -r Documentation/* /usr/share/doc/linux-2.6.28.5

改一下DEBIAN系统的GRUB的
加入:
title LFS 6.3 (on/dev/sda8) root (hd0,0)
kernel /vmlinuz-2.6.28.5 root=/dev/sda8
initrd
/initrd.img-2.6.28.5

其中/boot就两个系统都挂,共用。
这样重启引启,好像也一点问题都没,也很顺利地进入了LFS。
想问一下高手们这样做是不是也是一条路线。
要不有没有方法在LFS下就生成INITRD的,是不是要装个什么包就有那个命令。
又或者怎么样改动DEBIAN的.config才能让到LFS不用INITRD也适用。

===
后来尝试一下,把.config的=m都改成=y,生成的lfskernel-2.6.22.5也只有1.5m,不用initrd,重启能进,算不算成功了呢?

共用 /boot 当然也可以随意指定想起动的系统,俺经常这样做

http://www.linuxsir.cn/bbs/thread335331.html
http://www.linuxsir.cn/bbs/thread343284.html

.config 里并非所有的都需要由 m 改为 y 来去掉 initrd,以前不是叫你看 Debian 版置顶帖里的解说麽?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表