Messages in this thread | | | From | "Post, Mark K" <> | Subject | RE: PROBLEM: kernel mount of initrd fails unless mke2fs uses 1024 byt e blocks | Date | Fri, 12 Apr 2002 17:01:13 -0400 |
| |
Andries,
Thanks for the update. So, what do I do now? Wait for a fix for 2.2? Send my problem report to someone else? Let me know.
Mark Post
-----Original Message----- From: Andries.Brouwer@cwi.nl [mailto:Andries.Brouwer@cwi.nl] Sent: Friday, April 12, 2002 4:41 PM To: Andries.Brouwer@cwi.nl; linux-kernel@vger.kernel.org; mark.post@eds.com Cc: alan@lxorguk.ukuu.org.uk Subject: Re: PROBLEM: kernel mount of initrd fails unless mke2fs uses 1024 byt e blocks
From: "Post, Mark K" <mark.post@eds.com>
[1.] One line summary of the problem: Trying to use an initrd for an installation fails unless the mke2fs used a blocksize of 1024 bytes.
[2.] Full description of the problem/report: I'm trying to create a Linux for S/390 version 2.2.20 installation kernel/ramdisk set. When I create the ramdisk, if I issue the mke2fs command with -b 2048 or -b 4096, it works fine. But, I try to boot the system, I get an "EXT2-fs: Magic mismatch, very weird !" error when the kernel tries to mount the ramdisk as the root file system. If I let the blocksize default, or specify -b 1024, everything works fine.
The comparison that seems to be failing is at line 500 of linux/fs/ext/super.c: if (es->s_magic != le16_to_cpu(EXT2_SUPER_MAGIC)) { printk ("EXT2-fs: Magic mismatch, very weird !\n"); goto failed_mount;
I answered:
I once submitted a patch for this, but apparently it is not in 2.2.20.
but was too hasty. I recalled a buglet here, that was fixed in 2.4 and is still in 2.2, and indeed, there is such a buglet, but your problem is elsewhere.
The kernel does set_blocksize() to change the blocksize of your device. This set_blocksize() throws away all buffers with the now incorrect size. But your device is a ramdisk, and throwing out these buffers kills all your data. So, after doing that, you have an empty ramdisk again. Hence mount fails.
Andries
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |