Ubuntu 16.04, LTSP ja ID-kaart11. Sep '16
Juhend eeldab Ubuntu 16.04 server paigaldust.
Iseseisva serveri seadistamine
Iseseisev (standalone) server antud kontekstis tähendab seda, et LTSP serveril on kaks võrguliidest, millest üks vaatab Interneti poole ning teine on ühendatud eraldatud võrgusegmenti kus terminalid asuvad. Sellisel juhul serveeritakse terminalide võrku kõiki vajalikke teenuseid: DHCP, TFTP, NBD, SSH, LDM jne.
Esiteks uuenda pakette:
apt update
apt full-upgrade
Paigalda LTSP metapakett, see seadistab kõik teenused mis on LTSP toimimiseks vajalikud:
apt install -y ltsp-server-standalone wget ca-certificates apt-transport-https
Seadista võrk failis /etc/network/interfaces, asenda 192.168.77.1 omale sobiliku sisevõrgu aadressiga:
cat << EOF > /etc/network/interfaces
auto lo
iface lo inet loopback
auto en1
iface en1 inet dhcp
auto en0
iface en0 inet static
address 192.168.77.1
netmask 255.255.255.0
EOF
Asenda vaikimisi alamvõrk 192.168.0.0/24 ka DHCP serveri seadistustes:
sed -i "s/192\.168\.0\./192.168.77./g" /etc/ltsp/dhcpd.conf
Taaskäivita teenused:
systemctl restart networking
systemctl restart network-manager
systemctl restart isc-dhcp-server
systemctl restart nbd-server
LTSP serveri lisamine olemasolevasse võrku
Kui sul on juba toimiv DHCP server võid asendada ltsp-server-standalone paketi ltsp-server paketiga:
apt install -y ltsp-server ltspfs wget ca-certificates apt-transport-https
Sellisel juhul pead vajalikud teenused, nagu näiteks TFTP ise seadistama:
apt install -y tftpd-hpa
sed -e 's/TFTP_ADDRESS=.*/TFTP_ADDRESS=":69"/' /etc/default/tftpd-hpa
Kontrolli üle, et ka muud teenused oleks kättesaadavad terminalidele.
Töölaua keskkonna paigaldus
Ubuntu töölaud on üsna resursinõudlik ning terminal-serveri puhul äärmiselt aeglane, kuna pilt liigub üle võrgu. Terminal-serverile on soovitatud paigaldada MATE töölaud:
apt update
apt full-upgrade
apt install -y mate-desktop-environment-extras
Kui serverisse on paigaldatud mitu erinevat töölaua keskkonda, saab vaikimisi töölauda vahetada järgnevalt:
update-alternatives --config x-session-manager
Lisa ka Eesti ID-kaardi baastarkvara varamu:
echo "deb https://installer.id.ee/media/ubuntu/ xenial main" > /etc/apt/sources.list.d/ria-repository.list
wget https://installer.id.ee/media/install-scripts/ria-public.key -O - | apt-key add -
wget https://installer.id.ee/media/install-scripts/C6C83D68.pub -O - | apt-key add -
apt update
apt install -y open-eid
Lisa Xsession skript mis näitab uut PCSC-lite sokkli asukohta:
echo "export PCSCLITE_CSOCK_NAME=\$HOME/.pcscd.comm" > /etc/X11/Xsession.d/80-pcsclite
PC-baasil terminalid
Enamus PC riistvara toetab PXE-alglaadimist. Alusta terminali tarkvara juurfailisüsteemi loomisega:
MIRROR="http://ee.archive.ubuntu.com/ubuntu/" \
LANG=C \
ARCH=i386 \
ltsp-build-client
ID-kaardi jaoks vajalike komponentide paigaldamiseks sisene terminali juurfailisüsteemi:
chroot /opt/ltsp/i386 /bin/bash
Paigalda PCSC-Lite deemon:
apt install -y pcscd
Lisa SSH kliendi seadistused, tärni võib asendada oma serveri IP-ga:
cat << EOF > /etc/ssh/ssh_config
Host *
SendEnv LANG LC_*
PermitLocalCommand yes
LocalCommand /bin/sh -c "sh -c \"ssh -S /var/run/ldm_socket_* -l %r server rm .pcscd.comm; ssh -S /var/run/ldm_socket_* -O forward -R /home/%r/.pcscd.comm:/run/pcscd/pcscd.comm -l %r server\"&"
EOF
VIA terminalide UniChrome graafika tüürelite seis on suht halb seega ma lülitaks välja ka 3D kiirenduse:
cat << EOF > /etc/X11/xorg.conf
Section "Module"
Disable "glx"
Disable "dri"
EndSection
EOF
Mälupulkade haakimiseks paigalda ka NTFS ning exFAT jaoks vajalikud komponendid:
apt install -y ntfs-3g exfat-fuse
Välju terminali juurikast:
exit
Uuenda terminali juurfailisüsteemi SquashFS tõmmist:
ltsp-update-image
RDP sessiooni lisamine
Lisa terminali juurikasse rdesktop pakett:
chroot /opt/ltsp/i386 apt install -y rdesktop
Genereeri uuendatud tõmmis:
ltsp-update-image
Seadista ringi /var/lib/tftpboot/ltsp/i386/lts.conf:
[default]
SCREEN_07="rdesktop -x l -k et -u '' -f -r scard -r sound -r disk:floppy=/run/drives aken.edu.ee"
SCREEN_08="ldm"
Sisselogimisdialoogi aegumise vältimiseks ava Windowsi register ning lisa HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp alla DWORD tüüpi LogonTimeout=0xffffffff võti-väärtus paar 2.
Cubietrucki ette valmistamine
Kuna PXE on x86 platvormi spetsiifiline siis säärast võimekust näiteks Cubietrucki kasutada ei saa. Küll aga saab Cubietruckile kõrvetada püsivara, mis analoogselt PXE-le laadib võrgust alla tuuma, initrd ning jätakb operatsioonisüsteemi alglaadimisega.
Esmalt paigalda QEMU emulatsioonikiht:
apt install -y qemu-user-static binfmt-support
Keela OMAP4 tuuma paigaldus, see pole naguinii enam kättesaadav tarkvaravaramutest:
sed -i -e 's/KERNEL_ARCH="omap4"/KERNEL_ARCH=""/' /usr/share/ltsp/plugins/ltsp-build-client/Ubuntu/020-kernel-selection
Loo ARM juurfailisüsteem:
DEBOOTSTRAP=qemu-debootstrap ARCH=armhf LANG=C ltsp-build-client
Lisa serveri SSH võti:
ltsp-update-sshkeys
Sisene Cubietrucki juurfailisüsteemi:
chroot /opt/ltsp/armhf /bin/bash
Cubietrucki jaoks paigalda Igori 3.4.x tuum ja moodulid kuhu sai külge poogitud LTSP jaoks vajalik overlayfs:
echo "deb http://apt.armbian.com xenial main" > /etc/apt/sources.list.d/armbian.list
apt-key adv --keyserver keys.gnupg.net --recv-keys 0x93D6889F9F0E78D5
apt update
apt install -y linux-image-sun7i
Uuenda pakettide nimekirju:
apt update
Paigalda kohandatud OpenSSH, PCSC-deemon, LTSP-kliendi metapakett ja muu tilu-lilu:
apt install -y openssh-client pcscd
Lisa SSH kliendi seadistused, et terminal võimaldaks serveris ligipääsu terminalis jooksvale PCSC deemonile, vajadusel asenda tärn oma serveri IP-ga:
cat << EOF > /etc/ssh/ssh_config
Host *
SendEnv LANG LC_*
PermitLocalCommand yes
LocalCommand /bin/sh -c "sh -c \"ssh -S /var/run/ldm_socket_* -l %r server rm .pcscd.comm; ssh -S /var/run/ldm_socket_* -O forward -R /home/%r/.pcscd.comm:/run/pcscd/pcscd.comm -l %r server\"&"
EOF
Kui soovid kasutada ka RDP sessioone siis uuendatud RDP kliendi paigaldamiseks:
apt install -y rdesktop
Mälupulkade haakimiseks paigalda ka NTFS ning exFAT jaoks vajalikud komponendid:
apt install -y ntfs-3g exfat-fuse
Välju juurikast:
exit
Uuenda NBD kaudu serveeritavat tõmmist:
ltsp-update-image
Cubietruck tuuma pakendamine
Paigalda esmalt u-boot tööriistad:
apt install -y u-boot-tools
Sikuta Cubietrucki riistvara konfiguratsioon, mis paneb VGA pesa käima resolutsioonil 1024x768 ja lülitab välja terminali jaoks ebaolulised komponendid (WiFi, Bluetooth jms):
wget https://www.koodur.com/cubietruck/1024x768.bin -O /var/lib/tftpboot/ltsp/armhf/1024x768.bin
Loo u-boot jaoks skript mis laeb tuuma, initrd ning riistvara konfiguratsiooni:
cat << EOF > /var/lib/tftpboot/ltsp/armhf/1024x768.scr
setenv bootm_boot_mode sec
setenv bootargs 'ro init=/sbin/init-ltsp init=/sbin/init-ltsp root=/dev/nbd0'
tftp 0x43000000 /ltsp/armhf/1024x768.bin
tftp 0x42000000 /ltsp/armhf/uImage
tftp 0x50000000 /ltsp/armhf/initramfs.uImage
bootm 0x42000000 0x50000000
EOF
Genereeri u-boot tõmmised:
mkimage -A arm -O linux -T script -C none -n boot.scr -d \
/var/lib/tftpboot/ltsp/armhf/1024x768.scr \
/var/lib/tftpboot/ltsp/armhf/1024x768.scr.uimg
mkimage -A arm -T ramdisk -C none -n uInitrd -d \
/var/lib/tftpboot/ltsp/armhf/initrd.img-3.4.*-sun7i \
/var/lib/tftpboot/ltsp/armhf/initramfs.uImage
mkimage -A arm -O linux -T kernel -C none -n Linux -a 42000000 -e 42000000 -d \
/var/lib/tftpboot/ltsp/armhf/vmlinuz-3.4.*-sun7i \
/var/lib/tftpboot/ltsp/armhf/uImage
Seadista ringi ka DHCP serverit failis /etc/ltsp/dhcpd.conf, siinkohal on välja nopitud Cubietruckid millel on 1024x768 resolutsiooniga ekraanid ning mõned mis on 1280x1024 resolutsiooniga ekraanid. Ülejäänud masinad sooritavad x86 terminali alglaadimise PXE abil:
authoritative;
group {
filename "ltsp/armhf/1024x768.scr.uimg";
host term1 { hardware ethernet 02:c1:08:c3:10:9f; }
host term2 { hardware ethernet 02:8d:06:c0:c5:36; }
host term3 { hardware ethernet 02:15:07:c2:ff:cc; }
}
group {
filename "ltsp/armhf/1280x1024.scr.uimg";
host term4 { hardware ethernet 02:c1:0a:01:d3:0f; }
host term5 { hardware ethernet 02:c1:08:82:f6:9f; }
host term6 { hardware ethernet 02:c8:07:c1:cc:93; }
}
subnet 192.168.77.0 netmask 255.255.255.0 {
range 192.168.77.100 192.168.77.250;
option routers 192.168.77.1;
option domain-name-servers 192.168.77.1;
option domain-name "ltsp";
filename "pxelinux.0";
}
Cubietrucki võrgust alglaetavaks tegemine
Viimase sammuna peab Cubietrucki jaoks ette valmistama mälukaardi mis oskab võrgust alglaadimist sooritada. Laadi alla selle jaoks sobilik u-boot ning kirjuta see microSD mälukaardile.
wget http://os.archlinuxarm.org/os/sunxi/boot/cubietruck/u-boot-sunxi-with-spl.bin
sudo dd if=/dev/zero of=/dev/sdX bs=1M count=8
sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8
Sisemisele mälule modernse u-booti kirjutamine on jätkuvalt problemaatiline, MLC mälukivi kasutuse tõttu kipub selle sisu korrumpeeruma andmete lugemisel.
Mälupulkade haakimine
Mälupulkade haakimine peaks toimima automaatselt, kui see pole nii kontrolli et serveris oleks paigaldatud ltspfs pakett.
apt install ltspfs
Terminali juurfailisüsteemis kontrolli, et oleks paigaldatud tarkvara NTFS ning exFAT failisüsteemide haakimiseks:
apt purge -y flash-kernel # armhf juurikas muidu püüab kernelit flashima hakata
apt install ntfs-3g exfat-fuse