[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: nasty ext3 problem

On Tue, Apr 08, 2003 at 10:37:51AM +0200, Juri Haberland wrote:
> I'm already maintaining an EXT3 faq (since 2000?) at
> http://batleth.sapienti-sat.org/FAQs/ext3-faq.html
> or Google -> "ext3 faq" -> "I'm feeling lucky" :)

Actually, the URL appears to be 


... but the Google approach works just fine.  :-)

Couple of suggestions.  If you could add a <A NAME="du-df"> to the
question, that would be great, since I anticipate needing to point
people to it a lot, that would be great.

Also, the questions and answers about converting between version 1 and
version 2 of the journal will probably not be needed by the vast
majority of the users these days.  (It only really applies to people
who started using journalling with the early ext3 code and the 2.2
kernel.)  So it might be a good idea put them in a historical section,
with an explanation that most users won't need to worry about this.
Otherwise, it might confuse newbies that are just starting to play
with ext3 today.

In the question "I compiled ext3 as a module and my / partition gets
mounted as ext2", I would suggest replacing the answer with the

------------ Begin new answer

If you have ext2 compiled into the kernel and ext3 as a module and
your root filesystem is ext2/3, then the kernel will always mount the
root fs as ext2 and not as ext3 since at the time when the root
filesystem is mounted, the kernel does not have access to the modules,
since they are located on the root filesystem.  (This is a chicken and
egg problem!)

If you have this setup, you might first want to consider whether it
makes sense to compile ext3 as a module.  If you want to use ext3 on
your root filesystem, the ext3 filesystem module will always be loaded
and can not be unloaded, so it might as well be compiled-in.
Furthermore, modules waste a tiny amount of memory (on average 2k per
module), and take up an extra entry in the TLB cache --- a slight, and
perhaps not measurable disadvantage, but given that there is no real
advantage to compiling ext3 as a module, why bother?

If you do want to compile ext3 as a module and use it as your root
filesystem, it can be done, but what you must do is do is boot into an
initial ramdisk (initrd) image as your root image.  This initrd image
will contain the necessary modules (scsi, ext3, etc.) so you can mount
your "real" root filesystem and then use pivot_root to replace the
initrd root filesystem with the "real" root filesystem.

Most distributions do the pivot_root trick automatically, but they
differ in how the tool which builds the initrd image needs to be

<LI>	On a SuSE system you have to put "jbd ext3" (in this order!)
		into the YaST setting INITRD_MODULES. Then do a
		mk_initrd and it should work.
<LI>	On a Red Hat system it seems that it is sufficiant to just
		do a mkinitrd.
<LI>	On a Debian system (woody and above) the you must run the command:
	     "mkinitrd -o boot/initrd.img-2.4.18-386 /lib/modules/2.4.18-386"
		where "2.4.18-386" must be substituted with the version number
		of the debian kernel which you are currently using.  Note:
		this requires that you have the initrd-tools package installed,
		and if you currently are not using an initrd setup, your lilo
		or grub configuration files must be modified to tell the 
		booting kernel to use the initrd image.

------------------ End new answer

Other than that these minor changes, the FAQ looks pretty good!
Thanks for taking the time to write it.

						- Ted

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]