From: "Bill Catlan" <wcatlan@yahoo.com>
To: <linux-kernel@vger.kernel.org>
Subject: Possible to delay boot process to boot from USB subsystem?
Date: Sun, 2 May 2004 19:27:08 -0400 [thread overview]
Message-ID: <003201c4309c$fd93cd90$0202a8c0@boxa> (raw)
Hello,
The below message appeared on linux-kernel in June 2002. The patch allows
booting from a USB harddrive and was designed for the 2.4.14-pre8-ext3 kernel,
but I was able to manually apply it to a Debian 2.4.18 kernel.
I am now trying to upgrade to a 2.4.26 kernel, and I am unable to create the
same "boot from floppy with rootfs on a USB drive" scenario that I created with
the modified 2.4.18 kernel. I believe my current issue with the 2.4.26 kernel
is the same race condition as on the 2.4.18 kernel since I get the "Initializing
USB Mass Storage driver..." notice, but then i get "Kernel panic: No init found.
Try passing init= option to kernel." Given time, I suspect that the USB storage
subsystem would come online and the kernel would be able to mount the rootfs on
it.
fs/super.c has change dramatically and the below patch now seems obsolete.
Is there a similar patch for newer kernels - or any other way to cause the boot
process to pause between loading the kernel and modules and running /sbin/init?
TIA.
Bill
On Sun, Jun 02, 2002 at 10:13:22PM +0200, Paul Stoeber wrote:
> It simply sleeps 10 seconds before mount_block_root().
>
> I get an 'Unable to mount root' panic if I don't apply it,
> because the attached device rolls in too late.
A while ago I made the patch below. I retries every second until the root
device appears. Advantages:
- no delay when the device is already there
- it also works if it takes longer than 10s to find the harddisk
(for example, if you plug it in later)
I don't know if it applies cleanly to current kernels.
Eric
--- linux-2.4.14-pre8-ext3/fs/super.c.orig Fri Nov 16 00:59:18 2001
+++ linux-2.4.14-pre8-ext3/fs/super.c Fri Nov 16 01:07:26 2001
@@ -1009,11 +1009,13 @@
* Allow the user to distinguish between failed open
* and bad superblock on root device.
*/
- printk ("VFS: Cannot open root device \"%s\" or %s\n",
+ printk ("VFS: Cannot open root device \"%s\" or %s, retrying in 1s.\n",
root_device_name, kdevname (ROOT_DEV));
- printk ("Please append a correct \"root=\" boot option\n");
- panic("VFS: Unable to mount root fs on %s",
- kdevname(ROOT_DEV));
+
+ /* wait 1 second and try again */
+ current->state = TASK_INTERRUPTIBLE;
+ schedule_timeout(HZ);
+ goto retry;
}
check_disk_change(ROOT_DEV);
-
next reply other threads:[~2004-05-03 1:16 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-02 23:27 Bill Catlan [this message]
2004-05-03 1:27 ` Possible to delay boot process to boot from USB subsystem? Randy.Dunlap
2004-05-03 5:17 ` Bill Catlan
2004-05-03 20:31 ` Bill Catlan
2004-05-04 18:53 ` Paulo Marques
2004-05-05 14:18 ` Bill Catlan
2004-05-03 5:34 ` Willy Tarreau
2004-05-03 20:44 ` Bill Catlan
2004-05-03 21:05 ` Willy TARREAU
-- strict thread matches above, loose matches on Subject: below --
2004-05-04 2:32 Randy.Dunlap
2004-05-04 4:51 ` Willy Tarreau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='003201c4309c$fd93cd90$0202a8c0@boxa' \
--to=wcatlan@yahoo.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox