LinuxSir.cn,穿越时空的Linuxsir!

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

kernel2.6,真的是个怪物

[复制链接]
发表于 2004-6-4 16:14:21 | 显示全部楼层 |阅读模式
用了slackware-current的testing中的2.6.6,发现内核引导失败,原因是:一,它没有认出我使用的DDO,二,它没有把对reiserfs的支持编入内核,只是个模块而已,可笑的是安装时它倒是推荐这个文件系统,研究了一下内核的文档资料,知道了要在grub中传递参数hda=remap63才能解决第一个问题,'第二个问题我暂时没有办法,只好重新编译内核,因为参数rootfstype=reiserfs没用.
系统启动后一看,slack没把isa网卡的驱动编译进去,还有vga16fb这个模块,加载失败,因为找不到fbcon_vga_planes这个模块,并且我这次在系统重启时真的听到硬盘叽-嘎的声音了,现在正在重新编译2.6.7-rc2.
发表于 2004-6-4 17:34:58 | 显示全部楼层
编译好了,把config文件贴出来看看
发表于 2004-6-4 17:45:35 | 显示全部楼层
from kernel-generic-2.6.6-i486-3.txt:
[PHP]kernel-generic: kernel-generic (a general purpose Linux kernel)
kernel-generic:
kernel-generic: This is a Linux kernel with built-in support for most IDE controllers
kernel-generic: and the ext2 filesystem.  If you need more advanced filesystems, or
kernel-generic: need to load support for a SCSI or other controller, then you'll need
kernel-generic: to load one or more kernel modules using an initial ramdisk, or
kernel-generic: initrd.  For more information about creating an initrd, see the
kernel-generic: README.initrd file in the /boot directory.
kernel-generic:
kernel-generic:
kernel-generic: [/PHP]
发表于 2004-6-4 18:37:58 | 显示全部楼层

回复: kernel2.6,真的是个怪物

最初由 hj_18 发表
用了slackware-current的testing中的2.6.6,发现内核引导失败,原因是:一,它没有认出我使用的DDO,二,它没有把对reiserfs的支持编入内核,只是个模块而已,可笑的是安装时它倒是推荐这个文件系统,研究了一下内核的文档资料,知道了要在grub中传递参数hda=remap63才能解决第一个问题,'第二个问题我暂时没有办法,只好重新编译内核,因为参数rootfstype=reiserfs没用.
系统启动后一看,slack没把isa网卡的驱动编译进去,还有vga16fb这个模块,加载失败,因为找不到fbcon_vga_planes这个模块,并且我这次在系统重启时真的听到硬盘叽-嘎的声音了,现在正在重新编译2.6.7-rc2.


你需要仔细看人家的ChangeLog...
Reiserfs 只是作为模块编译内核,所以你需要到生成/boot下initrd.gz
步骤如下:
先到/boot中,./ mkinitrd生成了initrd-tree,cd initrd-tree/lib/modules, mv 2.4.26 2.6.6,然后把/lib/modules/2.6.6/kernel/fs/reiserfs/reiserfs.ko
cp 到 /boot/initrd-tree/lib/modules/2.6.6,如果默认的内核没有编入你的某些硬件的话,也可以把相关的模块cp过来(比如我就cp了psmouse.ko来支持我的鼠标),然后编辑/boot/initrd-tree下的load_kernel_modules,如下:
[PHP]insmod /lib/modules/2.6.6/reiserfs.ko
insmod /lib/modules/2.6.6/psmouse.ko
[/PHP]
再chmod +x load_kernel_modules, 好,现在重新运行/boot/mkinitrd,生成了initrd.gz,如果你用lilo,在image=vmlinuz后面添加 initrd = /boot/initrd.gz ,用grub的话,在kernel /boot/vmlinuz ro root=/dev/hdax后添加 initrd /boot/initrd.gz。

重新起动即可使用新内核。

要求加精,这可是首发……
发表于 2004-6-5 00:01:48 | 显示全部楼层
好!又学到东西了,我现在用current(6月4的),不打补丁,除了粗体一切都很好,谁能帮我把粗体弄出来呢(不打补丁)
 楼主| 发表于 2004-6-6 07:30:41 | 显示全部楼层

非常感谢楼上诸位

学到我最想学的东东了,关于如何创建initrd.gz。可是现在我还有一事不明,在2.6中好像vga16fb这个模块加载后,没有什么效果,在2.4中可以看见屏幕一闪,然后字体什么的都不一样了,这样我就可以用上zhcon了,现在我只好用cce了,当然cce也是很优秀的。
发表于 2004-6-10 14:42:33 | 显示全部楼层
呵呵,好东西
发表于 2004-7-15 22:11:12 | 显示全部楼层

回复: 回复: kernel2.6,真的是个怪物

最初由 Neo.K 发表
用grub的话,在kernel /boot/vmlinuz ro root=/dev/hdax后添加 initrd /boot/initrd.gz

I tried this but cannot get my 2.6.7 kernel from slackware 10.0 testing to load root fs. According to grub info page, the correct way is add a line "initrd /boot/initrd.gz" below the kernel line. Below is my grub menu.lst excerpt

title Slackware X Kernel 2.6.7
root (hd0,7)
kernel /boot/vmlinuz-generic-2.6.7 root=/dev/hda8 vga=773 ro
initrd /boot/initrd.gz

x@slackx:/boot/grub$ ls /boot
README.initrd@            config@               grub/         vmlinuz-generic-2.6.7
System.map@               config-generic-2.6.7  initrd-tree/  vmlinuz-ide-2.4.26
System.map-generic-2.6.7  config-ide-2.4.26     initrd.gz
System.map-ide-2.4.26     diag1.img             vmlinuz@

initrd.gz was built using this command:
mkinitrd -c -k 2.6.7 -m reiserfs
发表于 2004-7-16 09:20:26 | 显示全部楼层
什么是DDO
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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