Difference between revisions of "Vnx-rootfsfedora"
(→Basic installation) |
|||
(37 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 KVM Fedora based root filesystem for VNX. The procedure has been tested with Fedora 24, 20, 18, 16 and 14. | |
− | |||
− | Follow this procedure to create a | ||
== Basic installation == | == Basic installation == | ||
<ul> | <ul> | ||
<li>Create the filesystem disk image:</li> | <li>Create the filesystem disk image:</li> | ||
− | qemu-img create -f qcow2 vnx_rootfs_kvm_fedora.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/16/Fedora/i386/iso/Fedora-16-i386-DVD.iso | wget ftp://ftp.rediris.es/mirror/fedora/16/Fedora/i386/iso/Fedora-16-i386-DVD.iso | ||
cp Fedora-16-i386-DVD.iso /almacen/iso | cp Fedora-16-i386-DVD.iso /almacen/iso | ||
<li>Create the virtual machine with:</li> | <li>Create the virtual machine with:</li> | ||
− | vnx --create-rootfs vnx_rootfs_kvm_fedora.qcow2 --install-media /almacen/iso/Fedora-16- | + | 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>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> | <li>Enable login on the first serial line:</li> | ||
<ul> | <ul> | ||
+ | <li>Fedora 18, 20 and 24:</li> | ||
+ | <ul> | ||
+ | <li>Edit /etc/default/grub and add:</li> | ||
+ | <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> | ||
+ | <li>And afterwards execute:</li> | ||
+ | grub2-mkconfig -o /boot/grub2/grub.cfg | ||
+ | </ul> | ||
<li>Fedora 16. Execute this command:</li> | <li>Fedora 16. Execute this command:</li> | ||
ln -s /usr/lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyS0.service | ln -s /usr/lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyS0.service | ||
Line 25: | Line 35: | ||
respawn | respawn | ||
exec /sbin/agetty /dev/ttyS0 9600 vt100-nav | 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 | echo "ttyS0" >> /etc/securetty | ||
− | |||
</ul> | </ul> | ||
<li>Finally, delete the net udev rules file and halt the system:</li> | <li>Finally, delete the net udev rules file and halt the system:</li> | ||
rm /etc/udev/rules.d/70-persistent-net.rules | rm /etc/udev/rules.d/70-persistent-net.rules | ||
− | halt | + | halt -p |
</ul> | </ul> | ||
== Configuration == | == Configuration == | ||
<ul> | <ul> | ||
+ | <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>Access the system through the text console to easy the copy-paste of commands:</li> | ||
+ | virsh console vnx_rootfs_kvm_fedora.qcow2 | ||
+ | <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 48: | Line 72: | ||
udisks --mount /dev/sr0 | udisks --mount /dev/sr0 | ||
perl /media/cdrom/install_vnxaced | 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 disabled by default):</li> | ||
chkconfig --level 3 network on | chkconfig --level 3 network on | ||
Line 55: | Line 79: | ||
<li>Install other services needed, 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 62: | Line 86: | ||
AutomaticLogin=vnx | AutomaticLogin=vnx | ||
<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> | <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/vnx_rootfs_version to store version number and informacion about modification | + | <li>Create a file /etc/vnx_rootfs_version to store version number and informacion about modification. For example:</li> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
− | + | VER=v0.25 | |
− | + | OS=Fedora 18 | |
− | + | DESC=Basic Fedora 18 root-filesystem without GUI | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | <li> | + | <li>Finally, stop the virtual machine with:</li> |
− | |||
− | |||
vnx_halt | vnx_halt | ||
− | </ul> | + | ''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 == | == Installing additional software == | ||
− | To install additional software or modify your root | + | 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> | ||
+ | |||
+ | == 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