To board που είχαμε στα χέρια μας προς μελέτη στο εργαστήριο του Οικονομικού Πανεπιστημίου Αθηνών είχε προεγκατεστημένο το BIOS κλειστού κώδικα της Insyde. Καθώς η άδεια χρήσης του συγκεκριμένου λογισμικού είχε ήδη λήξει όταν επιχειρήσαμε τις πρώτες δοκιμές, αναγκαστήκαμε να προβούμε στην αντικατάστασή του με την κατάλληλη έκδοση του LinuxBIOS για τη συγκεκριμένη πλατφόρμα.
Αρχικά, κατεβάσαμε την έκδοση 86 του οlpc-devel-ext3 image από το site της redhat και με τη βοήθεια του εργαλείου ‘dd’, το μεταφέραμε σε ένα διαθέσιμο usb stick χωρητικότητος 512MB. Ακολουθώντας τις οδηγίες αναβάθμισης αλλάξαμε την ημερομηνία του συστήματος, εκκινήσαμε το board από το usb stick και τέλος εγκαταστήσαμε το linuxbios image που συνόδευε το devel image. Η διαδικασία αναβάθμισης ήταν εύκολη και διήρκησε περίπου δύο λεπτά για την ολοκλήρωσή της. Το συγκεκριμένο λογισμικό BIOS λύνει επίσης κάποια προβλήματα με το χρονισμό του ελεγκτή μνήμης ώστε να δουλεύει σωστά με τη μνήμη της εταιρείας Infineon, η οποία και συνοδεύει το board που διαθέτουμε.
Μετά την ολοκλήρωση της αναβάθμισης κάναμε shutdown το σύστημα και αφού αποσυνδέσαμε και επανασυνδέσαμε το καλώδιο τροφοδοσίας (power-cycling), εκκινήσαμε ξανά το board για να κάνουμε τις απαραίτητες ρυθμίσεις για το ασύρματο δίκτυο και φυσικά για να δοκιμάσουμε το γραφικό περιβάλλον Sugar.
Το πρώτο πράγμα που διαπιστώσαμε, ήταν η έλλειψη του firmware για το ολοκληρωμένο της Marvell που υλοποιεί την κάρτα ασύρματου δικτύου. Κατά συνέπεια, έπρεπε να συνδέσουμε το usb stick σε έναν άλλο υπολογιστή και να αντιγράψουμε το απαιτούμενο αρχείο με το firmware το οποίο και κατεβάσαμε από την ιστοσελίδα της Marvell.
Το linux ικανοποιημένο πλέον λόγς της ύπαρξης του απαιτούμενου firmware μας επέτρεψε να κάνουμε τις απαραίτητες ρυθμίσεις για να συνδεθούμε στο ασύρματο δίκτυο.Παρατηρήσαμε ότι το devel image που κατεβάσαμε δεν περιείχε την εφαρμογή ‘wpa_supplicant’ και ως εκ τούτου επιχειρήσαμε να συνδεθούμε μόνο στο ασύρματο δίκτυο του εργαστηρίου που χρησιμοποιείται από τους φοιτητές και χρησιμοποιεί WEP.
Δυστυχώς κάποιο πρόβλημα στον κώδικα που διαχειρίζεται το scaling των εικόνων στο περιβάλλον Sugar δεν μας επέτρεψε να δοκιμάσουμε τις δυνατότητές του. Στο μέλλον, θα προχωρήσουμε στην αναβάθμιση των σχετικών πακέτων μέσω του εργαλείου ‘yum’ ώστε να πειραματιστούμε με μια ανανεωμένη έκδοση του συγκεκριμένου λογισμικού.
Καθώς το devel image καταλαμβάνει 512ΜΒ, τη στιγμή που το usb stick μας έχει διαθέσιμο χώρο 1GB, το επόμενο βήμα που ακολουθήσαμε ήταν η επέκταση του filesystem του usb stick ώστε να έχουμε στη διάθεσή μας επιπλέον χώρο για να εγκαταστήσουμε πακέτα από τα fedora repositories. Η επέκταση έγινε σε ένα άλλο μηχάνημα με τη βοήθεια του εργαλείου ‘fdisk’ ως εξής:
- Κάναμε έναν προληπτικό έλεγχο στο filesystem: “fsck /dev/sda” - Εκκινήσαμε το εργαλείο fdisk με όρισμα τη συσκευή που αντιστοιχεί στο usb stick
"fdisk /dev/sda"
- Σβήσαμε το partition επιλέγοντας την εντολή ‘p’ και στη συνέχεια επιλέγοντας το πρώτο και μοναδικό partition στο stick πατώντας ‘1’ - Δημιουργούμε ένα νεο ext2 partition με μέγεθος όσο χώρο έχουμε διαθέσιμο στο usb. - Γραφουμε το partition στο usb πατώντας ‘w’
Στη συνέχεια χρησιμοποιήσαμε το εργαλείο ‘resize2fs’ για να ενημερώσουμε το παλιό partition, ώστε να χρησιμοποιεί τον επιπλέον χώρο που δεσμεύσαμε. Τέλος, κάναμε έναν τελευταίο έλεγχο στο τροποποιημένο filesystem με το εργαλείο ‘fsck’.
Μιας και δεν καταφέραμε να δοκιμάσουμε το Sugar και καθώς είχαμε στην διάθεσή μας 1GB για πειραματισμό, αποφασίσαμε να εγκαταστήσουμε το gnome 2.16 μέσω του ‘yum’. Αρχικά, έπρεπε να αναβαθμίσουμε τα πακέτα: fedora-logos και redhat-artwork χρησιμοποιώντας την εντολή:
yum -y update fedora-logos redhat-artwork
Τα συγκεκριμένα πακέτα, παρουσιάζουν προβλήματα συμβατότητας με τις ήδη εγκατεστημένες εκδόσεις με αποτέλεσμα το εργαλείο ‘yum’, να κατεβάσει μεν τα πακέτα, αλλά να αρνείται πεισματικά να τα εγκαταστήσει. Η λύση στο συγκεκριμένο πρόβλημα, συνίσταται στην χειροκίνητη αναβάθμιση απο την cache του yum με τις ακόλουθες εντολές:
cd /var/cache/yum/development/packages
rpm -Uvh --force --nodeps fedora-logos* redhat-artwork*
Καθώς οι πόροι του συστήματος που δοκιμάζαμε (κυρίως η μνήμη) ήταν περιορισμένοι, αποφασίσαμε να εγκαταστήσουμε μια μινιμαλιστική έκδοση του gnome με τις ακόλουθες εντολές:
yum -y install nautilus gedit gdm gnome-terminal gnome-panel gnome-session
Στη συνέχεια, για να ρυθμίσουμε το σύστημα να ξεκινήσει στο login screen του gnome και για να επανεκκινήσουμε το περιβάλλον X χρησιμοποιήσαμε τις παρακάτω εντολές:
cp /etc/sysconfig/desktop /etc/sysconfig/desktop.orig
echo > /etc/sysconfig/desktop
killall -HUP X
Το περιβάλλον gnome μας εντυπωσίασε με την ταχύτητα και την σταθερότητά του παρά το περιορισμένο υλικό του OLPC. Το επόμενο πείραμά μας αφορούσε την εγκατάσταση του firefox (yum install firefox) και την πλοήγηση σε διάφορες σελίδες. Σε αυτό το σημείο ήταν εμφανής η έλλειψη ενός swap partition καθώς η απόδοση του συστήματος μειώθηκε σημαντικά.
Στο επόμενο στάδιο των δοκιμών μας εξετάσαμε τη δυνατότητα αναπαραγωγής ήχου στο board με το πρόγραμμα ‘ogg123’ και τους drivers του σύστηματος ALSA. Η ποιότητα ήχου απο την αναπαραγωγή ενός αρχείου ogg ήταν αρκετά καλή (συγκρίσιμη με ενός laptop), ενώ η αποκωδικοποίηση του αρχείου χρησιμοποιούσε το 20-30% του επεξεργαστή.
Γνωρίζουμε ότι ο ελεγκτής της κάρτας γραφικών που βρίσκεται ενσωματωμένος στο geode chip, περιέργως δεν υποστηρίζει καθόλου λειτουργίες 3D, αλλά μόνο 2D. Στην προσπάθειά μας να προσεγγίσουμε τα όρια του συστήματος 2D, ενεργοποιήσαμε το ‘composite extension’ του περιβάλλοντος Χ και στη συνέχεια επιχειρήσαμε να εγκαταστήσουμε τον απαρχαιωμένο πλέον compositing manager ‘xcompmgr’. Μετά την ενεργοποίησή του, η απόδοση του συστήματος δεν επηρεάστηκε ιδιαίτερα. Όταν όμως αρχίσαμε να κάνουμε κάποια παράθυρα διαφανή με το εργαλείο ‘transset’, η απόδοση μειώθηκε δραματικά ενώ ο πυρήνας άρχισε να τερματίζει processes (oomp_kill) προκειμένου να ανακτήσει μνήμη.
Στα μελλοντικά μας σχέδια συμπεριλαμβάνεται η προσθήκη ενός usb σκληρού δίσκου αντί του usb stick που χρησιμοποιούμε ούτως ώστε να δημιουργήσουμε ένα swap partition το οποίο και θα μας λύσει το πρόβλημα με την περιορισμένη μνήμη που έχουμε στη διάθεσή μας.
Ένα μέρος τον πειραματισμών μας και τον αρχικών εντυπώσεων έχει δημοσιευτεί σε σχετικό άρθρο στην ελληνική έκδοση του περιοδικού linux format (τεύχος 12 / Νοέμβριος - Δεκέμβριος 2006)