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

Oleg Drokin
2002-01-14T06:50:50Z

Hello!

On Sun, Jan 13, 2002 at 11:38:03PM +0100, Matthias Andree wrote:

> 3. I presume that msdos is linked into the kernel, and is thus tried
> first as root file system, the kernel then panicks as it cannot find
> /sbin/init (of course, it's in ReiserFS format, not msdos).
It is tried _and_ somewhat succesfuly, because there is still MSDOS "superblock".

> 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.

> 5. It seems as though some traces of FAT16 shining through reiserfs
> still make msdos think it can actually mount the file system.
Exactly.

> I see various points where this can be attacked:
> 1. SuSE and other distributors' installation tools, when formatting a
> partition with mkfs, should zero out the first couple of MBytes with
> dd if=/dev/zero of=/dev/hda13 bs=4096 count=1024 or something. I'm
> not exactly sure how much is needed to get rid of the msdos traces.
Erasing first 512 bytes block is enough to get rid fo msdos superblock, I think.

> 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.

> 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).

> Ewald has only recently migrated from Windows to Linux and direly wants
> his installation to boot. For now, I asked him to recompile his kernel
> to let msdos, umsdos and vfat be only modules rather than linked into
> the kernel, rebuild his initrd with SuSE's mk_initrd and rerun lilo,
> that should work around his problem, but it's certainly not good and may
> turn away people from Linux who are less enduring and patient than
> Ewald.
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).

Bye,
Oleg