Booting embedded from usb stick?
-
I am trying to boot the embedded version of pfSense (pfSense-2.0-RC3-4g-i386-20110621-1821-nanobsd.img) from a 4 GB usb stick on an HP t5145 thin client. I wrote the image to the usb stick using dd. The image boots and outputs the terminal output to the serial port, as expected. The boot hangs at a mountroot> prompt. Here's the end of the boot output:
uhub3: 6 ports with 6 removable, self powered Root mount waiting for: usbus3 ugen3.2: <sandisk>at usbus3 umass0: <sandisk 0="" 2="" cruzer="" blade,="" class="" 0,="" rev="" 2.00="" 2.00,="" addr="">on usbus3 Root mount waiting for: usbus3 Trying to mount root from ufs:/dev/ufs/pfsense0 ROOT MOUNT ERROR: If you have invalid mount options, reboot, and first try the following from the loader prompt: set vfs.root.mountfrom.options=rw and then remove invalid mount options from /etc/fstab. Loader variables: vfs.root.mountfrom=ufs:/dev/ufs/pfsense0 vfs.root.mountfrom.options=ro,sync,noatime Manual root filesystem specification: <fstype>:<device>Mount <device>using filesystem <fstype>eg. ufs:/dev/da0s1a eg. cd9660:/dev/acd0 This is equivalent to: mount -t cd9660 /dev/acd0 / ? List valid disk boot devices <empty line="">Abort manual input mountroot></empty></fstype></device></device></fstype></sandisk></sandisk>
If I enter a ? to see the valid boot devices, nothing is shown. When I had the flash module the device usually boots from in there, its partitions were listed when I reached this point. Is there any thing I can do to get this recognized? The memstick image booted fine on the same hardware with no intervention.
Thanks!
Ken
-
It's because the NanoBSD image expects to be on an IDE channel.
Try: ufs:/dev/da0s1a at the mountroot prompt.You will have to edit your fstab file to get pfSense to look in the right place every time.
See: http://forums.freebsd.org/showthread.php?t=19715Steve
-
It's because the NanoBSD image expects to be on an IDE channel.
Try: ufs:/dev/da0s1a at the mountroot prompt.You will have to edit your fstab file to get pfSense to look in the right place every time.
See: http://forums.freebsd.org/showthread.php?t=19715Steve
Thanks for the suggestion. I tried this, but didn't get anywhere. The /dev/da0s1a partition is not seen by the bootloader. Here is the output of the ? option:
mountroot> ? List of GEOM managed disk devices: Loader variables: vfs.root.mountfrom=ufs:/dev/ufs/pfsense0 vfs.root.mountfrom.options=ro,sync,noatime Manual root filesystem specification: <fstype>:<device>Mount <device>using filesystem <fstype>eg. ufs:/dev/da0s1a eg. cd9660:/dev/acd0 This is equivalent to: mount -t cd9660 /dev/acd0 / ? List valid disk boot devices <empty line="">Abort manual input mountroot></empty></fstype></device></device></fstype>
Is there anything else I can do to get this partition seen?
Ken
-
I figured out the issue. The USB drive needed more time to get registered with the system than the default. I paused the bootup and set kern.cam.boot_delay=10000, as referenced in your link. The system came up fine after that.
How do I add this to the config so it happens every time without my input? I don't have a working FreeBSD install at the moment. I tried mounting the ufs-formatted usb stick on my Linux box and MacBook Pro, but I didn't get very far.
Ken
-
Create the file /boot/loader.conf.local and add the line there.
See: http://doc.pfsense.org/index.php/Boot_TroubleshootingThis doesn't work for everyone but it does in most cases.
Steve
-
Create the file /boot/loader.conf.local and add the line there.
See: http://doc.pfsense.org/index.php/Boot_TroubleshootingThis doesn't work for everyone but it does in most cases.
Steve
Worked for me! Got the box working. Thanks.
Ken