Can’t no more install FreeNAS

Written by admin on .

(First post!)

Since the last week, I can’t install FreeNAS on my virtual machine (same problem under KQEMU and VMware).
When booting from the CDROM (or upgrading from WebGUI) I meet this error message (try to install it in both mode):

gunzip: error writing to output: Broken pipe
gunzip: img file: uncompress failed

Then, from the shell I’ve try to install it manually:

# mkdir /mnt/cdrom_fr_0507
# mount -t cd9660 /dev/acd0 /mnt/cdrom_fr_0507
# /usr/bin/gunzip -S “” -c /mnt/cdrom_fr_0507/FreeNAS-generic-pc.gz | dd of=/dev/ad0 bs=512
dd: /dev/ad0: Invalid argument
1278+1 records in
1278+0 records out
654336 bytes transferred in 0.917600 secs (713095 bytes/sec)


It seem ok but I don’t remember if the message “dd: /dev/ad0: Invalid argument” is a normal message.

Then I check the fresh hard drive:

# mkdir /mnt/tutu
# mount /dev/ad0a /mnt/tutu
# ls -alh /mnt/tutu/
ls: boot: Bad file descriptor
ls: conf: Bad file descriptor
total 15291
drwxr-xr-x 5 root wheel 512B Mar 18 16:11 .
drwxrwxrwx 4 root wheel 512B Mar 19 00:03 ..
drwxrwxr-x 2 root operator 512B Mar 18 16:11 .snap
-rw-r–r– 1 root wheel 15M Mar 18 16:11 mfsroot.gz

It seem that the IMG file is not correctly ‘dd’ on the hard drive (Bad file descriptor for the boot directory).

Then I checked the IMG file on the CDROM (using another drive ad1 for testing it):
# fdisk -I /dev/ad1
******* Working on device /dev/ad1 *******
fdisk: invalid fdisk partition table found
fdisk: Geom not found
# newfs /dev/ad1s1
/dev/ad1s1: 99.9MB (204560 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 24.98MB, 1599 blks, 3200 inodes.
super-block backups (for fsck -b #) at:
160, 51328, 102496, 153664

# mkdir /mnt/testing
# mount /dev/ad1s1 /mnt/testing/
# cp /mnt/cdrom_fr_0507/FreeNAS-generic-pc.gz /mnt/testing/
# cd /mnt/testing/
# gunzip FreeNAS-generic-pc.gz
# mdconfig -a -t vnode -f FreeNAS-generic-pc -u 1
# mkdir /mnt/check
# mount /dev/md1a /mnt/check/
# ls -alh /mnt/check/
total 15293
drwxr-xr-x 5 root wheel 512B Mar 18 16:11 .
drwxrwxrwx 6 root wheel 512B Mar 19 00:07 ..
drwxrwxr-x 2 root operator 512B Mar 18 16:11 .snap
drwxr-xr-x 4 root wheel 512B Mar 18 16:11 boot
drwxr-xr-x 2 root wheel 512B Mar 18 16:11 conf
-rw-r–r– 1 root wheel 15M Mar 18 16:11 mfsroot.gz

No problem on this IMG file.. the problem seem coming from the “dd” command…

Trackback from your site.

Comments (5)

  • James

    |

    I was having a similar issue about 1-2 weeks ago (don’t recall revision). The figured that I was doing the DD incorrectly (did it from OS X), but I could not get the CF card that I did it to to boot.

    Burning the img file and booting from that, then having the install go went fine.

    Reply

  • Olivier

    |

    Ok, I think that I found my problem… It’s seem to came from gunzip that where replaced by gzip.

    Here is what I did:

    I believe that the problem came from ‘dd’ tools, then I try to use the 0.683b CDROM (that use an old ‘dd’ tools)
    for installing my image (previously copied from the 0.684b on the ad1s1 drive).

    And from a SSH access to this ‘boot from 0.683b CDROM’
    # mkdir /mnt/toto
    # mount /dev/ad1s1 /mnt/toto/
    # cd /mnt/toto/
    # /usr/bin/gunzip -S “” -c FreeNAS-generic-pc.gz | dd of=/dev/ad0 bs=512
    45056+0 records in
    45056+0 records out
    23068672 bytes transferred in 35.672522 secs (646679 bytes/sec)

    => No more error message “Invalid argument”… It’s seem good

    Then I check the newly installed drive:

    # mkdir /mnt/test
    # mount /dev/ad0a /mnt/test/
    # ls -alh /mnt/test/
    total 15293
    drwxr-xr-x 5 root wheel 512B Mar 18 16:11 .
    drwxr-xr-x 4 root wheel 512B Mar 19 10:30 ..
    drwxrwxr-x 2 root operator 512B Mar 18 16:11 .snap
    drwxr-xr-x 4 root wheel 512B Mar 18 16:11 boot
    drwxr-xr-x 2 root wheel 512B Mar 18 16:11 conf
    -rw-r–r– 1 root wheel 15M Mar 18 16:11 mfsroot.gz

    => no error message “bad descriptor” here… It’s seem very good

    then I’ve try to check for difference between the 0.683b and the working 0.684b release:

    On the 0.683b:

    # sysctl kern.version
    kern.version: FreeBSD 6.2-PRERELEASE #0: Sat Jan 13 20:03:15 CET 2007
    root@vm.freenas.org:/usr/src/sys/i386/compile/FREENAS

    # ls -al /bin/dd
    -r-xr-xr-x 1 root wheel 18768 Jan 13 18:08 /bin/dd

    # ls -al /usr/bin/gunzip
    -r-xr-xr-x 2 root wheel 46716 Jan 13 18:08 /usr/bin/gunzip

    And on the 0.684b:


    # sysctl kern.version
    kern.version: FreeBSD 6.2-STABLE #6: Sun Mar 18 13:27:38 UTC 2007
    root@dev.freenas.org:/usr/obj/usr/src/sys/FREENAS

    # ls -al /bin/dd
    -r-xr-xr-x 1 root wheel 18768 Mar 18 11:44 /bin/dd

    # ls -al /usr/bin/gunzip
    lrwxr-xr-x 1 root wheel 13 Mar 18 13:04 /usr/bin/gunzip -> /usr/bin/gzip

    # ls -al /usr/bin/gzip
    -r-xr-xr-x 1 root wheel 26748 Mar 18 11:49 /usr/bin/gzip

    Ho ho…. gunzip where replaced by gzip!

    Reply

  • (OlO)

    |

    I’ve had the exact same problem… I solved it by unpluging USB at run and then plugin again. USB was now da1 not da0, then I’ve run instalation again and suddenly everything was OK

    Reply

  • Bit Ripper

    |

    I hope I saw this earlier.

    Just for the record, we found this independently and I have fixed it for both FreeBSD and NetBSD (FreeBSD r213044). It would be great if we see some more vocal voice saying “Hey you broke X”, which really helps us to fix bugs earlier.

    Reply

Leave a comment