Οδηγός εγκατάστασης Ubuntu/LTSP σε Raspberry Pi 2

Ξεκίνησε από gidarakos, 11 Νοε 2015, 12:30:34 ΜΜ

« προηγούμενο - επόμενο »

gidarakos

Τελικά ολοκληρώθηκε το boot μέσω sd με το Raspberry Pi 2 να λειτουργεί ως thin/fat client με το γνωστό περιβάλλον gnome-fallback.

Τα βήματα που ακολούθησα, με κάποιες αλλαγές προσαρμοσμένες στο σχολικό εργαστήριο που έχει ήδη Ubuntu LTSP Server 12.04, είναι τα ακόλουθα:



Edit 23/12/16:
Κατόπιν δοκιμών έγιναν αλλαγές στην παρατήρηση V.
Edit 22/12/16:
Προστέθηκε παρατήρηση V σχετικά με την χρήση του adaptor HDMI-->VGA.
Edit 15/12/16:
α) Στο βήμα 7 έγιναν οι απαραίτητες αλλαγές για να γίνεται χρήση του linux-firmware-raspi2_1.20151118+b70b451-0ubuntu1_armhf.deb βάση του επίσημου οδηγού του Άλκη (edited 2016-08-11).
β) Στα βήματα 7, 9 και στο Β) το "Documents" αντικαταστάθηκε με το "Έγγραφα" για να μη δημιουργείτε επιπλέον φάκελος με το όνομα Documents.
Edit 30/11/16:
Στο βήμα 8 έγινε αλλαγή στο url σχετικά με την εφαρμογή SD Formatter 4.0.
Edit 6/10/16:
Στις 4/9/16 κυκλοφόρησαν καινούργιες εκδόσεις στα python*-gpiozero_* οπότε ενημερώθηκαν αντίστοιχα οι εντολές στο βήμα 3.
Edit 9/5/16:
Στις 21/4/16 κυκλοφόρησαν καινούργιες εκδόσεις στα python*-gpiozero_* οπότε ενημερώθηκαν αντίστοιχα οι εντολές στο βήμα 3.
Edit 11/2/16:
Στις 9/2/16 κυκλοφόρησαν καινούργιες εκδόσεις στα python*-gpiozero_* οπότε ενημερώθηκαν αντίστοιχα οι εντολές στο βήμα 3.
Edit 19/1/16:
α) Στις 8/1/16 κυκλοφόρησαν καινούργιες εκδόσεις στα python*-rpi.gpio_* οπότε ενημερώθηκαν αντίστοιχα οι εντολές στο βήμα 3.
β) Στο Α του ΠΡΟΣΘΗΚΗ ΛΟΓΙΣΜΙΚΟΥ, προστέθηκαν οι εντολές apt-get update και apt get dist-upgrade, έτσι ώστε πριν την εγκατάσταση καινούργιου λογισμικού να γίνεται έλεγχος/εγκατάσταση αναβαθμίσεων.
Edit 11/1/16:
α) Άλλαξε το όνομα της οδηγίας για το πληκτρολόγιο σε INIT_COMMAND_XKB (βήμα 6).
β) Δυνατότητα προσθήκης πολλών χρηστών και ομάδων με δικαιώματα sudo, στο lts.conf (βήμα 6).
γ) Προσθήκη δυνατότητας απενεργοποίησης των δικαιωμάτων sudo, χωρίς επανεκκίνηση των clients (Παρατήρηση IV).
Edit 10/1/16:
Για να μπορούμε να χρησιμοποιούμε στα fat clients, τα GPIO (general purpose input/output) pins, προστέθηκαν τα εξής:
α) Εγκατάσταση απαραίτητου λογισμικού στο βήμα 3.
β) Οδηγία στο lts.conf (βήμα 6) ώστε κάποιος χρήστης σε fat client να μπορεί να εκτελεί εφαρμογές με δικαιώματα sudo.
γ) Παρατήρηση IV.
Edit 27/11/15:
Επειδή κάποια πληκτρολόγια δεν τα ανιχνεύει σωστά το Xorg (π.χ. με το Logitech K340 δε λειτουργεί η αλλαγή γλώσσας left alt+shift), προστέθηκε μία επιπλέον οδηγία στο lts.conf (βήμα 6).
Edit 25/11/15:
Αλλαγή της εντολής εγκατάστασης του Libre Office στο βήμα 3. Φαίνεται να "κολλάει" η εγκατάσταση του ca-certificates-java. Υπάρχει πρόβλημα στη συνεργασία του ca-certificates-java με τον εξομοιωτή qemu.
Edit 23/11/15:
α) Διόρθωση συντακτικού λάθους (MOUNT_PACKAGE_DIR="/var/cache/apt/archives") στο περιεχόμενο του αρχείου /etc/ltsp/ltsp-build-client-raspi2.conf (βήμα 1).
β) Αλλαγή της εντολής για την κάρτα ήχου, σε MODULE_01="snd_bcm2835", στο αρχείο lts.conf (βήμα 6).
Edit 13/11/15:
α) Έγιναν αλλαγές, στο περιεχόμενο του αρχείου lts.conf, στο 6ο βήμα: i) Προσθήκη οδηγίας LTSP_FATCLIENT, ii) Ενεργοποίηση της κάρτας ήχου modprobe snd_bcm2835.
β) Προσθήκη της εγκατάσταση του Libre Office, για fat client, πριν τα language pack (βήμα 3).



