Difference between revisions of "Vnx-rootfsfedora"
(61 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{Title|How to create a Fedora root filesystem for VNX}} | + | {{Title|How to create a KVM Fedora root filesystem for VNX}} |
− | Follow this procedure to create a | + | Follow this procedure to create a KVM Fedora based root filesystem for VNX. The procedure has been tested with Fedora 24, 20, 18, 16 and 14. |
+ | |||
+ | == Basic installation == | ||
<ul> | <ul> | ||
<li>Create the filesystem disk image:</li> | <li>Create the filesystem disk image:</li> | ||
− | qemu-img create -f qcow2 | + | qemu-img create -f qcow2 vnx_rootfs_kvm_fedora.qcow2 20G |
<li>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:</li> | <li>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:</li> | ||
− | wget ftp://ftp.rediris.es/mirror/fedora/ | + | wget ftp://ftp.rediris.es/mirror/fedora/16/Fedora/i386/iso/Fedora-16-i386-DVD.iso |
− | cp Fedora- | + | cp Fedora-16-i386-DVD.iso /almacen/iso |
− | <li>Create | + | <li>Create the virtual machine with:</li> |
+ | vnx --create-rootfs vnx_rootfs_kvm_fedora.qcow2 --install-media /almacen/iso/Fedora-16-i386-DVD.iso --mem 768M | ||
+ | Note: add '''"--arch x86_64"''' option for 64 bits virtual machines | ||
+ | <li>Follow the Fedora installation assistant. At some point, you will have to choose among different system profiles: desktop, web server, minimal, etc.</li> | ||
+ | <li>Enable login on the first serial line:</li> | ||
+ | <ul> | ||
+ | <li>Fedora 18, 20 and 24:</li> | ||
+ | <ul> | ||
+ | <li>Edit /etc/default/grub and add:</li> | ||
<pre> | <pre> | ||
− | + | GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0" | |
− | + | GRUB_TERMINAL="serial" | |
− | + | GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1" | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | + | <li>And afterwards execute:</li> | |
+ | grub2-mkconfig -o /boot/grub2/grub.cfg | ||
+ | </ul> | ||
+ | <li>Fedora 16. Execute this command:</li> | ||
+ | ln -s /usr/lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyS0.service | ||
+ | <li>Fedora 14. Create a file named /etc/init/serial-ttyS0.conf with the following content:</li> | ||
+ | #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 | ||
+ | And add ttyS0 to /etc/securetty file if you want to login root on that console: | ||
+ | echo "ttyS0" >> /etc/securetty | ||
+ | </ul> | ||
+ | <li>Finally, delete the net udev rules file and halt the system:</li> | ||
+ | rm /etc/udev/rules.d/70-persistent-net.rules | ||
+ | halt -p | ||
+ | </ul> | ||
− | + | == Configuration == | |
− | |||
− | |||
− | |||
− | |||
<ul> | <ul> | ||
− | <li> | + | <li>Restart the system with the following command:</li> |
− | + | vnx --modify-rootfs vnx_rootfs_kvm_fedora.qcow2 --update-aced --mem 768M | |
− | + | Note: ignore the errors "timeout waiting for response on VM socket". 768M are needed if you are installing a root filesystem with desktop interface | |
− | + | Note: add '''"--arch x86_64"''' option for 64 bits virtual machines | |
− | <li> | + | <li>Access the system through the text console to easy the copy-paste of commands:</li> |
− | + | virsh console vnx_rootfs_kvm_fedora.qcow2 | |
− | <li> | + | <li>Check that you have network connectivity. Maybe you have to activate the network interface by hand:</li> |
− | + | dhclient eth0 | |
+ | Note: use "ip link show" to know which network interface to use. | ||
<li>Update the system and install additional packages</li> | <li>Update the system and install additional packages</li> | ||
yum update | yum update | ||
− | yum install perl perl-XML- | + | yum install perl perl-XML-LibXML perl-NetAddr-IP acpid udisks perl-Sys-Syslog xterm |
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. | 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. | ||
<li>Install VNX autoconfiguration daemon:</li> | <li>Install VNX autoconfiguration daemon:</li> | ||
− | <ul> | + | mount /dev/sdb /mnt/ |
+ | perl /mnt/vnxaced-lf/install_vnxaced | ||
+ | <li>Disable Network Manager to avoid problems with autoconfiguration daemon</li> | ||
+ | systemctl stop NetworkManager.service | ||
+ | systemctl disable NetworkManager.service | ||
+ | systemctl enable network.service | ||
+ | <!--ul> | ||
<li>From the host execute:</li> | <li>From the host execute:</li> | ||
/usr/share/vnx/bin/vnx_update_aced Fedora /usr/share/vnx/aced/vnx-aced-lf-0.1b.tgz | /usr/share/vnx/bin/vnx_update_aced Fedora /usr/share/vnx/aced/vnx-aced-lf-0.1b.tgz | ||
Line 75: | Line 71: | ||
ln -s /media/CDROM /media/cdrom | ln -s /media/CDROM /media/cdrom | ||
udisks --mount /dev/sr0 | udisks --mount /dev/sr0 | ||
− | perl /media/cdrom/ | + | perl /media/cdrom/install_vnxaced |
− | </ul | + | </ul--> |
− | + | <li>If you have chosen a "minimum installation", activate network services (they are disabled by default):</li> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <li>If you have chosen a "minimum installation", activate network services (they are | ||
chkconfig --level 3 network on | chkconfig --level 3 network on | ||
<li>Optionally:</li> | <li>Optionally:</li> | ||
<ul> | <ul> | ||
− | <li>Install other services, for example, an apache server:</li> | + | <li>Install other services needed, for example, an apache server:</li> |
yum install httpd | yum install httpd | ||
− | + | chkconfig httpd off # if you want to avoid automatic start of apache server | |
<li>Or, if using a "minumum installation", install network utilities:</li> | <li>Or, if using a "minumum installation", install network utilities:</li> | ||
yum install telnet wget openssh-clients | yum install telnet wget openssh-clients | ||
Line 97: | Line 85: | ||
AutomaticLoginEnable=true | AutomaticLoginEnable=true | ||
AutomaticLogin=vnx | AutomaticLogin=vnx | ||
− | <li>Disable the firewall. Firewall is enabled by default | + | <li>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:</li> |
+ | # Fedora 18 | ||
+ | chkconfig firewalld off | ||
+ | |||
+ | # Fedora 16 & 14 | ||
chkconfig iptables off | chkconfig iptables off | ||
+ | chkconfig ip6tables off | ||
+ | <li>Change grub timeout to 0 by editing /etc/default/grub file and setting:</li> | ||
+ | GRUB_TIMEOUT=0 | ||
+ | and executing: | ||
+ | grub2-mkconfig -o /boot/grub2/grub.cfg | ||
+ | <li>Disable screensaver if using a GUI.</li> | ||
</ul> | </ul> | ||
− | <li>Create a file /etc/ | + | <li>Create a file /etc/vnx_rootfs_version to store version number and informacion about modification. For example:</li> |
− | VER=v0. | + | <pre> |
− | OS=Fedora | + | VER=v0.25 |
− | DESC=Basic Fedora | + | OS=Fedora 18 |
− | + | DESC=Basic Fedora 18 root-filesystem without GUI | |
− | + | </pre> | |
− | + | <li>Finally, stop the virtual machine with:</li> | |
− | + | vnx_halt | |
− | + | ''vnx_halt'' deletes some caches and log files and optionally lets you write a short message to ''/etc/vnx_rootfs_version file'' describing the latest modifications done.</ul> | |
− | + | ||
− | + | == Installing additional software == | |
− | + | ||
− | + | To install additional software or to modify your root file system, you just have to: | |
− | + | <ul> | |
− | + | <li>Start a virtual machine from it:</li> | |
− | + | vnx --modify-rootfs vnx_rootfs_kvm_fedora.qcow2 | |
− | + | <li>Check network connectivity. Maybe you have to activate the network interface by hand:</li> | |
− | + | dhclient eth1 | |
− | + | Note: use "ip link show" to know which network interface to use. | |
− | + | <li>Do the modifications you want.</li> | |
− | + | <li>Finally, halt the system using:</li> | |
− | + | vnx_halt | |
− | |||
− | |||
− | |||
− | |||
− | vnx_halt | ||
</ul> | </ul> | ||
− | == | + | == 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 /dev/sdb /mnt/ | |
− | + | perl /mnt/vnxaced-lf/install_vnxaced | |
− | |||
− | |||
− | |||
− | |||
== Known problems == | == Known problems == |
Latest revision as of 00:07, 3 November 2016
How to create a KVM Fedora root filesystem for VNX
Follow this procedure to create a KVM Fedora based root filesystem for VNX. The procedure has been tested with Fedora 24, 20, 18, 16 and 14.
Contents
Basic installation
- Create the filesystem disk image:
qemu-img create -f qcow2 vnx_rootfs_kvm_fedora.qcow2 20G
wget ftp://ftp.rediris.es/mirror/fedora/16/Fedora/i386/iso/Fedora-16-i386-DVD.iso cp Fedora-16-i386-DVD.iso /almacen/iso
vnx --create-rootfs vnx_rootfs_kvm_fedora.qcow2 --install-media /almacen/iso/Fedora-16-i386-DVD.iso --mem 768M
Note: add "--arch x86_64" option for 64 bits virtual machines
- Fedora 18, 20 and 24:
- Edit /etc/default/grub and add:
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0" GRUB_TERMINAL="serial" GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"
grub2-mkconfig -o /boot/grub2/grub.cfg
ln -s /usr/lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyS0.service
#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
And add ttyS0 to /etc/securetty file if you want to login root on that console:
echo "ttyS0" >> /etc/securetty
rm /etc/udev/rules.d/70-persistent-net.rules halt -p
Configuration
- Restart the system with the following command:
vnx --modify-rootfs vnx_rootfs_kvm_fedora.qcow2 --update-aced --mem 768M
Note: ignore the errors "timeout waiting for response on VM socket". 768M are needed if you are installing a root filesystem with desktop interface Note: add "--arch x86_64" option for 64 bits virtual machines
virsh console vnx_rootfs_kvm_fedora.qcow2
dhclient eth0
Note: use "ip link show" to know which network interface to use.
yum update yum install perl perl-XML-LibXML perl-NetAddr-IP acpid udisks perl-Sys-Syslog xterm
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.
mount /dev/sdb /mnt/ perl /mnt/vnxaced-lf/install_vnxaced
systemctl stop NetworkManager.service systemctl disable NetworkManager.service systemctl enable network.service
chkconfig --level 3 network on
- Install other services needed, for example, an apache server:
yum install httpd chkconfig httpd off # if you want to avoid automatic start of apache server
yum install telnet wget openssh-clients
AutomaticLoginEnable=true AutomaticLogin=vnx
# Fedora 18 chkconfig firewalld off
# Fedora 16 & 14 chkconfig iptables off chkconfig ip6tables off
GRUB_TIMEOUT=0
and executing:
grub2-mkconfig -o /boot/grub2/grub.cfg
VER=v0.25 OS=Fedora 18 DESC=Basic Fedora 18 root-filesystem without GUI
vnx_haltvnx_halt deletes some caches and log files and optionally lets you write a short message to /etc/vnx_rootfs_version file describing the latest modifications done.
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
dhclient eth1
Note: use "ip link show" to know which network interface to use.
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 /dev/sdb /mnt/ perl /mnt/vnxaced-lf/install_vnxaced