Add recovery tools and improve performance under VM

Written by admin on .

Yesterday I did a big mistake: I’ve upgrade my NAS server with a non-tested release of FreeNAS. And this release had a big bug that prevent me to start it again :-(

The process for recovery my system is quite simple:
1. Boot from a working FreeNAS CDROM
2. Mount the partition where is installed the bugged FreeNAS
3. Copy the config.xml from this partition to a tmp directory (in the RAM drive)
4. Unmount the partition
5. Re-install a working release of FreeNAS on this partition
6. Re-mount the partition where is now the working release
7. Copy the backuped config.xml from the RAM drive to this partition
8. reboot the computer

I choose to automated this process and add this tool as option on the install menu of FreeNAS (the install menu is now displayed only when booting from CDROM).

I found an interressant post on the forum that link to this cool blog:
http://ivoras.sharanet.org/freebsd/vmware.html
This article explains how to increase the performance of FreeBSD under a VM machine by replacing the network drivers and changing one kernel parameter.
Changing a network driver is not users transparent (because they must re-configure their LAN interfaces)… But I should not forget to add this mention in the 0.684b release notes:
If your FreeNAS is using a “lnc” interface, plug a keyboard/screen on your PC before to start the upgrade because you will have to reconfigure your LAN interface for using the new “le” driver!

I’ve installed FreeBSD on my laptop too (removed ubuntu)… This will permit to play with my aironet card and WPA one day.

I’ve still not added the code for protecting to format a disk used in a RAID volume :-(
I think to hide them for the format option, but it’s more complex that I thought.

Playing with /dev/speaker

Written by admin on .

I’ve started to compile FreeNSD on FreeBSD AMD64 (my QEMU is still compiling the software used on FreeNAS).
And I found, for the moment, two problems:

===> aaccli depends on executable: aaccli – not found
===> aaccli-1.0 you need the 32-bit libraries installed under /usr/lib32 to use this port..
===> beep depends on executable: beep – not found
===> beep-1.0 is only for i386, and you are running amd64..

And, in my quest for a solution to solve the FreeBSD port of”beep”, I found that this tools can be removed without problem ;-)

Here is example of using /dev/speaker device (you need to do a “kldload speaker.ko” before):
echo geL2eL4fdL2dL4cdefggg > /dev/speaker

echo
“l12cdccdc> /dev/speaker
echo “T250L8CE-GE-C” > /dev/speaker

Then I can remove the ‘beep’ tools now, but I must found the equivalence to this old command:
beep -p 500 75
beep -p 1000 75
beep -p 2000 75
beep -p 3000 75

My actual equivalence is:
echo “O1L15aO2L15bO3L15cO4L15d” > /dev/speaker

Is someone can propose a better equivalence ?

Games open ;-)