CD and USB installer both fail to mount rootfs



  • I had this problem when booting from CD, and now when booting from the installer USB (yesterday's build, but going back months with the iso):

    The boot process starts, but then gets to a prompt informing me that the root filesystem cannot be mounted and a prompt where I should enter the correct device where the rootfs is found. If I enter "?" it lists only my blank hdd or ssd (ad14), never the USB CD or flash drive that I booted from (cd0 for the USB CD drive, not sure for the flash drive).

    Sometimes I can work around this by entering the hdd or ssd as the device, ie, "ufs:/dev/ad14". This will of course fail, but will often spur the system to 'discover' the USB boot device, as evidenced by messages appearing on the screen. I can then enter the real device for, "cd9660:/dev/cd0" or "ufs:/ufs/pfSense" and the boot process continues normally.

    Any idea why this is happening? how to correct it?

    Motherboard is Supermicro X7SPA-H (D510, ICH9).



  • Perhaps the system is not completely enumerating the USB devices before it gets to the "mountroot". In your startup output you should see the USB devices listed before the mountroot.

    Sometimes my pfSense 1.2.3 system fails to detect a USB ethernet interface and then it goes into the assign interfaces dialogue. Maybe this is something similar.

    Suggestion: try increasing the boot time value of sysctl variables:

    
    # sysctl -a -d | grep delay
    . . .
    hw.usb.pr_recovery_delay: USB port reset recovery delay in ms
    hw.usb.pr_poll_delay: USB port reset poll delay in ms
    . . .
    
    


  • @wallabybob:

    try increasing the boot time value of sysctl variables:

    But I only have this problem when booting the install CD/USB. Maybe I could modify /boot/loader.conf on the USB to go for the same effect?

    I still don't see how this explains the fact that the USB devices don't get enumerated (I left it for hours once) until I try to mount the hard drive. And it has to be the correct device for the hard drive too, it won't work if I just enter random incorrect values such as ad0 or da1.



  • @clarknova:

    Maybe I could modify /boot/loader.conf on the USB to go for the same effect?

    Shouldn't hurt to try.

    @clarknova:

    I still don't see how this explains the fact that the USB devices don't get enumerated (I left it for hours once) until I try to mount the hard drive. And it has to be the correct device for the hard drive too, it won't work if I just enter random incorrect values such as ad0 or da1.

    I'm pretty sure I did my initial install of pfSense (before 1.2.3 release) from a USB CD-ROM. I've not been able to install pfSense 2.0 BETA from a similar (same brand and model) USB CD-ROM drive onto a similar system (same motherboard brand and model). I just worked around that by cloning the hard drive from my 1.2.3 system then doing a firmware upgrade but I didn't take a lot of notice of what was going on with the USB subsystem.

    So, your USB CD and USB flash drive don't get reported (before mountroot failure) when you boot from a USB drive but do get reported when you boot from a (IDE or SATA?) hard drive?



  • @wallabybob:

    So, your USB CD and USB flash drive don't get reported (before mountroot failure) when you boot from a USB drive but do get reported when you boot from a (IDE or SATA?) hard drive?

    I don't normally care about the USB drives once I have it booting from the internal media (SATA SSD), so I don't know if or when they get reported after the intsall, but I could try it to see what happens.



  • The delay included by the Boot from USB device option isn't long enough for some devices.

    To get around this, instead of selecting option 3, select:  Escape to loader prompt instead.

    Then use:
    "set kern.cam.boot_delay=15000"
    followed by:
    "boot"



  • Thanks. I will try this on my next install, which may not be for a while.


  • Rebel Alliance Developer Netgate

    Or you could just press the boot menu option that says "Boot pfSense using USB device" which sets that delay for you. :)



  • Yeah, I noticed that a few days ago. Is that new, or am I just blind?


  • Rebel Alliance Developer Netgate

    It was added a short time ago:

    commit af58d7be588384ac843a172fac376653b20ce646
    Author: Scott Ullrich sullrich@pfsense.orgDate:  Sat Nov 20 16:27:39 2010 -0500

    Adding USB CD-Room boot option which will set kern.cam.boot_delay=10000/sullrich@pfsense.org


Locked