1) Δημιουργία του αρχείου /etc/ltsp/ltsp-build-client-raspi2.conf:
Κώδικας: bash
sudo gedit /etc/ltsp/ltsp-build-client-raspi2.conf

στο οποίο προσθέτουμε τις ακόλουθες γραμμές:
# This is a configuration file to build an LTSP chroot for Raspberry Pi 2.
DIST=trusty
MOUNT_PACKAGE_DIR="/var/cache/apt/archives"
APT_KEYS="/etc/ltsp/ts_sch_gr-ppa.key"
EXTRA_MIRROR="http://ppa.launchpad.net/ts.sch.gr/ppa/ubuntu $DIST main"
KERNEL_ARCH="raspi2"
LATE_PACKAGES="dosfstools less nano epoptes-client"


2) Δημιουργία του εικονικού δίσκου thin chroot:
Κώδικας: bash
sudo -i
add-apt-repository --yes ppa:ts.sch.gr
apt-key export 03AFA832 > /etc/ltsp/ts_sch_gr-ppa.key
apt-get update
apt-get dist-upgrade
apt-get --yes install qemu-user-static binfmt-support
ltsp-build-client --arch armhf --config /etc/ltsp/ltsp-build-client-raspi2.conf
exit


3) Προσθήκη του ubuntu-desktop gnome-session-flashback και άλλων απαραίτητων λογισμικών για να λειτουργήσει και σαν fat client:
Κώδικας: bash
sudo ltsp-chroot -ma armhf
export FLASH_KERNEL_SKIP=true
apt-get install ubuntu-desktop gnome-session-flashback
apt-get install ubuntu-restricted-extras
apt-get install --no-install-recommends libreoffice
apt-get install language-pack-el
apt-get install $(check-language-support)
# Εγκατάσταση του απαραίτητου λογισμικού, για να μπορούμε να χρησιμοποιούμε στα fat clients, τα GPIO (general purpose input/output) pins.
apt-get install idle idle3
cd /tmp
wget http://archive.raspberrypi.org/debian/pool/main/r/rpi.gpio/python-rpi.gpio_0.6.1-1_armhf.deb
wget http://archive.raspberrypi.org/debian/pool/main/r/rpi.gpio/python3-rpi.gpio_0.6.1-1_armhf.deb
wget http://archive.raspberrypi.org/debian/pool/main/s/spidev/python-spidev_2.0~git20150907_armhf.deb
wget http://archive.raspberrypi.org/debian/pool/main/s/spidev/python3-spidev_2.0~git20150907_armhf.deb
wget http://archive.raspberrypi.org/debian/pool/main/g/gpiozero/python-gpiozero_1.3.1_all.deb
wget http://archive.raspberrypi.org/debian/pool/main/g/gpiozero/python3-gpiozero_1.3.1_all.deb
dpkg -i python-rpi.gpio_0.6.1-1_armhf.deb
dpkg -i python3-rpi.gpio_0.6.1-1_armhf.deb
dpkg -i python-spidev_2.0~git20150907_armhf.deb
dpkg -i python3-spidev_2.0~git20150907_armhf.deb
dpkg -i python-gpiozero_1.3.1_all.deb
dpkg -i python3-gpiozero_1.3.1_all.deb
apt-get -f install
exit


4) Ενημέρωση του εικονικού δίσκου:
Κώδικας: bash
sudo ltsp-update-image armhf


5) Επειδή θέλουμε να ασχολούμαστε με ένα lts.conf δημιουργούμε ένα symlink:
Κώδικας: bash
sudo ln -sf ../i386/lts.conf /var/lib/tftpboot/ltsp/armhf/lts.conf


6) Προσθέτουμε στο τέλος του αρχείου lts.conf:
Κώδικας: bash
sudo gedit /var/lib/tftpboot/ltsp/i386/lts.conf

τις ακόλουθες γραμμές:
# This partial MAC address means "apply this section to all PI clients".
[B8:27:EB:*]
# KERNEL_DEVICE instructs LTSP to locate and automatically update the kernel.
KERNEL_DEVICE=/dev/mmcblk0p1

# Αν θέλετε ΟΛΑ τα Raspberry να λειτουργούν ως thin client, αφαιρέστε το σχόλιο από την επόμενη εντολή.
# LTSP_FATCLIENT=False

# Ενεργοποίηση της κάρτας ήχου snd_bcm2835.
MODULE_01="snd_bcm2835"

# Αν δε λειτουργεί σωστά το πληκτρολόγιο π.χ. δε γίνεται αλλαγή γλώσσας left alt+shift, αφαιρέστε το σχόλιο από την επόμενη εντολή.
# INIT_COMMAND_XKB="echo \"setxkbmap -layout us,gr -option '' -option grp:alt_shift_toggle,grp_led:scroll &\" > /usr/share/ldm/rc.d/I02-greek-locale"

# Αν θέλετε να εκτελείτε εντολές σε fat client χρήστες με δικαιώματα sudo (π.χ. sudo idle3 &), αφαιρέστε τα σχόλια από τις επόμενες εντολές, βάζοντας όπου username1, username2, τα αντίστοιχα ονόματα των χρηστών. Μπορείτε να προσθέσετε κι άλλες εγγραφές. 
# RCFILE_SUDOERS_01="echo \"username1 ALL=NOPASSWD: ALL\" >> /etc/sudoers"
# RCFILE_SUDOERS_02="echo \"username2 ALL=NOPASSWD: ALL\" >> /etc/sudoers"

