Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Booting embedded from usb stick?

    Problems Installing or Upgrading pfSense Software
    2
    6
    6.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kworster
      last edited by

      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

      1 Reply Last reply Reply Quote 0
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        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=19715

        Steve

        1 Reply Last reply Reply Quote 0
        • K
          kworster
          last edited by

          @stephenw10:

          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=19715

          Steve

          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

          1 Reply Last reply Reply Quote 0
          • K
            kworster
            last edited by

            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

            1 Reply Last reply Reply Quote 0
            • stephenw10S
              stephenw10 Netgate Administrator
              last edited by

              Create the file /boot/loader.conf.local and add the line there.
              See: http://doc.pfsense.org/index.php/Boot_Troubleshooting

              This doesn't work for everyone but it does in most cases.

              Steve

              1 Reply Last reply Reply Quote 0
              • K
                kworster
                last edited by

                @stephenw10:

                Create the file /boot/loader.conf.local and add the line there.
                See: http://doc.pfsense.org/index.php/Boot_Troubleshooting

                This doesn't work for everyone but it does in most cases.

                Steve

                Worked for me!  Got the box working.  Thanks.

                Ken

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post
                Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.