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

$FreeBSD: doc/el_GR.ISO8859-7/articles/laptop/article.sgml,v 1.9 2008/12/08 03:10:51 keramida Exp $

Το FreeBSD είναι ένα κατοχυρωμένο εμπορικό σύμβολο του FreeBSD Foundation.

Το Linux είναι ένα κατοχυρωμένα εμπορικό σύμβολο του Linus Torvalds στις Ηνωμένες Πολιτείες.

Οι λέξεις Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media, και Windows NT είναι είτε κατοχυρωμένα εμπορικά σύμβολα ή εμπορικά σύμβολα της Microsoft Corporation στις Ηνωμένες Πολιτείες και/ή σε άλλες χώρες.

Πολλές από τις λέξεις ή φράσεις οι οποίες χρησιμοποιούνται από τους κατασκευαστές ή τους πωλητές τους για να διακρίνουν τα προϊόντα τους θεωρούνται εμπορικά σύμβολα. Όπου αυτές εμφανίζονται σε αυτό το κείμενο και για όσες από αυτές γνωρίζει η Ομάδα Ανάπτυξης του FreeBSD ότι είναι πιθανόν να είναι εμπορικά σύμβολα, θα δείτε ένα από τα σύμβολα: «™» ή «®».

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


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

Αν θέλετε να επικοινωνήσετε με άλλους χρήστες που τρέχουν FreeBSD στο φορητό τους, μπορείτε να γραφτείτε και στην λίστα freebsd-mobile. Περισσότερες πληροφορίες για τη συμβατότητα του FreeBSD με φορητύς υπολογιστές θα βρείτε και στη σελίδα http://tuxmobil.org/mobile_bsd.html.


1 Το γραφικό περιβάλλον Xorg

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

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

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

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

      Option "Emulate3Buttons"
   

στο αρχείο xorg.conf, στο τμήμα InputDevice.


2 Modems

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


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

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

Οι εκδόσεις 4.X του FreeBSD έχουν υποστήριξη για 16-bit PCMCIA κάρτες. Οι εκδόσεις 5.Χ και οι νεότερες υποστηρίζουν τόσο 16-bit όσο και 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 συσκευή). Επίσης ελέγξτε ότι χρησμοποιούνται ελεύθερες περιοχές μνήμης. Αν η κάρτα σας δεν αναγνωρίζεται, τότε προσπαθήστε να αλλάξετε την περιοχή μνήμης σε κάποια άλλη επιτρεπόμενη τιμή (από αυτές που υπάρχουν στην σελίδα τεκμηρίωσης pccardc(8)).

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

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

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


4 Power management

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

Κάτι που περιπλέκει λίγο τα πράγματα είναι η ύπαρξη δύο διαφορετικών προτύπων για power management: του APM και του ACPI. Το δεύτερο έχει ως στόχο να αντικαταστήσει το πρώτο, επεκτείνοντας ταυτόχρονα τα χαρακτηριστικά του APM. Σε πολλές περιπτώσεις το ACPI το πετυχαίνει αυτό, αλλά μερικές φορές δημιουργεί και προβλήματα που δεν τα έχει το APM.

Ορισμένοι φορητοί υπολογιστές υποστηρίζουν και το APM και το ACPI. Κάποιοι άλλοι φορητοί υπολογιστές υποστηρίζουν μόνο το ένα από τα δύο. Πιθανόν να χρειαστεί να δοκιμάσετε και το APM και το ACPI, για να δείτε πιο από τα δύο υποστηρίζει καλύτερα και με πιο αξιόπιστο τρόπο τα χαρακτηριστικά power management του φορητού σας.

Σημείωση: Δεν έχει νόημα (και πολλές φορές δε γίνεται καν) να ενεργοποιήσετε ταυτόχρονα και το APM και το ACPI, ακόμη κι αν ο φορητός σας υποστηρίζει και τα δύο πρότυπα.


4.1 APM

Το APM (Advanced Power Management) BIOS παρέχει υποστήριξη για διάφορες λειτουργίες power management, όπως standby, suspend, hibernation, μείωση της ταχύτητας του επεξεργαστή, κλπ. Οι λειτουργίες APM υποστηρίζονται από τις εκδόσεις 4.Χ και 5.Χ του FreeBSD.

Για να ενεργοποιήσετε την υποστήριξη APM στον πυρήνα του FreeBSD, πρέπει να μεταγλωττίσετε τον πυρήνα σας με τις επιλογές για power management (device apm0 για το FreeBSD 4.X και device apm για το FreeBSD 5.X). Στο FreeBSD 5.Χ υπάρχει και ξεχωριστό άρθρωμα πυρήνα για το APM, το οποίο μπορείτε να φορτώσετε κατά την εκκίνηση του συστήματος προσθέτοντας στο αρχείο /boot/loader.conf τη γραμμή apm_load="YES".

Στο FreeBSD 5.X πρέπει να προσθέσετε και τη γραμμή hint.apm.0.disabled="0" στο αρχείο /boot/device.hints.

Για να ενεργοποιούνται αυτόματα οι λειτουργίες APM κατά την εκκίνηση του συστήματος πρέπει να προσθέσετε και τη γραμμή apm_enable="YES" στο αρχείο /etc/rc.conf. Στο βασικό σύστημα του FreeBSD περιλαμβάνεται και η υπηρεσία apmd(8), που ξεκινάει αυτόματα αν προσθέσετε τη γραμμή apmd_enable="YES" στο αρχείο /etc/rc.conf. Η υπηρεσία αυτή χειρίζεται τα διάφορα μηνύματα APM που στέλνει το BIOS. Μπορεί, για παράδειγμα, να βάλει το φορητό σας σε κατάσταση suspend ή να το ενεργοποιήσει πάλι με το πάτημα ενός πλήκτρου στο πληκτρολόγιο ή όταν ανοιγοκλείνετε την οθόνη του φορητού σας.

