hhuyf 发表于 2004-12-27 00:18:34

不用initrd怎么挂载根分区啊

我把CDlinux解到了hda7上

在fstab上设置了
/dev/hda7    /         ext2      defaults         1   1

grub也设置了 root (hd0,6)kernel 后加了 root=/dev/hda7
但是启动的时候就是提示无法加载根系统

怎么办?

到底根分区在什么时候加载的?通过什么参数控制的啊

hhuyf 发表于 2004-12-27 00:56:10

who tell me???
help

hhuyf 发表于 2004-12-27 09:31:23

zai ding

hew 发表于 2004-12-27 09:49:39

说清楚点,是把CDlinux 的iso 解到hda7 还是 CDlinux.gz ?那个系统的fstab ?

root (hd0,6) kernel 后加了 root=/dev/hda7这是加载的 / 是kernel 所在的分区。
例如我现在的系统 /boot hda5, / hda6 ,那么我的grub 里是这样的kernel xxxx root=/dev/hda5 ro.但我fstab 里挂载的 / 是 hda6.

hhuyf 发表于 2004-12-27 13:51:20

没你的复杂啊
我把CDlinux完全解开到一个单独的ext2分区了
按根目录的结构都做好了
然后用他的内核起动
结果怎么也挂不上根目录

你能不能告诉我大概什么原因?另外根目录到底在哪里设置?什么时候挂载,是进系统后用fstab呢,还是在grub里设置的

没initrd该则怎么设置fstab

hew 发表于 2004-12-27 16:29:18

FT,你以为你把文件完整cp 分区内,你的分区就变光盘了吗?如果livecd 能这么简单的cp 就好了.

不是怎么加载 / 的问题,是你根本走错了路.

hhuyf 发表于 2004-12-27 20:53:30

老大你说得没错,我也没指望cp过去就能用,但是不管怎样总得先解开啊,我这不是在探索之中么,文件结构是差不多的,主要就是内核加载后到能够开始登陆这段初始化问题啊,本来我想先看看初始化会出现什么问题,可是加载不了/分区
现在我想麻烦你帮我解答以下几个问题:
1、如果/boot在/hda1而/在/hda5,请问grub里面怎么设置
2、如果我不用initrd的话,系统该怎么启动,怎么加载根分区
3、到底根分区的的设置是在哪里??我认为你之前的回答好象有点问题,你认为kernel那一行中的root=后面应该是/boot的分区,那样的话kernel后面的内核地址就不应该有/boot这个目录名,因为直接放在/boot分区的根目录下的

还希望您能帮我把这几个问题都回答一下
谢谢

hhuyf 发表于 2004-12-27 21:12:16

知道的老大都帮个忙,解答一下
万分感激

hhuyf 发表于 2004-12-27 21:49:05

真郁闷 我不停刷新了N次
居然还没人来帮忙

hew 发表于 2004-12-27 21:55:11

1、如果/boot在/hda1 而/在/hda5,请问grub里面怎么设置
举例:
title xxxlinux
root(hd0,0) [这里的root 是kernel 所在分区]
kernel /vmlinuz-xxx ro root=/dev/hda5 [这里是系统的root 分区]
initrd /initrd-xxx.img

2、如果我不用initrd的话,系统该怎么启动,怎么加载根分区
initrd 是对kernel 的补充用来实现模块化的内核,理论上initimg 也不是必须的,但现在作用越来越大几乎就是必须的了,所以要抛弃initrd 要有一个强悍的内核.



3、到底根分区的的设置是在哪里??我认为你之前的回答好象有点问题,你认为kernel那一行中的root=后面应该是/boot的分区,那样的话kernel后面的内核地址就不应该有/boot这个目录名,因为直接放在/boot分区的根目录下的

例如我现在的系统 /boot hda5, / hda6 ,那么我的grub 里是这样的kernel xxxx root=/dev/hda5 ro.但我fstab 里挂载的 / 是 hda6.

这段完全是个错误,不要理睬.

hhuyf 发表于 2004-12-27 22:23:41

谢谢你的回答啊
刚才没办法,我自己重启动了20多次终于搞明白根分区设置的问题了

现在才真让我晕了,老大你在如何不用initrd这个问题上一定要帮帮我啊,我发现有的内核不用initrd能够加载“/”,但是有的非要initrd才行,这到底是怎么实现的呢?编译内核的时候做了什么设置造成的,比如说CDlinux的内核吧,ext2的驱动是有的,解开死活不能挂载硬盘根分区,他是怎么做到的呢????

此外我换了一个支持fb的内核,启动进去后不能进X说少/dev/fb0,可是那个的确存在,而且内核也支持,就是提示没有fb0怎么办啊

hew 发表于 2004-12-27 22:44:45

initrd.img 是在内存中形成一个linux 环境,让你可以加载那些内核模块.如果你把需要的东西都编译进内核,那就不需要initrd.img 了,不过现在除了个别研究性质的版本,没有那个家伙不用模块化的内核了.

此外我换了一个支持fb的内核,启动进去后不能进X说少/dev/fb0,可是那个的确存在,而且内核也支持,就是提示没有fb0 怎么办啊

freebsd ?不了解.

hhuyf 发表于 2004-12-27 23:08:45

拜托别跟我讲啥要模块的问题了,我现在就不要模块

fb是说framebuffer 不是freebsd

hew 发表于 2004-12-27 23:19:55

CDlinux 的那个kernel 难道不是模块化的?

hhuyf 发表于 2004-12-28 00:14:27

驱动好象不是
不管怎样,ext2肯定是支持的啊
他的内核比较怪
你记得那个CDlinux.gz吧
在他自己系统才能挂,但是还是看不出什么文件格式
页: [1] 2
查看完整版本: 不用initrd怎么挂载根分区啊