# 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"
# 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"
sudo sh -c 'echo "username ALL=NOPASSWD: ALL" >> /etc/sudoers'
Όπου username βάζουμε το αντίστοιχο όνομα του fat client χρήστη. Αυτό θα ισχύει μέχρι να γίνει επανεκκίνηση ο fat client. (Προσωρινή λύση).sudo sh -c 'echo "%groupname ALL=NOPASSWD: ALL" >> /etc/sudoers'
Όπου groupname βάζουμε το αντίστοιχο όνομα του group. Αυτό θα ισχύει μέχρι να γίνουν επανεκκίνηση ο/οι fat client. (Προσωρινή λύση).sudo sed "/ALL=NOPASSWD/d" -i /etc/sudoers
Οι λύσεις βασίστηκαν στο Εκτέλεση εντολών στους clients με τα sch-scripts (https://alkisg.mysch.gr/steki/index.php?topic=3256.msg33534#msg33534)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Κώστα ήταν τόσο ωραία αυτά που έγραψες που πήρα το θάρρος να διαχωρίσω το μήνυμα σε νέο θέμα για να γίνει tutorial!!!Σε ευχαριστώ Άλκη! :) Όσο για το διαχωρισμό του θέματος, καλύτερα, έτσι ώστε όποιος ενδιαφέρεται να βρίσκει πιο εύκολα τον οδηγό!
Στο (3) αν θες βάλε και ό,τι λογισμικό λείπει, π.χ. το libreoffice,Ok και για τα δύο.
και στις Παρατηρήσεις ΙΙ), αντί για FAT_RAM_THRESHOLD=1500, βάλε LTSP_FATCLIENT=False.
Ευχαριστούμε και περιμένουμε παρατηρήσεις σχετικά με τις επιδόσεις των Pi 2!Να είστε καλά! :) Όσο μπορούμε να βοηθάμε, με όποιον τρόπο μπορεί ο καθένας, στην υλοποίηση λύσεων ΕΛ/ΛΑΚ.
Στο (3) αν θες βάλε και ό,τι λογισμικό λείπει, π.χ. το libreoffice,1) Εκτός από το libreoffice μηπως πρέπει να γίνουν και κάποιες ενέργειες για τα χειριστήρια των παραθύρων που εμφανίζονται αριστερά (fat client);
qemu: Unsupported syscall: 374
χωρίς όμως να σταματήσει η εγκατάσταση.2) Το apt-get install $(check-language-pack) πρέπει να γίνει μετά την εγκατάσταση του LibreOffice.Μάλλον εννοείς apt-get install $(check-language-support). Ok, πρόσθετα το libreoffice στα βήματα της εγκατάστασης, πριν τα language pack.
6) Δοκίμασε την παρακάτω εντολή στο lts.conf, στο section για τα Raspberry Pi:
INIT_COMMAND_01="modprobe snd_bcm2835"
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 τελευταίες γραμμές και επανάλαβα την εντολή (δεν έχω ιδέα πως βρέθηκαν αυτά)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!
.......................
, συνέχισε όμως κανονικά και ολοκληρώθηκε η διαδικασία
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
:-\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.
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.
(Τρέχει ακόμα...)1) MOUNT_PACKAGE_DIR="/var/c1)ache/apt/archives"Ο δαίμων του τυπογραφείου! :o Οκ έγινε η διόρθωση.
==> έχει ξεφύγει το "1)" εκεί.
6) INIT_COMMAND_01="modprobe snd_bcm2835"Οκ, το άλλαξα.
καλύτερα να γίνει
MODULE_01="snd_bcm2835"
Βήμα 2, εντολή 7) Αναμενόμενο είναι αυτό, λόγω του ότι σ' εκείνο το σημείο λείπει το export FLASH_KERNEL_SKIP=true, ευτυχώς που συνεχίζει μετά χωρίς πρόβλημα.1) Γιατί στο βήμα 2 δεν μπορούμε να χρησιμοποιήσουμε αυτή την οδηγία;
Γίνεται εγκατάσταση 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) ...
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:/#
root@server:/# apt-get install libreoffice
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
root@server:/#
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....
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:/#
Ένα γρήγορο workaround ίσως είναι το να γίνει η εγκατάσταση του libreoffice με:Όντως έτσι δεν "κολλάει" η εγκατάσταση αλλά τα μενού έχουν διαφορετική εμφάνιση, διαφορετική γραμματοσειρά.
apt-get install --no-install-recommends libreoffice
Δημήτρη κάτι πάει στραβά στην εγκατάστασή σου ανεξάρτητα από τα βήματα του Raspberry. Πιθανώς κάποιο αρχείο στο /etc/apt/sources.list.d να είναι τόσο χαλασμένο που να προκαλεί στη συνέχεια bugs στο add-apt-repository. Ή να είναι αυτό που έλεγα με το δίσκο. Ή να έχεις χαλασμένη μνήμη RAM, κάνε κι ένα memtest.1. memtest->OK
Π.χ. στο παρακάτω λείπει το r από το gr:
http://ppa.launchpad.net/ts.sch.g/ppa/ubuntu/dists/precise/main/source/Sources
...οπότε όταν λείπουν τυχαία γράμματα λογικό είναι μετά να διαλύονται όλα.
Υ.Γ. οπότε έλα από το IRC να το δούμε live...
ΥΓ: και μην αρχίσεις πάλι Άλκη :"σας το είχα πει εγώ" κλπ κλπ
Τελικά το rasberry ξεκίνησε μέσω δικτύου σαν thin. Δοκιμάσαμε να ανοίξουμε το libreoffice writer: άνοιξε, γράψαμε ελληνικά, φάνηκε ΟΚ).
5) Αλλαγή γλώσσας δεν μπορώ να κάνω με Left Alt Shift (Fat/Thin). Fat: Αλλάζει η γλώσσα μόνο με ποντίκι. Thin: Δεν μπορώ να αλλάξω γλώσσα ούτε με ποντίκι. Δεν κρατάει την επιλογή.
.. να μπορέσουμε να υλοποιήσουμε το Quick Reaction Game (https://www.raspberrypi.org/learning/python-quick-reaction-game/worksheet/).
>>> import RPi.GPIO as GPIO
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import RPi.GPIO as GPIO
ImportError: No module named RPi.GPIO
>>>
και στη προσπάθεια να το εγκαταστήσω εμφάνισε λάθη:Οπότε να ανεβάσω τις απαραίτητες αλλαγές για χτίσιμο Raspbian chroot; Ή θα κάνεις δοκιμή πρώτα τοπικά με Raspbian χωρίς LTSP; :)Α) Άλκη λογικά σε raspbian πρέπει να "παίζουν" τα διάφορα worksheets.. μέσα στις γιορτές σκέφτομαι να αγοράσω leds+resistors+buttons να κάνω καμιά δοκιμή.
Οπότε να ανεβάσω τις απαραίτητες αλλαγές για χτίσιμο Raspbian chroot;1) Δεν εννοούσες από τη μεριά του LTSP; Δηλαδή όχι τοπικά όπως αναφέρεσαι εδώ:
Β) Αμ δε, δυστυχώς το Raspberry Pi δεν περιλαμβάνει boot manager και έτσι δεν γίνεται εύκολα να επιλέξεις αν θες τοπικά ή thin ή fat. Για να γίνει αυτό, θα χρειαζόταν να προσθέσω στο LTSP δυνατότητα για μενού μέσα στο initramfs, αλλά πάει λίγο μακρυά η βαλίτσα...!Τοπικά μπορούμε όπως το κάνω, με δυο sd, μία με raspbian και μια για boot thin/fat. :)
Με την ευκαιρία, όσοι έχουν fat clients και θέλουν προσωρινά να δώσουν δικαιώματα sudo σε κάποιον χρήστη που κάθεται σε κάποιο σταθμό εργασίας, μπορούν να εκτελέσουν:Κώδικας: [Επιλογή]sudo sh -c 'echo "username ALL=NOPASSWD: ALL" >> /etc/sudoers'
Με την παραπάνω, και μέχρι να γίνει επανεκκίνηση του σταθμού εργασίας, ο χρήστης username θα μπορεί να εκτελεί οποιαδήποτε διεργασία χωρίς κωδικό, ακριβώς όπως γίνεται με το live CD του Ubuntu.
Αυτή είναι εξεζητημένη και μόνο για fat clients και δεν θα μπει στο μενού εκτέλεση! ;)
Αντίστοιχη εντολή για το group sudo, η οποία μάλιστα μπορεί να εκτελεστεί και σε όλα τα τερματικά μαζί:Κώδικας: [Επιλογή]sudo sh -c 'echo "%sudo ALL=NOPASSWD: ALL" >> /etc/sudoers'
Δεν ξέρω αν θα μπορούσαμε να χρησιμοποιήσουμε τις GPIO του Raspberry σε περιβάλλον LTSP/thin client!!! Δηλαδή π.χ. να μπορέσουμε να υλοποιήσουμε το Quick Reaction Game (https://www.raspberrypi.org/learning/python-quick-reaction-game/worksheet/).
Ειδικά τώρα που σε αρκετά δημοτικά θα πρέπει να στηθούν εργαστήρια πληροφορικής με υποτυπώδη χρηματοδότηση, ίσως να αποτελεί μία λύση........
Συνάδελφοι με τα Raspberry Pi υπάρχει σοβαρό πρόβλημα.
Είναι ακατάλληλα για σταθμοί εργασίας γενικού σκοπού, π.χ. υπολογιστές εργαστηρίου Πληροφορικής.
Δεν γίνεται καν να σερφάρεις αξιοπρεπώς με αυτά σε απλές ιστοσελίδες.
Δηλαδή για παράδειγμα αν θέλαμε να τρέξουμε project με Raspberry Pi, όταν θέλαμε να πούμε στους μαθητές να αναζητήσουν πληροφορίες για το project στο Internet, θα έπρεπε να έχουμε και ένα δεύτερο εργαστήριο με κανονικούς υπολογιστές για να μπορούν να σερφάρουν, και μετά να μεταφέρουν τις πληροφορίες που μάζεψαν στο εργαστήριο των Pi για να δουλέψουν.
Άλκη, έχεις απόλυτο δίκιο σχετικά με τα edulabs και τα RPi.
Η αποδοτικότερη λύση είναι και η πιο λογική [χαμηλού κόστους pc], αλλά υπάρχει μια ανεξήγητη εμμονή με τα RPi σε συνδυασμό με την ανάπτυξη της εκπαιδευτικής ρομποτικής.
Για μένα είναι προφανές πως οδηγούμαστε σε μια κατασπατάληση πόρων, οι οποίοι θα μπορούσαν να πιάσουν τόπο με πιο ορθολογική αξιοποίηση.