# Αν θέλετε να εκτελείτε εντολές σε fat client groups με δικαιώματα sudo (π.χ. sudo idle3 &), αφαιρέστε τα σχόλια από τις επόμενες εντολές, βάζοντας όπου groupname1, groupname2, τα αντίστοιχα ονόματα των groups. Μπορείτε να προσθέσετε κι άλλες εγγραφές.
# RCFILE_SUDOERS_groupname1="echo \"groupname1 ALL=NOPASSWD: ALL\" >> /etc/sudoers"
# RCFILE_SUDOERS_groupname2="echo \"groupname2 ALL=NOPASSWD: ALL\" >> /etc/sudoers"


7) Προετοιμασία αρχείων για αντιγραφή στην sd του Raspberry:
Κώδικας: bash
sd_card="$HOME/Έγγραφα/RaspberryPi/sd_card"
mkdir -p "$sd_card"
cd "$sd_card"
wget http://ports.ubuntu.com/ubuntu-ports/pool/multiverse/l/linux-firmware-raspi2/linux-firmware-raspi2_1.20151118+b70b451-0ubuntu1_armhf.deb
dpkg-deb -X linux-firmware-raspi2_1.20151118+b70b451-0ubuntu1_armhf.deb .
mv usr/lib/linux-firmware-raspi2/* .
rm -rf usr/ linux-firmware-raspi2_1.20151118+b70b451-0ubuntu1_armhf.deb
cp /var/lib/tftpboot/ltsp/armhf/{vmlinuz,initrd.img} .
echo "# See https://www.raspberrypi.org/documentation/configuration/config-txt.md
# for many tuning options (e.g. monitor resolution) that you can put in this file.
kernel vmlinuz
initramfs initrd.img" > config.txt
server_ip=$(ip route get 192.168.67.0 | awk '/src/ { print $NF }')
echo "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 elevator=deadline rootwait init=/sbin/init-ltsp root=/dev/nbd0 nbdroot=$server_ip:/opt/ltsp/armhf" > cmdline.txt

ΠΡΟΣΟΧΗ: Οι γραμμές 9-12 είναι μία εντολή.

08) Χρειαζόμαστε οποιαδήποτε μικρή σε χωρητικότητα sd, γιατί τα αρχεία που θα αντιγράψουμε είναι <30MB.
Προετοιμάζουμε την sd σε fat32 file system. Αυτό από Ubuntu μπορείτε να το κάνετε με την εφαρμογή gparted (αν δεν την έχετε μπορείτε εύκολα να την εγκαταστήσετε μέσω του Κέντρου λογισμικού Ubuntu) και από windows με την εφαρμογή SD Formatter 4.0 ακολουθώντας τα 4 βήματα του INSTALL RASPBIAN WITH NOOBS (https://www.raspberrypi.org/learning/software-guide/quickstart/). Προσοχή: Αν έχετε αρχεία στην sd θα διαγραφούν!

9) Αντιγράφουμε όλα τα αρχεία από το φάκελο Έγγραφα/RaspberryPi/sd_card στην sd.
Αν το micro sd reader δεν το έχουμε στο server: α) Μεταφέρουμε πρώτα τα αρχεία από το server σε ένα flash drive, β) συνδέουμε στον ίδιο υπολογιστή flash+sd, γ) μεταφέρουμε τα αρχεία από το flash στην sd.
Υπάρχει και η λύση να προμηθευτούμε για το server, ένα USB micro sd reader, των οποίων οι τιμές πλέον ξεκινάνε από τα 2€!

10) Τοποθετούμε την sd στο Raspberry και αφού το έχουμε συνδέσει στο τοπικό μας δίκτυο, το τροφοδοτούμε με ρεύμα. Αν έχουν πάει όλα καλά μετά από λίγο θα εμφανιστεί η γνωστή login screen. :)

ΠΡΟΣΘΗΚΗ ΛΟΓΙΣΜΙΚΟΥ/ΑΛΛΑΓΗ IP SERVER:

A) Αν θέλουμε να εγκαταστήσουμε στον fat client επιπλέον λογισμικό ακολουθούμε τα βήματα 3 και 4, δηλαδή:
Κώδικας: bash
sudo ltsp-chroot -ma armhf
export FLASH_KERNEL_SKIP=true
apt-get update
apt-get dist-upgrade
apt-get install #εδώ βάζεται το όνομα του λογισμικού που θέλετε να εγκαταστήσετε
exit
sudo ltsp-update-image armhf


B) Αν αλλάξετε IP στον LTSP Server θα πρέπει να ξανά τρέξετε τις δύο τελευταίες εντολές, του 7ου βήματος, για να δημιουργηθεί ενημερωμένο cmdline.txt:
Κώδικας: bash
server_ip=$(ip route get 192.168.67.0 | awk '/src/ { print $NF }')
echo "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 elevator=deadline rootwait init=/sbin/init-ltsp root=/dev/nbd0 nbdroot=$server_ip:/opt/ltsp/armhf" > $HOME/Έγγραφα/RaspberryPi/sd_card/cmdline.txt

ΠΡΟΣΟΧΗ: Στη συνέχεια αντιγράψτε το ενημερωμένο cmdline.txt, από το φάκελο Έγγραφα/RaspberryPi/sd_card, στην sd. Αντικαταστήστε το ήδη υπάρχον.
Σημείωση: Στην 1η εντολή (server_ip) ΔΕΝ αλλάζουμε την IP. Στη 2η εντολή (echo) πρόσθεσα το $HOME/Έγγραφα/RaspberryPi/sd_card/ έτσι ώστε το cmdline.txt να δημιουργείται πάντα στον sd_card φάκελο.

ΠΑΡΑΤΗΡΗΣΕΙΣ:

I) Λόγω της RAM του Raspberry και των προεπιλεγμένων ρυθμίσεων του server (lts.conf), τα Raspberry θα bootάρουν ως fat client. Αυτό θα έχει ως συνέπεια και λόγω του 3ου βήματος να λείπουν ορισμένα λογισμικά ή όπως θα δείτε τα χειριστήρια τως παραθύρων εμφανίζονται αριστερά!

II) Αν θέλετε μόνο τα Raspberry να ξεκινάνε ως thin, στο 6ο βήμα της εγκατάστασης αφαιρέστε το σχόλιο (#) από την οδηγία LTSP_FATCLIENT=False, αποθηκεύστε τις αλλαγές και κάντε επανεκκίνηση τα Raspberry. Ο server δε χρειάζεται επανεκκίνηση.

III) Αν θέλετε να ξανά ακολουθήσετε όλα τα βήματα και για να μπορέσετε να ξαναδημιουργήσετε τον εικονικό δίσκο armhf (βήμα 2 εντολή 7), θα πρέπει πρώτα να τον διαγράψετε:
Κώδικας: bash
sudo rm -rf /opt/ltsp/armhf


IV) Προσοχή: Αυτή η παρατήρηση αφορά ΜΟΝΟ fat clients.
Για να μπορούμε να χρησιμοποιούμε στα fat clients, τα GPIO (general purpose input/output) pins και να υλοποιούμε projects στο Raspberry όπως το Python Quick Reaction Game, θα χρειαστεί να εκτελούμε εφαρμογές με δικαιώματα sudo (π.χ. sudo idle3 &). Δε θα μας ζητάει κωδικό!

Η ενεργοποίηση αυτής της δυνατότητας μπορεί να γίνει με διάφορους τρόπους:
1ος: Με ενεργοποίηση της οδηγίας/οδηγιών RCFILE_SUDOERS στο lts.conf. Δείτε το βήμα 6. (Μόνιμη λύση).

2ος: Αν θέλουμε για μεμονωμένο χρήστη, τότε από το Epoptes, κάνουμε δεξί κλικ στο αντίστοιχο fat client -> Εκτέλεση -> Εκτέλεση και στο Εκτέλεση εντολής γράφουμε:
sudo sh -c 'echo "username ALL=NOPASSWD: ALL" >> /etc/sudoers'

Όπου username βάζουμε το αντίστοιχο όνομα του fat client χρήστη. Αυτό θα ισχύει μέχρι να γίνει επανεκκίνηση ο fat client. (Προσωρινή λύση).

3ος: Αν θέλουμε για ολόκληρο group, τότε από το Epoptes και επιλέγοντας τον/τους fat client, κάνουμε δεξί κλικ -> Εκτέλεση -> Εκτέλεση και στο Εκτέλεση εντολής γράφουμε:
sudo sh -c 'echo "%groupname ALL=NOPASSWD: ALL" >> /etc/sudoers'

Όπου groupname βάζουμε το αντίστοιχο όνομα του group. Αυτό θα ισχύει μέχρι να γίνουν επανεκκίνηση ο/οι fat client. (Προσωρινή λύση).

Η απενεργοποίηση χωρίς επανεκκίνηση των clients μπορεί να γίνει από το Epoptes, επιλέγοντας τον/τους fat client και κάνοντας δεξί κλικ -> Εκτέλεση -> Εκτέλεση και στο Εκτέλεση εντολής γράφουμε:
sudo sed "/ALL=NOPASSWD/d" -i /etc/sudoers

Οι λύσεις βασίστηκαν στο Εκτέλεση εντολών στους clients με τα sch-scripts

V) Αν θέλετε να χρησιμοποιήσετε το Raspberry και μέσω VGA σύνδεσης (κάνοντας χρήση του σχετικού adaptor HDMI-->VGA), θα πρέπει να ενημερώσετε το αρχείο config.txt που βρίσκεται στην sd.
Το ανοίγετε για επεξεργασία με διπλό αριστερό κλικ και προσθέτετε στο τέλος του τις ακόλουθες γραμμές:
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=16 #1024x768, 60Hz

Σημείωση: Αν συνδέσετε το Raspberry σε οθόνη CRT μπορείτε να δοκιμάσετε να αυξήσετε τη συχνότητα στα 85Hz, για πιο σταθερή εικόνα. Αυτό γίνεται αλλάζοντας σε hdmi_mode=19 #1024x768, 85Hz. Για περισσότερες αναλύσεις/συχνότητες ανατρέξτε στην ενότητα HDMI_MODE (DMT) στο https://www.raspberrypi.org/documentation/configuration/config-txt.md
Επίσης αν αλλάξετε το config.txt του φακέλου Έγγραφα/RaspberryPi/sd_card, στη συνέχεια αντιγράψτε το ενημερωμένο config.txt, από το φάκελο, στην sd. Αντικαταστήστε το ήδη υπάρχον.

ΠΡΟΣΟΧΗ: Επειδή με αυτές τις οδηγίες/εντολές εξαναγκάζουμε το Raspberry να λειτουργεί σε συγκεκριμένη ανάλυση και συχνότητα, ίσως να έχουμε προβλήματα απεικόνισης όταν αλλάζουμε οθόνες (HDMI/VGA).
Αν αφαιρέσετε τις γραμμές hdmi_group και hdmi_mode και αφήσετε μόνο τη hdmi_force, δε θα έχετε προβλήματα απεικόνισης αλλά θα έχετε πολύ χαμηλή ανάλυση όταν συνδέετε VGA οθόνη.

Οι οδηγίες βασίστηκαν στον επίσημο αγγλικό οδηγό του Άλκη https://help.ubuntu.com/community/UbuntuLTSP/RaspberryPi

alkisg

Κώστα ήταν τόσο ωραία αυτά που έγραψες που πήρα το θάρρος να διαχωρίσω το μήνυμα σε νέο θέμα για να γίνει tutorial!!!

Στο (3) αν θες βάλε και ό,τι λογισμικό λείπει, π.χ. το libreoffice,
και στις Παρατηρήσεις ΙΙ), αντί για FAT_RAM_THRESHOLD=1500, βάλε LTSP_FATCLIENT=False.

Ευχαριστούμε και περιμένουμε παρατηρήσεις σχετικά με τις επιδόσεις των Pi 2!

gidarakos

#2
Παράθεση από: alkisg στις 11 Νοε 2015, 01:00:58 ΜΜ
Κώστα ήταν τόσο ωραία αυτά που έγραψες που πήρα το θάρρος να διαχωρίσω το μήνυμα σε νέο θέμα για να γίνει tutorial!!!
Σε ευχαριστώ Άλκη! :) Όσο για το διαχωρισμό του θέματος, καλύτερα, έτσι ώστε όποιος ενδιαφέρεται να βρίσκει πιο εύκολα τον οδηγό!

Παράθεση από: alkisg στις 11 Νοε 2015, 01:00:58 ΜΜ
Στο (3) αν θες βάλε και ό,τι λογισμικό λείπει, π.χ. το libreoffice,
και στις Παρατηρήσεις ΙΙ), αντί για FAT_RAM_THRESHOLD=1500, βάλε LTSP_FATCLIENT=False.
Ok και για τα δύο.

Παράθεση από: alkisg στις 11 Νοε 2015, 01:00:58 ΜΜ
Ευχαριστούμε και περιμένουμε παρατηρήσεις σχετικά με τις επιδόσεις των Pi 2!
Να είστε καλά! :) Όσο μπορούμε να βοηθάμε, με όποιον τρόπο μπορεί ο καθένας, στην υλοποίηση λύσεων ΕΛ/ΛΑΚ.

gidarakos

#3
Παράθεση από: alkisg στις 11 Νοε 2015, 01:00:58 ΜΜ
Στο (3) αν θες βάλε και ό,τι λογισμικό λείπει, π.χ. το libreoffice,
1) Εκτός από το libreoffice μηπως πρέπει να γίνουν και κάποιες ενέργειες για τα χειριστήρια των παραθύρων που εμφανίζονται αριστερά (fat client);

2) Έκανα εγκατάσταση το libreoffice αλλά είναι με αγγλικά μενού!!! (fat client). Edit: Ξανά έτρεξα τις εντολές του βήματος 3 και το libreoffice έγινε ελληνικό! :) Αλλά έχει εγκατασταθεί διαφορετική έκδοση από τα thin, η 4.2.8.2

3) Οι πρώτες εντυπώσεις είναι πως το raspberry λειτουργεί πιο γρήγορα σαν thin. Επίσης σαν thin είναι πλήρως ενημερωμένο από θέμα λογισμικού. Τις δοκιμές τις κάνω στο γραφείο με LTSP server έναν i5 φορητό μου, με passmark 2118 και 100Mbit switch!

4) Ξανά ακολουθώντας τα βήματα πρόσεξα στο βήμα 3 εντολή 3 (apt-get install ubuntu-desktop gnome-session-flashback) εμφανίστηκε το μήνυμα
qemu: Unsupported syscall: 374

χωρίς όμως να σταματήσει η εγκατάσταση.
Το ίδιο μήνυμα (qemu: Unsupported syscall: 374) εμφανίστηκε και στην επόμενη εντολή 4 (apt-get install ubuntu-restricted-extras).
Δεν ξέρω αν μας δημιουργεί πρόβλημα αλλά έχω την εντύπωση ότι το έχω ξαναδεί και σε άλλο σημείο των βημάτων εγκατάστασης.

5) Αλλαγή γλώσσας δεν μπορώ να κάνω με Left Alt Shift (Fat/Thin). Fat: Αλλάζει η γλώσσα μόνο με ποντίκι. Thin: Δεν μπορώ να αλλάξω γλώσσα ούτε με ποντίκι. Δεν κρατάει την επιλογή.

6) Ήχο φαίνεται να μην έχω (fat/thin).

alkisg

1) Αυτά τα φτιάχνουν τα sch-scripts, τα οποία δεν εγκαθίστανται στο chroot, αλλά θα προσπαθήσω να φτιάξω χωριστό πακέτο sch-settings[-gnome-flashback] για να μπορούμε να το εγκαθιστούμε και σε chroot ή σε standalone υπολογιστή.

2) Το apt-get install $(check-language-pack) πρέπει να γίνει μετά την εγκατάσταση του LibreOffice.

5) Ίδιο με το (1).

6) Δοκίμασε την παρακάτω εντολή στο lts.conf, στο section για τα Raspberry Pi:
INIT_COMMAND_01="modprobe snd_bcm2835"

gidarakos

#5
Παράθεση από: alkisg στις 12 Νοε 2015, 05:29:30 ΜΜ
2) Το apt-get install $(check-language-pack) πρέπει να γίνει μετά την εγκατάσταση του LibreOffice.
Μάλλον εννοείς apt-get install $(check-language-support). Ok, πρόσθετα το libreoffice στα βήματα της εγκατάστασης, πριν τα language pack.

Για το θέμα του ήχου θα το δοκιμάσω αύριο..

gidarakos

Παράθεση από: alkisg στις 12 Νοε 2015, 05:29:30 ΜΜ
6) Δοκίμασε την παρακάτω εντολή στο lts.conf, στο section για τα Raspberry Pi:
INIT_COMMAND_01="modprobe snd_bcm2835"

Φαίνεται να αποκαταστάθηκε και ο ήχος (thin/fat). Ενημερώνω και το βήμα 6 της εγκατάστασης.

Δημήτρης Γκίνης

#7
Ακολουθώντας τα βήματα του οδηγού αυτού:
1. Κατά τη διάρκεια της διαδικασίας εμφανίστηκαν κάποια errors (τα έχω καταγράψει και σε πρώτη ευκαιρία θα τα ποστάρω). Παρόλα αυτά ή διαδικασία ολοκληρώθηκε και το raspberry ξεκίνησε μέσω δικτύου.
2. Στον επόπτη το raspberry φαίνεται σαν fat client (και οι επιδόσεις του είναι αντίστοιχες) παρότι έχω LTSP_FATCLIENT=False. Δοκίμασα να αλλάξω και το όριο της Ram για τους fat clients αλλά ούτε αυτό έπιασε. Φυσικά ως fat client είναι αργό και δεν αξίζει τον κόπο να ασχοληθεί κανείς (πάλι δίκιο είχε ο Άλκης, αρχίζει να μου τη δίνει αυτός ο τύπος  >:(
3. Την τρίτη λέμε με τον bdaloukas να κάνουμε άλλη μια προσπάθεια στα γραφεία του Κεπληνετ Αχαΐας μιας και στο laptop που χρησιμοποίησα, ή εγκατάσταση του ubuntu 12.04 ltsp server δεν είναι καθαρή και έχει υποστεί πολλούς πειραματισμούς.

edit: Τα λάθη που εμφανίστηκαν κατά τη διάρκεια της διαδικασίας ήταν:
Βήμα 2 , εντολή 2: εμφανίστηκε μήνυμα σχετικά με τα περιεχόμενα του /etc/apt/sources.list.d/ts_sch_gr-ppa-precise.list, το οποίο περιείχε τα παρακάτω:
deb http://ppa.launchpad.net/ts.sch.gr/ppa/ubuntu precise main
ain
rc http://ppa.launchpad.net/ts.sch.gr/ppa/ubuntu precise main

Έβαλα σε σχόλια τις 2 τελευταίες γραμμές και επανάλαβα την εντολή (δεν έχω ιδέα πως βρέθηκαν αυτά)

Βήμα 2, εντολή 7 (
ltsp-build-client --arch armhf --config /etc/ltsp/ltsp-build-client-raspi2.conf
), κάποια στιγμή εμφανίστηκε στην οθόνη το παρακάτω:
..................
Γίνεται εγκατάσταση linux-image-4.2.0-1014-raspi2 (4.2.0-1014.21) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.2.0-1014-raspi2 /boot/vmlinuz-4.2.0-1014-raspi2
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.2.0-1014-raspi2 /boot/vmlinuz-4.2.0-1014-raspi2
update-initramfs: Generating /boot/initrd.img-4.2.0-1014-raspi2

Warning: root device  does not exist

Unable to abort; system will probably be broken!
.......................
, συνέχισε όμως κανονικά και ολοκληρώθηκε η διαδικασία

alkisg

@Κώστας:
1) MOUNT_PACKAGE_DIR="/var/c1)ache/apt/archives"
==> έχει ξεφύγει το "1)" εκεί.

6) INIT_COMMAND_01="modprobe snd_bcm2835"
καλύτερα να γίνει
MODULE_01="snd_bcm2835"

@Δημήτρης:
2α) Χεχε!!! :)

2β) Πόσταρε όλο το lts.conf σου, ακούγεται σαν να έχει κάποιο συντακτικό λάθος και να μην ενεργή η εντολή LTSP_FATCLIENT=False.
Ή, δοκίμασε μόνος σου με το παρακάτω:
getltscfg -a -c /var/lib/tftpboot/ltsp/armhf/lts.conf

Βήμα 2, εντολή 2) Το "rc" προέρχεται μάλλον από το "deb-src" που έπρεπε να είναι εκεί.
Το πιο πιθανό είναι να έχει γίνει χειρωνακτικά κάποιο λαθάκι, π.χ. με κάποιον editor (vi?) παλιότερα. Αν όχι, τότε μπορεί να σημαίνει μέχρι και σφάλμα στη μνήμη RAM ή στο δίσκο του εξυπηρετητή. Κάπως απίθανο μου ακούγεται, αλλά δεν κοστίζει και τίποτα να το ελέγξεις με την εντολή debsums, που τσεκάρει αν τα CRC των εγκατεστημένων πακέτων είναι σωστά:
Κώδικας: Bash
sudo apt-get install debsums
sudo debsums -s


Βήμα 2, εντολή 7) Αναμενόμενο είναι αυτό, λόγω του ότι σ' εκείνο το σημείο λείπει το export FLASH_KERNEL_SKIP=true, ευτυχώς που συνεχίζει μετά χωρίς πρόβλημα.

Δημήτρης Γκίνης

Βήμα 2, εντολή 2:
Επαναλαμβάνοντας τα βήματα του οδηγού, ξαναέτρεξα τις εντολές 1,2,3 από το Βήμα 1 και εμφανίστηκε πάλι το ίδιο παρότι το αρχείο ήταν διορθωμένο:
root@dimitris-Satellite:~# apt-get update
E: Ο τύπος 'b-src' στη γραμμή 2 στη λίστα πηγών /etc/apt/sources.list.d/ts_sch_gr-ppa-precise.list είναι άγνωστος 
E: Αδύνατη η ανάγνωση της λίστας πηγών.

Τα περιεχόμενα του αρχείου:
deb http://ppa.launchpad.net/ts.sch.gr/ppa/ubuntu precise main
ain
b-src http://ppa.launchpad.net/ts.sch.gr/ppa/ubuntu precise main

:-\
Ανεβάζω και το lts.conf.

Δημήτρης Γκίνης

#10
Βήμα 2, εντολή 3:
apt-get update

επιστρέφει μεταξύ άλλων:
W: GPG error: http://deb.opera.com stable Release: Οι παρακάτω υπογραφές δεν ήταν δυνατόν να επαληθευτούν επειδή δεν ήταν διαθέσιμο το δημόσιο κλειδί: NO_PUBKEY 63F7D4AFF6D61D45
W: Αποτυχία ανάκτησης του http://ppa.launchpad.net/timekiller/unity-systrayfix/ubuntu/dists/precise/main/source/Sources   404  Not Found

W: Αποτυχία ανάκτησης του http://ppa.launchpad.net/timekiller/unity-systrayfix/ubuntu/dists/precise/main/binary-i386/Packages   404  Not Found

W: Αποτυχία ανάκτησης του http://ppa.launchpad.net/ts.sch.g/ppa/ubuntu/dists/precise/main/source/Sources   404  Not Found

W: Αποτυχία ανάκτησης του http://ppa.launchpad.net/ts.sch.g/ppa/ubuntu/dists/precise/main/binary-i386/Packages   404  Not Found

E: Some index files failed to download. They have been ignored, or old ones used instead.


Βήμα 2, εντολή 7:
ltsp-build-client --arch armhf --config /etc/ltsp/ltsp-build-client-raspi2.conf

μεταξύ άλλων επιστρέφει και
...............
Σφάλμα http://ppa.launchpad.net precise/main Sources                           
  404  Not Found
Σφάλμα http://ppa.launchpad.net precise/main i386 Packages                     
  404  Not Found
Σφάλμα http://ppa.launchpad.net precise/main Sources                           
  404  Not Found
Σφάλμα http://ppa.launchpad.net precise/main i386 Packages                     
  404  Not Found
.............................................................

Παρακάτω:
Adding user pulse to group audio
invoke-rc.d: policy-rc.d denied execution of start.

(Τρέχει ακόμα...)

Α, και κάτι άλλο που θυμήθηκα: όταν το rasberry ξεκίνησε μέσω δικτύου :1) δεν είχα ήχο (μπορεί να διορθωθεί με αυτό που πρότεινε ο Άλκης)  2)Τα κoυμπιά ελέγχου των παραθύρων ήταν στα αριστερά (αυτό δεν υποτίθεται ότι το φτιάχνουν τα sch-scripts??) (μόλις τώρα πρόσεξα  προηγούμενη απάντηση του Άλκη στον Κώστα )

alkisg

#11
Δημήτρη κάτι πάει στραβά στην εγκατάστασή σου ανεξάρτητα από τα βήματα του Raspberry. Πιθανώς κάποιο αρχείο στο /etc/apt/sources.list.d να είναι τόσο χαλασμένο που να προκαλεί στη συνέχεια bugs στο add-apt-repository. Ή να είναι αυτό που έλεγα με το δίσκο. Ή να έχεις χαλασμένη μνήμη RAM, κάνε κι ένα memtest.

Π.χ. στο παρακάτω λείπει το r από το gr:
http://ppa.launchpad.net/ts.sch.g/ppa/ubuntu/dists/precise/main/source/Sources
...οπότε όταν λείπουν τυχαία γράμματα λογικό είναι μετά να διαλύονται όλα.

Υ.Γ. οπότε έλα από το IRC να το δούμε live...

Δημήτρης Γκίνης


gidarakos

Παράθεση από: alkisg στις 22 Νοε 2015, 02:45:23 ΜΜ
1) MOUNT_PACKAGE_DIR="/var/c1)ache/apt/archives"
==> έχει ξεφύγει το "1)" εκεί.
Ο δαίμων του τυπογραφείου! :o Οκ έγινε η διόρθωση.

Παράθεση από: alkisg στις 22 Νοε 2015, 02:45:23 ΜΜ
6) INIT_COMMAND_01="modprobe snd_bcm2835"
καλύτερα να γίνει
MODULE_01="snd_bcm2835"
Οκ, το άλλαξα.

gidarakos

Παράθεση από: alkisg στις 22 Νοε 2015, 02:45:23 ΜΜ
Βήμα 2, εντολή 7) Αναμενόμενο είναι αυτό, λόγω του ότι σ' εκείνο το σημείο λείπει το export FLASH_KERNEL_SKIP=true, ευτυχώς που συνεχίζει μετά χωρίς πρόβλημα.
1) Γιατί στο βήμα 2 δεν μπορούμε να χρησιμοποιήσουμε αυτή την οδηγία;

2) Κατά την εγκατάσταση του libreoffice (βήμα 3) "κολλάει" στο "Γίνεται εγκατάσταση ca-certificates-java (20130815ubuntu1) ..."
Γίνεται εγκατάσταση default-jre-headless (2:1.7-51) ...
Γίνεται εγκατάσταση openjdk-7-jre:armhf (7u85-2.6.1-5ubuntu0.14.04.1) ...
update-alternatives: using /usr/lib/jvm/java-7-openjdk-armhf/jre/bin/policytool to provide /usr/bin/policytool (policytool) in auto mode
Γίνεται εγκατάσταση default-jre (2:1.7-51) ...
Γίνεται εγκατάσταση icedtea-7-jre-jamvm:armhf (7u85-2.6.1-5ubuntu0.14.04.1) ...
Γίνεται εγκατάσταση ca-certificates-java (20130815ubuntu1) ...


το διακόπτω με ctrl+z, αλλά δεν μπορεί να συνεχίσει..
root@server:/# apt-get install libreoffice
E: Αδύνατο το κλείδωμα /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
root@server:/#


μετά από restart του server..
root@server:/# apt-get install libreoffice
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 
root@server:/#


εκτελώ την εντολή που μου προτείνει, αλλά "κολλάει" πάλι στο "Running hooks in /etc/ca-certificates/update.d...."
root@server:/# sudo dpkg --configure -a
qemu: Unsupported syscall: 374
Γίνεται εγκατάσταση libatk-wrapper-java (0.30.4-4) ...
Γίνεται εγκατάσταση ca-certificates-java (20130815ubuntu1) ...
/var/lib/dpkg/info/ca-certificates-java.postinst: line 40:  2716 Done                    echo -e "-diginotar_root_ca\n-diginotar_root_ca_pem"
      2717 Segmentation fault      (core dumped) | java -jar $JAR -storepass "$storepass"
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (os_linux_zero.cpp:285), pid=2723, tid=1090708576
#  fatal error: caught unhandled signal 11
#
# JRE version:  (7.0_85-b01) (build )
# Java VM: OpenJDK Zero VM (24.85-b03 mixed mode linux-arm )
# Derivative: IcedTea 2.6.1
# Distribution: Ubuntu 14.04 LTS, package 7u85-2.6.1-5ubuntu0.14.04.1
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# //hs_err_pid2723.log
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
#   http://icedtea.classpath.org/bugzilla
#
qemu: uncaught target signal 6 (Aborted) - core dumped
/var/lib/dpkg/info/ca-certificates-java.postinst: line 40:  2721 Done                    find /etc/ssl/certs -name \*.pem
      2722 Broken pipe             | while read filename; do
    alias=$(basename $filename .pem | tr A-Z a-z | tr -cs a-z0-9 _); alias=${alias%*_}; if [ -n "$FIXOLD" ]; then
        echo "-${alias}"; echo "-${alias}_pem";
    fi; echo "+${filename}";
done
      2723 Aborted                 (core dumped) | java -jar $JAR -storepass "$storepass"
done.
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
Processing triggers for ca-certificates (20141019ubuntu0.14.04.1) ...
Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....


διακόπτω πάλι με ctrl+z, και ξαναδοκιμάζω..
root@server:/# sudo dpkg --configure -a
qemu: Unsupported syscall: 374
Γίνεται εγκατάσταση libatk-wrapper-java-jni:armhf (0.30.4-4) ...
Γίνεται εγκατάσταση ca-certificates (20141019ubuntu0.14.04.1) ...
Γίνεται εγκατάσταση libgnome2-bin (2.32.1-4ubuntu1) ...
Γίνεται εγκατάσταση libgnome2-0:armhf (2.32.1-4ubuntu1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
Processing triggers for ca-certificates (20141019ubuntu0.14.04.1) ...
Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
Segmentation fault (core dumped)
E: /etc/ca-certificates/update.d/jks-keystore exited with code 1.
done.
root@server:/#


Αυτή τη φορά φαίνονται όλα οκ.. τυχαίο; τι μπορεί να φταίει;
Νομίζω το "κόλλημα" στο "Γίνεται εγκατάσταση ca-certificates-java (20130815ubuntu1) ...", σε άλλη δοκιμή, μου το έχει ξανακάνει..
Οι επόμενες εντολές στο βήμα 3 πήγαν οκ!