dimanche 18 mars 2007

Can't no more install FreeNAS

(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...

4 commentaires:

James a dit…

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.

Olivier a dit…

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!

Olivier a dit…

The problem came for the new gzip tools (imported from NetBSD since january).

I've found the same problem under NetBSD here:
http://mail-index.netbsd.org/tech-userlevel/2004/07/08/0008.html

I've send an email to the author of this new gzip tools about this problem.

(OlO) a dit…

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