Re: [reiserfs-list] Boot failure: msdos pushes in front of reiserfs

Matthias Andree
2002-01-14T14:02:12Z

On Mon, 14 Jan 2002, Oleg Drokin wrote:

> It is tried _and_ somewhat succesfuly, because there is still MSDOS "superblock".

True.

> > 4. I asked Ewald to boot with rootfstype=reiserfs, but he reported that
> > this did not help, news:<a1sb7b$t2d2e$1@ID-47183.news.dfncis.de>
> > (German-language).
> Hm, probably because reiserfs is not in kernel, but is an external module.

Yes, but this module is loaded from SuSE's initrd, so it is loaded
before the root file system is mounted. Might it be that "rootfstype" is
already checked as the initrd is mounted rather then when the actual
root is mounted? If so, fs/super.c deserves fixing, but I'm not
acquainted with that code, so I cannot tell or fix that now.

> > 2. mkreiserfs could also zero out so much of old data on the FS so that
> > the kernel reliably recognizes the FS as reiserfs and fails to mount
> > that stuff as msdos
> External tools (lilo and stuff) can live there, this will destroy them.
>
> Correct solution, if you create filesystem with mkreiserfs, and you
> have no reliable way to pass fstype to kernel, when this partition is mounted
> should be to destroy all occurences of other fs's superblocks by yourself, obviously.

Sure, but tell newbies how to do that. (Tell distributors first. :-)
>
> > 3. Distributors, when making their initrd stuff, should make sure that
> > all Linux-native file systems are tried first.
> FS tryout order is hard-wired into the kernel (and depends on linking order, AFAIK).

Yup, reiserfs is last in /proc/filesystems when loaded as module, but on
my private machine (where it's linked into the kernel), it's right after
ext2 and before vfat.

> why have not you asked him to do 'dd if=/dev/zero
> of=/dev/his_partition bs=512 count=1'? (and this won't destroy
> existing reiserfs filesystem).

Because I wasn't sure about the superblock checking behaviour of msdos.o
and whether this would harm reiserfs.o. I'm not telling newbies things
when I'm not absolutely sure they don't make things worse, I don't want
to scare them away from Linux.

Ewald, can you try

dd if=/dev/zero of=/dev/hda13 bs=512 count=1

from your rescue system and then check if your actual system boots
properly without help of SuSE's install floppies/CD?

--
Matthias Andree

"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety." Benjamin Franklin