Vnx-rootfsfreebsd
How to create a Freebsd root-file-system for VNX
- Create the filesystem disk image:
qemu-img create -f qcow2 root_fs_freebsd-base.qcow2 5GB
wget ftp://ftp.rediris.es/mirror/FreeBSD/ISO-IMAGES-i386/8.1/FreeBSD-8.1-RELEASE-i386-disc1.iso cp FreeBSD-8.1-RELEASE-i386-disc1.iso /almacen/iso
<domain type='kvm'> <name>Freebsd</name> <memory>524288</memory> <vcpu>1</vcpu> <os> <type arch="i686">hvm</type> <boot dev='hd'/> <boot dev='cdrom'/> </os> <features> <pae/> <acpi/> <apic/> </features> <clock sync="localtime"/> <devices> <emulator>/usr/bin/kvm</emulator> <disk type='file' device='disk'> <source file='/usr/share/vnx/filesystems/root_fs_freebsd-base.qcow2'/> <target dev='hda'/> <driver name="qemu" type="qcow2"/> </disk> <disk type='file' device='cdrom'> <source file='/almacen/iso/FreeBSD-8.1-RELEASE-i386-disc1.iso'/> <target dev='hdb'/> </disk> <interface type='network'> <source network='default'/> </interface> <graphics type='vnc'/> </devices> </domain>
Note: change "source file=" lines to whatever fits your case (use full paths).
virsh create root_fs_freebsd.xml
virt-viewer Freebsd
<!--source file='/almacen/iso/FreeBSD-8.1-RELEASE-i386-disc1.iso'/-->
- Install bash and change package repository:
pkg_add -r bash pw usermod root -s /usr/local/bin/bash pw usermod vnx -s /usr/local/bin/bash echo "export PACKAGEROOT=ftp://ftp.es.freebsd.org" > ~/.bash_profile
pkg_add -r perl p5-libxml-enno
ifconfig_re0="DHCP"
- From the host execute:
/usr/share/vnx/bin/vnx_update_aced Freebsd /usr/share/vnx/aced/vnx-aced-lf-0.1b.tgz
mount /cdrom /cdrom/install_vnxdaemon
echo 'console="comconsole"' >> /boot/loader.conf
And editting /etc/ttys file and changing the line:
ttyu0 "/usr/libexec/getty std.9600" dialup off secure
by:
ttyu0 "/usr/libexec/getty std.9600" vt100 on secure
PermitRootLogin yes
export LANG=es_ES.UTF-8 export LC_ALL=es_ES.UTF-8
- Install packages needed:
pkg_add -r xorg-minimal gnome2-lite gdm
gname_enable="YES"
proc /proc procfs rw 0 0
autoboot_delay="3"
pw usermod vnx -G wheel
http://www.freebsd.org/gnome/docs/faq2.html#q23
halt -p
Note: after installing gnome, you probaly will get the following error message on the console:
acd0: FAILURE - unknown CMD (0x03) ILLEGAL REQUEST asc=0x20 ascq=0x00
To eliminate them you can execute:
hal-disable-polling --device /dev/acd0
Installing additional software
To install additional software or modify your root file system, you just have to start it as described above and:
- Configure network interface with:
dhclient re0
pkg_add -r apache22
halt -p
Updating ACE daemon
If you have a root filesystem with the autoconfiguration and command execution daemon (ACE) already installed, you can use the autoupdate functionallity to update the daemon to a newer version. Just follow this procedure:
- Edit the xml described above and comment the line defining the Freebsd iso file for the cdrom:
- Start the virtual machine (directly using virsh or the vnx_modify_rootfs utility):
/usr/share/vnx/bin/vnx_modify_rootfs root_fs_freebsd.xml
- Execute the update utility:
/usr/share/vnx/bin/vnx_update_aced Freebsd /usr/share/vnx/aced/vnx-aced-lf-0.1b.tgz
- Once the ace daemon is updated the virtual machine will be rebooted automatically.