# Χρησιμοποιώντας το FreeBSD σε Φορητούς

$FreeBSD$

Το FreeBSD δουλεύει άψογα στους περισσότερους φορητούς υπολογιστές, με πολύ λίγα σημεία που χρίζουν προσοχής. Μερικά πράγματα που αφορούν το FreeBSD και τους φορητούς, σχετικά με τις διαφορές που υπάρχουν σε απαιτήσεις υλικού από τους υπολογιστές γραφείου, περιγράφονται παρακάτω.

Συχνά το FreeBSD χρησιμοποιείται σαν λειτουργικό σύστημα σε εξυπηρετητές, αλλά μπορεί το ίδιο καλά να χρησιμοποιηθεί και σε σταθμούς εργασίας, κι αν σκέφτεστε να το χρησιμοποιήσετε στον φορητό υπολογιστή σας μπορείτε να απολαμβάνετε όλα τα συνηθισμένα πλεονεκτήματα που έχει: συστηματική οργάνωση, εύκολη διαχείριση και αναβάθμιση, τα ports και τα πακέτα για εύκολη εγκατάσταση λογισμικού, κοκ. (Τα άλλα πλεονεκτήματά του, όπως η σταθερότητα, η απόδοση σε δικτυακές εφαρμογές, και η απόδοση σε συνθήκες υψηλού φόρτου, μπορεί να μην γίνονται πολύ φανερά σε ένα φορητό υπολογιστή, βέβαια.) Όμως, η εγκατάσταση σε φορητούς υπολογιστές συχνά παρουσιάζει προβλήματα τα οποία δεν εμφανίζονται σε υπολογιστές γραφείου και δεν αποτελούν συχνά θέμα συζήτησης (οι φορητοί, ακόμα περισσότερο από τους υπολογιστές γραφείου, είναι ρυθμισμένοι για να τρέχουν καλά με Microsoft Windows). Αυτό το άρθρο έχει σαν στόχο να παρουσιάσει κάποια από αυτά τα θέματα.

## Το γραφικό περιβάλλον XFree86

Οι πρόσφατες εκδόσεις των XFree86 δουλεύουν με τις περισσότερες μοντέρνες κάρτες οθόνης που χρησιμοποιούνται σε φορητούς υπολογιστές. Η επιτάχυνση (acceleration) μπορεί να μην υποστηρίζεται, αλλά μια βασική SVGA κατάσταση θά 'πρεπε να δουλεύει χωρίς προβλήματα.

Ελέγξτε την τεκμηρίωση του φορητού σας για να δείτε ποια κάρτα οθόνης έχει και μετά συμβουλευτείτε την τεκμηρίωση των XFree86 (ή το πρόγραμμα εγκατάστασης) για να δείτε αν υπάρχει υποστήριξη για την συγκεκριμένη κάρτα. Αν όχι, τότε χρησιμοποιήστε ένα βασικό οδηγό συσκευής (μην προσπαθήσετε να χρησιμοποιήσετε κάποιο οδηγό που να μοιάζει κάπως στο όνομα). Στην έκδοση 4 των XFree86, μπορείτε να δοκιμάσετε την τύχη σας με την εντολή `XFree86 -configure` που βρίσκει αυτόματα πολλές από τις σωστές ρυθμίσεις.

Το πρόβλημα είναι πολλές φορές να ρυθμιστεί σωστά η οθόνη. Συχνά η τεκμηρίωση επικεντρώνει στις CRT οθόνες. Το να βρείτε τις κατάλληλες ρυθμίσεις (modelines) για μια LCD οθόνη μπορεί να μην είναι και τόσο εύκολο. Μπορεί να είστε τυχεροί και να μην χρειάζεται να βρείτε κάποια γραμμή ρυθμίσεων για την οθόνη, ή να αρκεί απλώς να δώσετε τις σωστές τιμές στα HorizSync και VertRefresh. Αν αυτό δεν δουλέψει, η καλύτερη επιλογή που έχετε είναι να ψάξετε στο δίκτυο για πηγές σχετικές με ρύθμιση των X σε φορητούς (συχνά οι οδηγίες που υπάρχουν είναι σχετικές με το Linux, αλλά δεν έχει σημασία αφού και τα δυο συστήματα χρησιμοποιούν την ίδια έκδοση των XFree86) και να αντιγράψετε τις κατάλληλες γραμμές ρυθμίσεων που έχει στείλει κάποιος ο οποίος έχει το ίδιο υλικό.