Οι εντολές APM περιγράφονται στη σελίδα βοήθειας apm(8). Για παράδειγμα, η εντολή apm -b τυπώνει πληροφορίες για την κατάσταση της μπαταρίας (ή 255 αν δεν υποστηρίζεται), η εντολή apm -Z θέτει τον φορητό σε κατάσταση standby, η εντολή apm -z (ή η εντολή zzz) θέτει τον φορητό σε κατάσταση suspend. Για να κλείσει εντελώς ο φορητός μπορείτε να δώσετε την εντολή shutdown -p. Προσοχή όμως: μερικές από αυτές τις εντολές μπορεί να μη δουλεύουν σωστά ή να μη δουλεύουν καθόλου.

Σε μερικούς φορητούς δουλεύει σωστά η αλλαγή κατάστασης σε standby ή suspend μόνο από την κονσόλα, κι όχι μέσα από το περιβάλλον X (μπορεί π.χ. η οθόνη να μην επανέρχεται σωστά). Σε αυτή την περίπτωση κι αν χρησιμοποιείτε την έκδοση 5.Χ του FreeBSD (ή κάποια νεότερη), ίσως έχει νόημα να προσθέσετε την επιλογή options SC_NO_SUSPEND_VTYSWITCH στο αρχείο ρυθμίσεων του πυρήνα σας και να μεταγλωττίσετε πάλι τον πυρήνα. Κάτι άλλο που μπορείτε να δοκιμάσετε είναι να γυρίσετε σε κατάσταση κονσόλας πριν τρέξετε το apm(8) (μπορείτε να γυρίσετε σε κατάσταση κονσόλας από το περιβάλλον Χ γράφοντας Ctrl+Alt+F1). Το εργαλείο vidcontrol(1) μπορεί να αλλάξει αυτόματα σε κατάσταση κονσόλας. Απλά προσθέστε στο αρχείο /etc/apmd.conf τις παρακάτω ρυθμίσεις:

apm_event SUSPENDREQ {
 exec "vidcontrol -s 1 < /dev/console";
 exec "/etc/rc.suspend";
}

apm_event USERSUSPENDREQ {
 exec "vidcontrol -s 1 < /dev/console";
 exec "sync && sync && sync";
 exec "sleep 1";
 exec "apm -z";
}

apm_event NORMRESUME, STANDBYRESUME {
 exec "/etc/rc.resume";
 exec "vidcontrol -s 9 < /dev/console";
}

4.2 ACPI

Το ACPI (Advanced Configuration and Power Management Interface) παρέχει λειτουργίες διαχείρισης κατάναλωσης (power management) αλλά και αναγνώρισης συσκευών συστήματος (αντικαθιστώντας το PnP και το PCI BIOS). Το FreeBSD έχει υποστήριξη για λειτουργίες ACPI από την έκδοση 5.Χ κι ύστερα, και η υποστήριξη για λειτουργίες ACPI είναι ενεργοποιημένη εξ' ορισμού. Οπότε δε χρειάζεται να κάνετε κάτι για να λειτουργήσει το ACPI. Μπορείτε να ρυθμίσετε το ACPI με το εργαλείο acpiconf(8).

Δυστυχώς, ορισμένοι κατασκευαστές πουλούν φορητούς υπολογιστές με προβληματικές υλοποιήσεις του προτύπου ACPI, οπότε μπορεί να παρουσιαστούν προβλήματα αν ενεργοποιήσετε το ACPI. Μπορεί ακόμη και να μην ξεκινάει καθόλου to FreeBSD με το ACPI ενεργοποιημένο.

Αν το ACPI σας δημιουργεί προβλήματα, κοιτάξτε αν ο κατασκευαστής του φορητού σας έχει βγάλει κάποια καινούρια έκδοση από το BIOS του φορητού σας. Η υλοποίηση του ACPI στο FreeBSD βελτιώνεται κι αυτή συνεχώς, οπότε μπορεί να έχει νόημα να αναβαθμίσετε το σύστημά σας σε πιο καινούρια έκδοση. Μπορεί κάποια από τα προβλήματα να διορθωθούν έτσι.

Αν θέλετε να απενεργοποιήσετε το ACPI, μπορείτε να προσθέσετε τη γραμμή hint.acpi.0.disabled="1" στο αρχείο /boot/device.hints. Για λιγότερο μόνιμες αλλαγές, μπορείτε να απενεργοποιήσετε προσωρινά το ACPI τρέχοντας την εντολή unset acpi_load στην προτροπή του boot loader. Στην έκδοση 5.1-RELEASE του FreeBSD και τις νεότερες εκδόσεις υπάρχει ένα μενού επιλογών εκκίνησης. Μία από τις επιλογές επιτρέπει την εκκίνηση χωρίς ACPI. Επιλέγοντας 2. Boot FreeBSD with ACPI disabled μπορείτε να ξεκινήσετε το σύστημά σας με απενεργοποιημένες όλες τις λειτουργίες ACPI.


4.3 Διαχείριση Κατανάλωσης Ισχύος της Οθόνης

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


Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την τεκμηρίωση πριν να επικοινωνήσετε με την <questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην <doc@FreeBSD.org>.