Vnx-rootfsfedora

From VNX
Revision as of 14:27, 21 May 2012 by David (talk | contribs) (Basic installation)
Jump to: navigation, search

How to create a Fedora root filesystem for VNX

(being updated...do not use...)

Follow this procedure to create a fedora based root filesystem for VNX. The procedure has been tested with Fedora 16 and 14.

Basic installation

  • Create the filesystem disk image:
  • qemu-img create -f qcow2 vnx_rootfs_kvm_fedora.qcow2 8GB
    
  • Get Fedora installation DVD (use the complete DVD; do not use the Live version, as it seems the installation wizard does not include the customization menu). For example:
  • wget ftp://ftp.rediris.es/mirror/fedora/16/Fedora/i386/iso/Fedora-16-i386-DVD.iso
    cp Fedora-16-i386-DVD.iso /almacen/iso
    
  • Create the virtual machine with:
  • vnx --create-rootfs vnx_rootfs_kvm_fedora.qcow2 --install-media /almacen/iso/Fedora-16-i686-Live-Desktop.iso --mem 768M
    
  • Follow the Fedora installation assistant. At some point, you will have to choose among different system profiles: desktop, web server, minimal, etc.
  • Enable login on the first serial line by creating a file named /etc/init/serial-ttyS0.conf with the following content:
  • #This service maintains a getty on /dev/ttyS0.
    start on stopped rc RUNLEVEL=[2345]
    stop on starting runlevel [016]
    respawn
    exec /sbin/agetty /dev/ttyS0 9600 vt100-nav
    
  • Besides, you have to add ttyS0 to /etc/securetty file if you want to login root on that console:
  • echo "ttyS0" >> /etc/securetty
    

Configuration

  • Update the system and install additional packages
  • yum update
    yum install perl perl-XML-DOM acpid udisks
    

    Note: if yum fails, check that the network is working. Maybe you will have to manually execute "dhclient eth0", at least in the case of a minimal installation.

  • Install VNX autoconfiguration daemon:
    • From the host execute:
    • /usr/share/vnx/bin/vnx_update_aced Fedora /usr/share/vnx/aced/vnx-aced-lf-0.1b.tgz 
      
    • From the virtual machine console:
    • ln -s /media/CDROM /media/cdrom
      udisks --mount /dev/sr0
      perl /media/cdrom/install_vnxaced
      
  • If you have chosen a "minimum installation", activate network services (they are disabled by default):
  • chkconfig --level 3 network on
    
  • Optionally:
    • Install other services needed, for example, an apache server:
    • yum install httpd
      update-rc.d -f apache2 remove   # to avoid automatic start
      
    • Or, if using a "minumum installation", install network utilities:
    • yum install telnet wget openssh-clients
      
    • If you want automatic login, just edit /etc/gdm/custom.conf and add the following lines:
    • AutomaticLoginEnable=true
      AutomaticLogin=vnx
      
    • Disable the firewall. Firewall is enabled by default; that could be problematic for testing purpose systems. If desired, disable it graphically in "System|Administration|Firewall" option, or using the following command from the command line:
    • chkconfig iptables off
      
  • Create a file /etc/vnx_rootfs_version to store version number and informacion about modification:
  • VER=v0.21
    OS=Fedora 14
    DESC=Basic Fedora 14 root-filesystem without GUI
    
  • Create a script named /usr/local/bin/vnx_halt:
  • #!/bin/bash
    # Clean yum cache
    yum clean all
    # Delete /etc/resolv.conf
    rm -f /etc/resolv.conf
    # Clean command history
    rm -f /root/.bash_history
    # Delete udev net rules files:
    rm -f /etc/udev/rules.d/70-persistent-net.rules
    # Delete VNXACE log
    rm -f /var/log/vnxaced.log
    while true; do
        # Ask for a message to save in /etc/vnx_rootfs_version file
        echo    "** Save a log message in /etc/vnx_rootfs_version file "
        echo -n "** describing the modifications done? "
        read -n 1 -p "[y/n] " answer
        echo ""
        case $answer in
            [Yy]* )
                    echo "** Log message (1 line maximum):"
                    read logmsg
                    DATE=`date`
                    echo "MODDATE=$DATE" >> /etc/vnx_rootfs_version
                    echo "MODDESC=$logmsg" >> /etc/vnx_rootfs_version
                    break;;
            [Nn]* ) break;;
            * )     echo "** Error: please answer 'y' or 'n'.";;
        esac
    done
    # Halt the system
    halt -p
    
  • Give the script execution permissions:
  • chmod +x /usr/local/bin/vnx_halt
    
  • Stop the machine with that script:
  • vnx_halt
    

Installing additional software

To install additional software or modify your root filesystem, you just have to start it as described above and make the operations required on the filesystem.

  • Start the virtual machine (directly using virsh or the vnx_modify_rootfs utility):
 /usr/share/vnx/bin/vnx_modify_rootfs rootfs_fedora.xml 
  • Install the software:
yum install ...
  • Stop the machine with:
vnx_halt

Known problems