Οι περισσότεροι φορητοί έρχονται με δυο κουμπιά στις συσκευές δείκτη που έχουν, που είναι αρκετά ενοχλητικό όταν κάποιος δουλεύει σε X (αφού το μεσαίο κουμπί είναι αυτό που συχνά χρησιμοποιείται για επικόλληση κειμένου). Μπορείτε να αντιστοιχήσετε το ταυτόχρονο πάτημα του δεξιού και αριστερού κουμπιού στις ρυθμίσεις των X σας να εξομοιώνει το πάτημα του μεσαίου κουμπιού με την γραμμή

          Option "Emulate3Buttons"

στο αρχείο XF86Config, στο τμήμα `InputDevice`. (Αυτό ισχύει για την έκδοση 4 των XFree. Για την έκδοση 3, απλά βάλτε την γραμμή `Emulate3Buttons`, χωρίς εισαγωγικά, στο τμήμα `Pointer`.)

## Modems

Οι φορητοί έρχονται συνήθως με εσωτερικά (on-board) μόντεμ. Δυστυχώς, αυτό σημαίνει πως σχεδόν πάντα είναι win-μόντεμ των οποίων η λειτουργικότητα είναι υλοποιημένη σε λογισμικό, για το οποίο οδηγοί υπάρχουν μόνο για Windows (αν και μερικοί οδηγοί έχουν αρχίσει να βγαίνουν και για άλλα λειτουργικά συστήματα). Αν το μόντεμ που έχει ο φορητός σας είναι τέτοιο, θα χρειαστεί να αγοράσετε ένα εξωτερικό μόντεμ. Η πιο καλή λύση από άποψη χώρου είναι να αγοράσετε ένα PC Card (PCMCIA) μόντεμ, που περιγράφεται παρακάτω, αλλά υπάρχουν και φτηνά USB ή σειριακά μόντεμ που μπορεί να σας κοστίσουν λιγότερο. Γενικά, τα κανονικά (όχι win-μόντεμ) μόντεμ πρέπει να δουλεύουν χωρίς κανένα πρόβλημα.

## Συσκευές PCMCIA (PC Card)

Οι πιο πολλοί φορητοί έρχονται με υποδοχές PCMCIA (γνωστές και ως PC Card). Αυτές υποστηρίζονται αρκετά καλά από το FreeBSD. Κοιτάξτε τα μηνύματα της εκκίνησης του υπολογιστή σας (χρησιμοποιώντας την εντολή `dmesg`) και δείτε αν το FreeBSD έχει βρει τις θύρες αυτές (πρέπει να εμφανίζονται σαν pccard0, pccard1 κλπ. σε συσκευές όπως ή pcic0).

