Root Mount Error



  • Installing on a MaxSpeed MaxTerm8300

    800mhz VIA cpu
    128MB ram
    1GIG CF card

    For safe measure I flashed the 512MB image to the Compact flash card.  I also flashed the 1G image as well just for testing.

    Right before the ROOT MOUNT ERROR it says:```

    [code]ad0: FAILURE - READ_DMA timed out LBA=1981727
    Trying to mount root from ufs:/dev/ufs/pfsense0[/code]

    Then the root mount error

    [code]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 the invalid mount options from /etc/fstab.
    [/code]

    I ran the command it said, but i dont see how to edit fstab.  from the command prompt there is no vi/ee/nano.  I can list the contents of the file which is:

    [code]
    /dev/ufs/pfsense0 / ufs ro,sync,noatime 1 1
    /dev/ufs/cf /cf ufs ro,sync,noatime 1 1
    [/code]

    Are one of those boot options not supposed to be there?  When i wrote the image I made sure to delete all existing partitions.  I can see that writing the image actually created two partitions.  Is this supposed to happen??

    Not exactly sure where to start after my limited troubleshooting.  Anyone care to help?


  • Administrator

    Have you read this: http://forum.pfsense.org/index.php/topic,46119.0.html

    pfSense (or at least FreeBSD 😎 has a problem with DMA access on compact flash cards. Often resulting in errors similar to the ones you are seeing.
    Try disabling dma in the bios or using a slower card.

    Steve



  • I believe I came across that thread before.  This is an old project.  I’ll retry the DMA process though that thread said it didnt work.  dLocker said he got it working but gave absolutely no information on how.  Hate that!


  • Administrator

    He’s an active member, try sending him a pm.

    If I had to guess what he did I’d say add

    
    hw.ata.ata_dma="0"
    hw.ata.wc="0"
    
    

    to /boot/loader.conf.local

    Steve



  • Therein lies a problem.  How do I edit that file?

    In my OP I mentioned there is no vi/ee/nano from the command prompt.  I have a “more” command which allows me to list the contents of a file, but I cannot edit it.


  • Administrator

    Hmm,

    echo 'hw.ata.ata_dma="0"' > /boot/loader.conf.local
    

    Not entirely sure on that!  😉

    You should look in /boot/loader.conf to check you haven’t got that already though.

    Steve

    Edit: Thinking about this if the filesystem can’t mount you aren’t going to be able to access /boot. However you did read /etc so worth a try.



  • Cool.  Ill give that a shot soon as I get home.  Thanks so much for the help.



  • You boot it in safe mode and then add it in to the config file



  • “it” = ?
    “config file” = ?

    I assume you’re referring to what Steve just told me, but just like in the other thread you gave no indication what those things are.



  • running the more command on the /boot/loader.conf file shows that the file is empty.

    interesting.

    about to run the echo command.  will post back results



  • running the command does not put the line in the file.

    going to load up an ubuntu vm and hope it passes usb through and can actually read my usb cf reader


  • Administrator

    @jaredadams:

    running the command does not put the line in the file.

    Does it create an empty file?

    Steve



  • the file was empty before i ran that command.

    it stayed empty afterwards.

    ubuntu cannot read the CF. WTF



  • got it to boot in safe mode, trying to add those two lines to the loader.conf file now that i have a vi editor.

    gonna go brush up onmy vi…. google here i come.

    edit

    read only file system!  wq! doesnt even work.



  • SOLVED

    1.  Boot pfsense in safemode
    2.  Once booted fully enter the shell
    3.  i changed folders to /boot
    4.  run command

     mount -u / 
    

    5.  run command

    vi loader.conf
    

    6.  enter two lines of code supplied by Steve (THANKS!)

    @stephenw10:

    hw.ata.ata_dma="0"
    hw.ata.wc=“0”

    7.  save
    8.  exit shell
    9.  reboot


  • Administrator

    You should put custom loader options in /boot/loader.conf.local, it gets copied across a firmware update where as loader.conf may not be.

    I’m surprised those lines weren’t already present to be honest. What image are you using exactly?

    Steve



  • I’m using the nano 512MB image vga console on a 1GB card.

    There is no loader.conf.local.  Should there be one?  Should I make it?


  • Administrator

    Yes, create it.

    I see no ‘safe mode’ option when I boot.
    It’s a bit odd. Is it possible that the 512MB image is using a different boot loader config? Are you using VGA and keyboard or serial console?

    Steve

    Edit: I see you’re using VGA. Too late to read properly, need sleep!



  • Should i create it and add the two lines just like the other one?  You’re saying that even if i update that any changes an update might do will not have any effect on the loader?



  • @jaredadams:

    “it” = ?
    “config file” = ?

    I assume you’re referring to what Steve just told me, but just like in the other thread you gave no indication what those things are.

    In case anyone else finds this thread, this is what works for me regarding the MaxTerm 8300B, with a 4GB CompactFlash card (SanDisk, if it makes any difference).

    1.) Install on the CF card as normal
    2.) Boot into safe mode (Option 4 IIRC - you need VGA or console access)
    3.) Go to WebConfigurator
    4.) Diagnostics > Edit File
    5.) Enter ‘/boot/loader.conf’ for the file
    6.) The file is blank currently, add 'ahci_load=“YES”'
    7.) Reboot, should work fine.

    I have tried adding ata_dma before and it didn’t seem to work, however try adding:

    hw.ata.ata_dma="0"
    hw.ata.wc=“0”

    If you still have issues.


  • Administrator

    When 2.1 comes out or some critical security flaw is found prompting a 2.0.2 release then you can update to that by simply clicking the update button in the GUI.
    The update process will never overwrite loader.conf.local but it may (or may not) alter loader.conf. Usually it would not since that’s not how the NanoBSD filesystem works.
    It’s easier to keep track of your own alterations by putting them in a different file anyway.

    It looks from reading this with fresh(er) eyes that the Nano+VGA images do not have DMA disabled by default, which can be a problem as you have found.

    Steve



  • @dLockers:

    @jaredadams:

    “it” = ?
    “config file” = ?

    I assume you’re referring to what Steve just told me, but just like in the other thread you gave no indication what those things are.

    In case anyone else finds this thread, this is what works for me regarding the MaxTerm 8300B, with a 4GB CompactFlash card (SanDisk, if it makes any difference).

    1.) Install on the CF card as normal
    2.) Boot into safe mode (Option 4 IIRC - you need VGA or console access)
    3.) Go to WebConfigurator
    4.) Diagnostics > Edit File
    5.) Enter ‘/boot/loader.conf’ for the file
    6.) The file is blank currently, add 'ahci_load=“YES”'
    7.) Reboot, should work fine.

    I have tried adding ata_dma before and it didn’t seem to work, however try adding:

    hw.ata.ata_dma="0"
    hw.ata.wc=“0”

    If you still have issues.

    @jaredadams:

    SOLVED

    1.  Boot pfsense in safemode
    2.  Once booted fully enter the shell
    3.  i changed folders to /boot
    4.  run command

     mount -u / 
    

    5.  run command

    vi loader.conf
    

    6.  enter two lines of code supplied by Steve (THANKS!)

    @stephenw10:

    hw.ata.ata_dma="0"
    hw.ata.wc=“0”

    7.  save
    8.  exit shell
    9.  reboot

    Now THATS how you write a resolution post.  With the way I named it, this thread will more than likely show up in searches in the future.  Glad we gave a resolution.


Locked
 

© Copyright 2002 - 2018 Rubicon Communications, LLC | Privacy Policy