The kernel bugs out in mount_block_root in the file init/do_mounts.c,
to be more precise in the for-loop. What happens is that it tries to
mount the file system as type ext2 (which happens to be first in the
list in our case), but instead of returning -EINVAL it returns -EBUSY,
the loop exits instead of trying the next (correct) fs-type and the
kernel panics.
Here's a patch:
--- linux-2.4.21/init/do_mounts.orig Thu Jul 10 13:44:03 2003
+++ linux-2.4.21/init/do_mounts.c Thu Jul 10 13:46:36 2003
@@ -359,6 +359,7 @@
flags |= MS_RDONLY;
goto retry;
case -EINVAL:
+ case -EBUSY:
continue;
}
/*
-- Martin Persson martin@kfib.org http://martin.kfib.org/ http://ss.kfib.org/"esound is junk. The only thing esd has is a good client API for going boing at approximately the right time. Anything else is beyond it." -- Alan Cox - 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/