Ubuntu 12.04, LTSP ja ID-kaart28. Jul '12
Juhend eeldab Ubuntu 12.04 desktop või server paigaldust.
Serveri seadistamine
Esiteks uuenda pakette:
apt-get update
apt-get dist-upgrade
Paigalda LTSP serveri metapakett, see paigaldab DHCP serveri ja muud LTSP jaoks tarvilikud teenused:
apt-get install ltsp-server-standalone wget ca-certificates apt-transport-https
Seadista võrk failis /etc/network/interfaces, asenda 192.168.77.1 omale sobiliku IP-ga:
echo "auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.77.1
netmask 255.255.255.0" > /etc/network/interfaces
Asenda DHCP serveri seadistuste failis 192.168.0.0/24 alamvõrk:
sed -i "s/192\.168\.0\./192.168.77./g" /etc/ltsp/dhcpd.conf
Taaskäivita võrguteenused:
/etc/init.d/networking restart
/etc/init.d/network-manager restart
/etc/init.d/isc-dhcp-server restart
/etc/init.d/nbd-server restart
Paigalda modifitseeritud OpenSSH server LTSP serverisse:
echo "deb http://packages.koodur.com precise ltsp" | sudo tee /etc/apt/sources.list.d/koodur-ltsp-packages.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B8A6153D
apt-get update
apt-get install -y openssh-server
Lisa Eesti ID-kaardi ametliku tarkvara varamu:
echo "deb https://installer.id.ee/media/ubuntu/ precise main" > /etc/apt/sources.list.d/ria-repository.list
wget https://installer.id.ee/media/install-scripts/ria-public.key -O - | apt-key add -
apt-get update
apt-get install -y estonianidcard
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
PXE-võimelise terminali tarkvara seadistamine
Võrgu kaudu alglaadimist võimaldavad enamus x86 masinaid millel on vähegi modernne võrgukaart. Esiteks loo terminali juurfailisüsteem:
MIRROR="http://fi.archive.ubuntu.com/ubuntu/" \
LANG=C \
ARCH=i386 \
ltsp-build-client
Sisene terminali juurfailisüsteemi:
chroot /opt/ltsp/i386 /bin/bash
Lisa modifitseeritud OpenSSH klient ka terminali juurfailisüsteemi:
echo "deb http://packages.koodur.com precise ltsp" | sudo tee /etc/apt/sources.list.d/koodur-ltsp-packages.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B8A6153D
apt-get update
apt-get install -y openssh-client
Paigalda muud ID-kaardi jaoks tarvilikud komponendid:
apt-get install -y pcscd
Uues PC-SC Lite teegis käivitatakse pcscd deemon automaatselt, see ei sobi LTSP jaoks:
sed -i "s/exit 0/#exit 0 # Reverted to 1.6.0 behaviour for LTSP/g" /etc/init.d/pcscd
touch /etc/default/pcscd
Lisa SSH kliendi seadistused, asenda 192.168.77.1 oma serveri IP-ga:
echo "Host 192.168.77.1
RemoteForward [~/.pcscd.comm] :[/var/run/pcscd/pcscd.comm]" >> /etc/ssh/ssh_config
VIA terminalide UniChrome graafika tüürelite seis on suht halb seega ma lülitaks välja ka 3D kiirenduse:
echo "Section \"Module\"
Disable \"glx\"
Disable \"dri\"
EndSection" > /etc/X11/xorg.conf
Välju terminali juurikast:
exit
Uuenda terminali juurfailisüsteemi SquashFS tõmmist:
ARCH=i386 ltsp-update-image
NB! Ubuntu Unity on üsna uimane LTSP peal, soovitan valida Gnome Classic (No effects) sessioni sisselogimishalduris.
Cubietruckide kasutamine terminalina
Terminalina saab väga edukalt kasutada ka Cubietrucki. Teoorias peaks saama ltsp-build-image skripti abil luua ka armhf SquashFS tõmmiseid mida terminal siis nbd abil monteeriks nagu LTSP5-s tavaks aga käesolev juhend tugineb hoopis NFS tehnoloogiale. Esiteks paigalda serverisse armhf emulatsioonikiht:
sudo apt-get install qemu-user-static binfmt-support
Sikuta Ubuntu 12.04 armhf juurfailisüsteem:
wget -c http://s3.armhf.com/dist/basefs/ubuntu-precise-12.04.4-armhf.com-20140603.tar.xz
sudo mkdir -p /opt/ltsp/cubietruck
sudo tar xvf ubuntu-precise-12.04.4-armhf.com-20140603.tar.xz -C /opt/ltsp/cubietruck
sudo cp /usr/bin/qemu*-arm-static /opt/ltsp/cubietruck/usr/bin/
Lisa serveri SSH võti:
ltsp-update-sshkeys
Ekspordi kataloog NFS serveriga failis /etc/exports:
/opt/ltsp/cubietruck 192.168.77.0/24(ro,no_root_squash)
Paigalda NFS server:
sudo apt-get install nfs-kernel-server
Sisene Cubietrucki juurfailisüsteemi:
sudo mount --bind /proc /opt/ltsp/cubietruck/proc
sudo mount --bind /dev /opt/ltsp/cubietruck/dev
sudo mount --bind /dev/pts /opt/ltsp/cubietruck/dev/pts
sudo chroot /opt/ltsp/cubietruck
LDM-i ning sessiooni vaikimisi keele seadmiseks kasuta /etc/default/locale faili. Paraku praegu eestikeelsed tõlked puuduvad LDM-il endal ning seetõttu on sisselogimisviip inglisekeelne:
echo 'LANG="et_EE.UTF-8"' > /etc/default/locale
Lähtesta võrguseaded failis /etc/network/interfaces:
auto lo
iface lo inet loopback
Lähtesta nimeserver:
echo "nameserver 8.8.8.8" | tee /etc/resolv.conf
Paigalda Igori kerneli moodulid:
wget http://lauri.vosandi.com/ct/mod.tar
tar xvf mod.tar -C /
depmod -a 3.4.98-sun7i+
Lisa minu tarkvara varamu:
echo "deb http://packages.koodur.com precise main ltsp" > /etc/apt/sources.list.d/koodur.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B8A6153D
Uuenda pakettide nimekirju:
apt-get update
Paigalda kohandatud OpenSSH, PCSC-deemon, LTSP-kliendi metapakett ja muu tilu-lilu:
apt-get install -y openssh-client pcscd ltsp-client python-pip python-newt python-tz sunxi-tools xf86-video-fbturbo
pip install socle
Uues PC-SC Lite teegis käivitatakse pcscd deemon automaatselt, see ei sobi LTSP jaoks:
sed -i "s/exit 0/#exit 0 # Reverted to 1.6.0 behaviour for LTSP/g" /etc/init.d/pcscd
touch /etc/default/pcscd
Seadista /etc/fstab:
proc /proc proc defaults 0 0
none /tmp tmpfs defaults 0 0
none /run tmpfs defaults 0 0
none /var/lock tmpfs defaults 0 0
none /var/log tmpfs defaults 0 0
none /var/tmp tmpfs defaults 0 0
Lisa SSH kliendi seadistused, et terminal võimaldaks serveris ligipääsu terminalis jooksvale PCSC deemonile, asenda 192.168.77.1 oma serveri IP-ga:
echo "Host 192.168.77.1 server
RemoteForward [~/.pcscd.comm] :[/var/run/pcscd/pcscd.comm]" >> /etc/ssh/ssh_config
Kui sisselogimishalduri aken ei ilmu ja jääb tsükklisse siis proovi jooksutada järgnevat käsku. Ubuntu 12.04 + qemu koosluses näiteks see käsk ei jookse, nii et seda peaks korraks Cubietrucki raual otse käitama:
/usr/lib/arm-linux-gnueabihf/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache
Kui sisselogimishaldur ei käivitu kontrolli, et masinanimi server lahenduks LTSP serveri IP aadressiks. Selle jaoks võib olla tarvis seadistada /etc/hosts faili.
Cubietrucki ette valmistamine
Kuna PXE on x86 platvormi spetsiifiline siis säärast võimekust näiteks Cubietrucki kasutada ei saa. Teoorias saaks u-booti kompileerida TFTP toega nii et analoogselt PXE-le saaks Cubietrucki tegelikult panne kernelit laadima võrgust aga Cubietrucki u-boot on üsna toores ning see eeldab võrgukaardi minimaalset tuge u-bootis. Käesolev peatükk räägib peamiselt sellest kuidas kernel Cubietrucki sisemisele mälule kirjutada ning võrgust juurfailisüsteemi haakima panna.
Ette valmistamiseks paigalda Cubietruckile LiveSuit abil Lubuntu tõmmis, see keerab partitsioonitabeli õigeks muidu on alglaadimisega mingisugused anomaaliad:
wget http://dl.cubieboard.org/software/a20-cubietruck/lubuntu/ct-lubuntu-nand-v2.0/ct-lubuntu-server-nand.img.gz
tar xvf ct-lubuntu-server-nand.img.gz
wget http://dl.cubieboard.org/software/tools/livesuit/LiveSuitV306_For_Linux64.zip
unzip LiveSuitV306_For_Linux64.zip
cd LiveSuit_for_Linux64/
chmod +x LiveSuit.run
./LiveSuit.run
sudo ~/Bin/LiveSuit/LiveSuit.sh
Kui Cubietruck on käima läinud ühenda UART-USB sillaga end käsurea külge ja paigalda Igori kernel, moodulid ja kohandatud alglaaduri argumendid:
mount /dev/nanda /boot
wget http://lauri.vosandi.com/ct/ct-vga.bin -O /boot/script.bin
wget http://lauri.vosandi.com/ct/uImage -O /boot/uImage
wget http://lauri.vosandi.com/ct/uEnv.ct -O /boot/uEnv.txt
Viimane neist sisaldab midagi järgnevat, mis sunnib kerneli küsima DHCP-ga IP-aadressi, seejärel alglaadimist tegema DHCP serveri poolt ette antud NFS-serverist ning käivitama LTSP initit.
console=tty0
extraargs=console=ttyS0,115200 root=/dev/nfs ip=dhcp ro panic=60 /sbin/init-ltsp
nand_root=/dev/nandb