Μέχρι τώρα το FreeBSD έχει υποστήριξη για 16-bit PCMCIA κάρτες, αλλά όχι 32-bit (CardBus) κάρτες. Μια λίστα από κάρτες που υποστηρίζονται υπάρχει το αρχείο `/etc/defaults/pccard.conf`. Κοιτάξτε αυτό το αρχείο, και προτιμήστε να αγοράσετε κάρτες που υπάρχουν σε αυτή τη λίστα. Οι κάρτες που δεν υπάρχουν στη λίστα, μπορεί να υποστηρίζονται σαν generic συσκευές: συγκεκριμένα τα πιο πολλά μόντεμ (16-bit) θα πρέπει να δουλεύουν μια χαρά, αρκεί να μην είναι win-μόντεμ (τέτοια μόντεμ υπάρχουν ακόμη και σαν PC Card συσκευές, γι' αυτό να προσέχετε). Αν η κάρτα σας αναγνωρίζεται σαν generic μόντεμ, σημειώστε πως το αρχείο `pccard.conf` ορίζει μια καθυστέρηση 10 δευτερολέπτων (για να αποφύγει τα κολλήματα που παθαίνουν κάποια μόντεμ). Αυτός ο χρόνος μπορεί να είναι πολύ μεγάλος για το δικό σας μόντεμ, οπότε αξίζει να πειραματιστείτε, μειώνοντάς τον ή ακόμα κι αφαιρώντας τον τελείως.

Μερικά μέρη του `pccard.conf` μπορεί να χρειάζονται διορθώσεις. Ελέγξτε την γραμμή irq, και βεβαιωθείτε ότι δεν γράφει κάποια irq γραμμή που ήδη χρησιμοποιείται από κάποια άλλη συσκευή. Πιο συγκεκριμένα, αν έχετε κάποια on-board κάρτα ήχου, αφαιρέστε την γραμμή irq 5 (αλλιώς μπορεί να κολλήσει ο φορητός σας μόλις εισάγετε μια PC Card συσκευή). Επίσης ελέγξτε ότι χρησμοποιούνται ελεύθερες περιοχές μνήμης. Αν η κάρτα σας δεν αναγνωρίζεται, τότε προσπαθήστε να αλλάξετε την περιοχή μνήμης σε κάποια άλλη επιτρεπόμενη τιμή (από αυτές που υπάρχουν στην σελίδα τεκμηρίωσης &man.pccardc.8;).

Αν δεν τρέχει ήδη, ξεκινήστε τον δαίμονα `pccardd`. (Για να ξεκινάει όταν ανοίγετε τον υπολογιστή σας, προσθέστε στο αρχείο `/etc/rc.conf` τη γραμμή

    pccard_enable="YES"

.) Τώρα οι κάρτες σας θα πρέπει να αναγνωρίζονται όταν τις βάζετε σε κάποια θύρα ή τις αφαιρείτε, και να βλέπετε μηνύματα για νέες συσκευές που ενεργοποιούνται.

Ακριβώς πριν την διανομή της έκδοσης 4.4 του FreeBSD έγιναν αρκετές αλλαγές στον κώδικα για τις PC Card συσκευές (μέσα σε αυτές ήταν και αλλαγές στον κώδικα δρομολόγησης των διακοπών ISA, για εκείνες τις μηχανές που το FreeBSD δεν μπορούσε να χρησιμοποιήσει το PCIBIOS). Αν έχετε προβλήματα με αυτή την έκδοση του FreeBSD, δοκιμάστε να την αναβαθμίσετε σε κάποια πιο καινούρια.

## Power management

Δυστυχώς, το power management δεν υποστηρίζεται πολύ καλά από το FreeBSD. Αν είστε τυχεροί, ίσως κάποιες από τις λειτουργίες να δουλεύουν αξιόπιστα. Συνήθως πάντως, δεν δουλεύουν καθόλου.

Για να ενεργοποιήσετε τέτοια χαρακτηριστικά στο FreeBSD σας, πρέπει να μεταγλωττίσετε ένα πηρύνα που να περιλαμβάνει υποστήριξη για power management (`device apm0`) ή να προσθέσετε την γραμμή `enable apm0` στο αρχείο `/boot/loader.conf`, και φυσικά ύστερα να ενεργοποιήσετε τον δαίμονα `apm` κατά την εκκίνηση του συστήματος (προσθέτοντας την γραμμή `apm_enable="YES"` στο αρχείο `/etc/rc.conf`). Η εντολή apm περιγράφεται στην manpage &man.apm.8;. Για παράδειγμα, η εντολή `apm -b` επιστρέφει πληροφορίες σχετικά με την κατάσταση της μπαταρίας, η εντολή (ή 255 αν η λειτουργία αυτή δεν υποστηρίζεται), η εντολή `apm -Z` βάζει τον φορητό υπολογιστή σε κατάσταση standby, ενώ η εντολή `apm -z` (ή zzz) τον βάζει σε κατάσταση suspend. Για να κλείσετε το μηχάνημά σας, χρησιμοποιήστε την εντολή `shutdown -p`. Και πάλι, κάποιες από αυτές τις λειτουργίες μπορεί να μην δουλεύουν πολύ καλά ή να μην δουλεύουν καθόλου. Μπορεί να δείτε ότι η κατάσταση suspend/standby μπορεί να χρησιμοποιηθεί όταν είστε σε κατάσταση κονσόλας αλλά όχι όταν τρέχουν τα X (Για παράδειγμα, η οθόνη δεν ανοίγει ξανά). Σε μια τέτοια περίπτωση, αλλάξτε την τρέχουσα κονσόλα σε κάποια άλλη εικονική κονσόλα (χρησιμοποιώντας τον συνδυασμό πλήκτρων Ctrl-Alt-F1 για παράδειγμα) και τότε τρέξτε την εντολή apm.

Το γραφικό περιβάλλον X έχει επίσης κάποιου είδους υποστήριξη για power management (διαβάστε την τεκμηρίωση της εντολής &man.xset.1;, και ψάξτε για dpms). Είναι καλή ιδέα να δοκιμάσετε να το χρησιμοποιήσετε, αλλά κι αυτό το χαρακτηριστικό των X δεν λειτουργεί πάντα σωστά. Μερικές φορές κλείνει την οθόνη αλλά δεν κλείνει το φως.