Cant update to Nov30 snapshot, nanobsd install



  • I did a fresh install yesterday with the Nov29 nanobsd 2gb snapshot. As I try to update to Nov30 snapshot (today latest) I get an error "something wrong happened while trying to upfate stab entries" and update fails.
    fstab has rw-r–r-- permission.

    cat fstab
    /dev/ufs/pfsense0 / ufs ro,sync,noatime 1 1
    /dev/ufs/cf /cf ufs ro,sync,noatime 1 1

    Any suggestion?



  • I updated also to:
    2.2-BETA (i386)
    built on Sun Nov 30 14:57:52 CST 2014
    FreeBSD 10.1-RELEASE
    nanobsd (2g)

    My fstab is the same as yours.
    I have not noticed any error.
    Where did you see that error message?
    and I hope it did not really say:

    upfate stab

    ;)



  • The error comes up in the yellow notification area on the right upper corner of the gui.
    no it doesn't say upfate, of course!



  • Also I tried to clone my existing nanobsd slice to the second slot and it fails with the folowing error:

    Warning: copy(/tmp/pfsense0/etc/fstab): failed to open stream: No such file or directory in /etc/inc/pfsense-utils.inc on line 2242 Warning: file_put_contents(/tmp/pfsense0/etc/fstab): failed to open stream: No such file or directory in /etc/inc/pfsense-utils.inc on line 2249

    looking at /etc/inc/pfsense-utils.inc around that line:

    
    function nanobsd_update_fstab($gslice, $complete_path, $oldufs, $newufs) {
    	$tmppath = "/tmp/{$gslice}";
    	$fstabpath = "/tmp/{$gslice}/etc/fstab";
    
    	mkdir($tmppath);
    	exec("/sbin/fsck_ufs -y /dev/{$complete_path}");
    	exec("/sbin/mount /dev/ufs/{$gslice} {$tmppath}");
    	copy("/etc/fstab", $fstabpath);
    
    	if (!file_exists($fstabpath)) {
    		$fstab = <<<eof<br>/dev/ufs/{$gslice} / ufs ro,noatime 1 1
    /dev/ufs/cf /cf ufs ro,noatime 1 1
    EOF;
    		if (file_put_contents($fstabpath, $fstab))
    			$status = true;
    		else
    			$status = false;
    	} else {
    		$status = exec("sed -i \"\" \"s/pfsense{$oldufs}/pfsense{$newufs}/g\" {$fstabpath}");
    	}
    	exec("/sbin/umount {$tmppath}");
    	rmdir($tmppath);
    
    	return $status;
    }</eof<br> 
    

    I think it fails because the line

    exec("/sbin/mount /dev/ufs/{$gslice} {$tmppath}");

    fails to mount.

    In my install $gslice = pfsense0, @tmppath = /tmp/pfsense0

    if I try to manually run the line from the console :

    mkdir /tmp/pfsense0
    mount /dev/ufs/pfsense0 /tmp/pfsense0

    it fails with "device busy" but indeed I have not done any initialization or umounts that may have happened before this code is invoked.

    After this mount fails the relative path to /tmp/pfsense0/etc/ftabs doesnot exist so the function fails.

    I think this is related to the same error mentioned on my initial post when I try to upgrade to a new snapshot.

    Of note:

    • This is a fresh install of the Nov 30 snapshot.
    • Compact flash was written using DD on a mac
    • One anomaly after installation was that there was no initial  config.xml in /conf so there was an error displayed on the serial console to that effect.
      dropping to a shell and copying config.xml from /cf/conf.default to /conf solved the problem and allowed for a normal start minus the initial wizard that I was expecting to see running on first logon to the GUI

    Hope this help to identify the problem



  • That sounds like you wrote out the update image to the card, not the image for a new install.



  • Yikes…. I may very well had! How stupid of me!
    Easy to fix though!
    Will fix and report back.

    Thanks



  • Had the same problem and YES, I stupidly flashed the update image instead of the initial install.



  • My mistake. now i feel soooo stupid! thanks cmb for the prompt catch. I am glad to see I am not the only one though  :)