I have installed FreeBSD 8 on my external usb-harddisk without any problems. Just I cannot boot into it, but I always receive a mountroot-prompt.
Reading the news / archives I found a problem in the mountroot taking place too early -- before all of the usb-probe and device-setup is fully done.
There was (?) no really solution available, so I have made a small change that caused everything to work -- but one may see this more a work-around than rather a real fix.
The main idea is to put in an un-conditional wait at the beginning of vfs_mountroot. And, of course make this configurable. The acutal change is just a few lines that should not harm anything else.
For my system I have started with the default of 5000ms, but I needed to go to 15000ms to mount my root-fs safely.
Please find attached the source-diff.
Fix: FreeBSD unixrest 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Fri Mar 12 14:02:27 CET 2010 root@unixrest:/usr/src/sys/i386/compile/BXGENERIC i386
Patch attached with submission follows:
1. This was misfiled (should be under kern).
2. This is a well-known issue (devices in general not being available
by the time mount of mountroot is attempted) that isn't trivial to
3. mav@ has a more scalable solution offered here that's been
committed into CURRENT in the past couple months:
. Look for kern.cam.boot_delay.
For bugs matching the following criteria:
Status: In Progress Changed: (is less than) 2014-06-01
Reset to default assignee and clear in-progress tags.
Mail being skipped