Vnx-rootfsfreebsd

From VNX
Revision as of 01:47, 23 May 2012 by David (talk | contribs) (Configuration)
Jump to: navigation, search

How to create a Freebsd root-file-system for VNX

Follow this procedure to create a FreeBSD based root filesystem for VNX. The procedure has been tested with FreeBSD 9.0, 8.2 and 7.4.

Basic installation

  • Create the filesystem disk image:
  • qemu-img create -f qcow2 vnx_rootfs_kvm_freebsd.qcow2 8GB
    
  • Get FreeBSD installation CD. For example:
  • wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-i386-disc1.iso
    cp FreeBSD-9.0-RELEASE-i386-disc1.iso /almacen/iso
    
  • Create the virtual machine with:
  • vnx --create-rootfs vnx_rootfs_kvm_freebsd.qcow2 --install-media /almacen/iso/FreeBSD-9.0-RELEASE-i386-disc1.iso --mem 512M
    
  • Follow FreeBSD installation menus to install a basic system with DHCP configured in the network interface and a user named "vnx".
  • Configure the serial console by editting /etc/ttys file and changing the line:
  • ttyu0 "/usr/libexec/getty std.9600"   dialup  off secure
    

    to:

    ttyu0 "/usr/libexec/getty std.9600"   vt100  on secure
    
  • Set dual console configuration (see http://www.cct.lsu.edu/~ccui/diary/August19_2010.php):
  • echo "-Dh" > /boot.config
    echo 'boot_multicons="YES"' >> /boot/loader.conf
    echo 'boot_serial="YES"' >> /boot/loader.conf
    echo 'console="comconsole,vidconsole"' >> /boot/loader.conf
    
  • Finally, halt the system:
  • halt -p
    

    Configuration

    • Restart the system with the following command:
    • vnx --modify-rootfs vnx_rootfs_kvm_freebsd.qcow2 --update-aced --mem 512M
      

      Note: ignore the errors "timeout waiting for response on VM socket".

    • Access the system through the text console to easy the copy-paste of commands:
    • virsh console vnx_rootfs_kvm_freebsd.qcow2
      
    • Install bash and change package repository (change ftp.es.freebsd.org to your nearest mirror):
    • 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
      
    • Install perl and XML::DOM library:
    • pkg_add -r perl p5-libxml-enno
      
    • Disable DHCP on network interface by editing the /etc/rc.conf file and commenting the following line:
    • ifconfig_re0="DHCP"
      
    • Install VNX autoconfiguration daemon:
    • mount -t msdosfs /dev/ad1 /mnt/
      perl /mnt/vnxaced-lf/install_vnxaced
      
    • Optionally:
      • Allow root login thorugh ssh by editing /etc/ssh/sshd_config file:
      • PermitRootLogin yes
        
      • Set locales according to your preferences in /etc/profile:
      • export LANG=es_ES.UTF-8
        export LC_ALL=es_ES.UTF-8
        
      • Add gnome window manager with:
        • Install packages needed:
        • pkg_add -r xorg-minimal gnome2-lite gdm gnome-keyring detach xeyes xhost wmctrl
          
        • Add the following line to /etc/rc.conf:
        • gnome_enable="YES"
          
        • Add the following line to /etc/fstab:
        • proc    /proc   procfs  rw      0       0
          
        • Disable the screensaver and change keyboard configuration in "System->Keyboard" menu.
      • Reduce the boot timeout from 10 seconds to, for example, 3 seconds. Edit /boot/loader.conf and add:
      • autoboot_delay="3"
        
      • Give vnx user (or whatever one you have created during installation) permissions tu su root:
      • pw usermod vnx -G wheel
        
      • If you have installed gnome, you can add automatic login following the instructions in:
      • http://www.freebsd.org/gnome/docs/faq2.html#q23
        
    • Create a file /etc/vnx_rootfs_version to store version number and informacion about modification:
    • VER=v0.24
      OS=FreeBSD 9.0
      DESC=Basic FreeBSD 9.0 root filesystem without GUI
      
    • Stop the machine with that script:
    • vnx_halt
      

If everything went well, your root filesystem will be ready to be used with VNX. You can make a simple test using the simple_freebsd.xml scenario distributed with VNX.

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 to modify your root file system, you just have to:

  • Start a virtual machine from it:
  • vnx --modify-rootfs vnx_rootfs_kvm_fedora.qcow2
    
  • Check network connectivity. Maybe you have to activate the network interface by hand:
  • dhclient re0
    

    Note: use "ip link show" to know which network interface to use.

  • Do the modifications you want.
  • Finally, halt the system using:
  • vnx_halt
    

Updating VNXACED

You can automatically update the VNXACE daemon with the following command:

vnx --modify-rootfs vnx_rootfs_kvm_fedora.qcow2 --update-aced -y

If VNXACE daemon is not updated automatically, you can do it manually by accessing the virtual machine console and type:

mount -t msdosfs /dev/ad1 /mnt/
perl /mnt/vnxaced-lf/install_vnxaced

Known problems