Instalace CentOS přes VNC


V tomto krátkém díle si ukážeme jak provést instalaci operačního systému CentOS 7 pomocí VNC zdáleného přístupu.
Hodí se to např. v okamžiku, kdy chcete instalovat OS na HW, který nemá grafických výstup, má ale USB vstup a zrovna u sebe nemáte sériovou linku.

Stažení Cent OS image a příprava pro editaci

Stažení CentOS 7 image

cd ~/iso
wget http://mirror.it4i.cz/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso

Mounting image

mkdir -p /media/centos
mount -t iso9660 -o loop /home/vasek/iso/CentOS-7-x86_64-DVD-1804.iso /media/centos

Překopírování obsahu image

cp -pRf /media/centos /tmp/
du -shc /tmp/centos/
chmod -R u+w /tmp/centos

Unmounting Cent OS image

umount /media/centos

Úprava image

Upravíme image tak, aby VNC server po spuštení instalace naslouchal na 10.0.0.5/24.

vim /tmp/centos/isolinux/isolinux.cfg
#timeout 600 == 60 sekund
timeout 10 == 1 vteřina

...

label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img ip=10.0.0.5 netmask=255.255.255.0 nameserver=8.8.8.8 inst.vnc inst.vncpassword=centos inst.stage2=hd:LABEL=CentOS\x207\x20x86_64

label check
  menu label Test this ^media & install CentOS 7
  menu default
  kernel vmlinuz
  append initrd=initrd.img ip=10.0.0.5 netmask=255.255.255.0 nameserver=8.8.8.8 inst.vnc inst.vncpassword=centos inst.stage2=hd:LABEL=CentOS\x207\x20x86_64


Vytvoření nové image

cd /tmp/centos
mkisofs -o /tmp/boot.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "CentOS 7 x86_64" -R -J -v -T isolinux/. .

Přidání md5 kontrolního součtu do image

implantisomd5 /tmp/boot.iso

Umožnění bootování ISO image přes USB

isohybrid /tmp/boot.iso

Test image ve VirtualBoxu

Vytvoření bootovacího USB

#průběžné sledování zapsaných dat
#zaslání signálu USR1 procesům dd způsobí, že proces dd vypíše do konzole aktuální stav zápisu dat
sudo kill -USR1 $(pgrep dd)

#zápis image na USB
sudo dd if=/tmp/boot.iso of=/dev/sdb481721+0 records in
481721+0 records out
246641152 bytes (247 MB, 235 MiB) copied, 78,5536 s, 3,1 MB/s
1009913+0 records in
1009913+0 records out
517075456 bytes (517 MB, 493 MiB) copied, 183,082 s, 2,8 MB/s
3389185+0 records in
3389185+0 records out
1735262720 bytes (1,7 GB, 1,6 GiB) copied, 623,073 s, 2,8 MB/s
8254597+0 records in
8254597+0 records out
4226353664 bytes (4,2 GB, 3,9 GiB) copied, 1535,88 s, 2,8 MB/s

#vypláchnutí dat z cache
sync

Pár debugging tipů před zahájením instalace

Vytvoříme si síťový profil a propojíme ethernetovým kabalem PCčko a HW na který chceme nainstalovat OS.
Bez grafického výsupu, konzole a SSH jsme slepý a tak si snifneme síťovou komunikaci.
Pustíme si tcpdump nebo wireshark na PCCčku a budeme sledovat síťový provoz na vybraném síťovém rozhraní.

Zahájení instalace

Vložíme USB s nově vytvořeným imagem do HW. Zapneme zařízení.
Ověříme zda probíhá síťová komunikace.

Zahájení instalace přes VNC

Navázat s pojení s VNC serverem můžeme např. přes příkazovou řádku vncviewer nebo přes klikátko Remmina.

Remmina

VNCViewer

vncviewer 10.0.0.5:1
Connected to RFB server, using protocol version 3.8
Performing standard VNC authentication
Password:centos

Vhodně zvojte síťovou konfiguraci. Doporučuji nastavit statickou IP adresu. Pokud máte v síti DHCP server, tak není co řešit.

Závěr

Tak paráda. Zase jsme o něco moudřejší. Pro ty co nečtou úvod, toto řešení lze použít pro instalaci OS na HW, který nedisponuje video grafickým výstupem a nemáte po ruce sériovou konzoli.