1638 lines
77 KiB
XML
1638 lines
77 KiB
XML
<?xml version="1.0" encoding="ISO-8859-7" standalone="no"?>
|
||
<!--
|
||
|
||
Το Εγχειρίδιο του FreeBSD: Ρυθμίζοντας τον Πυρήνα του FreeBSD
|
||
|
||
The FreeBSD Greek Documentation Project
|
||
|
||
$FreeBSD$
|
||
|
||
%SOURCE% en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
|
||
%SRCID% 39097
|
||
|
||
-->
|
||
|
||
<chapter id="kernelconfig">
|
||
<chapterinfo>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Jim</firstname>
|
||
<surname>Mock</surname>
|
||
<contrib>Ανανεώθηκε και αναδομήθηκε από τον </contrib>
|
||
<!-- Mar 2000 -->
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Jake</firstname>
|
||
<surname>Hamby</surname>
|
||
<contrib>Αρχική συνεισφορά από τον </contrib>
|
||
<!-- 6 Oct 1995 -->
|
||
</author>
|
||
</authorgroup>
|
||
</chapterinfo>
|
||
|
||
<title>Ρυθμίζοντας τον Πυρήνα του &os;</title>
|
||
|
||
<sect1 id="kernelconfig-synopsis">
|
||
<title>Σύνοψη</title>
|
||
|
||
<indexterm>
|
||
<primary>πυρήνας</primary>
|
||
<secondary>δημιουργία προσαρμοσμένου πυρήνα</secondary>
|
||
</indexterm>
|
||
|
||
<para>Ο πυρήνας είναι η καρδιά του λειτουργικού συστήματος &os;. Είναι
|
||
υπεύθυνος για τη διαχείριση της μνήμης, την επιβολή των ρυθμίσεων
|
||
ασφαλείας, τη δικτύωση, την πρόσβαση στο δίσκο, και πολλά άλλα. Ένα
|
||
συνεχώς αυξανόμενο μέρος του &os; μπορεί να ρυθμιστεί δυναμικά, αλλά
|
||
υπάρχουν ακόμα περιπτώσεις οι οποίες απαιτούν ρυθμίσεις και μεταγλώττιση
|
||
του πυρήνα του &os; με προσαρμοσμένες παραμέτρους.</para>
|
||
|
||
<para>Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Για ποιους λόγους μπορεί να χρειαστεί να φτιάξετε ένα
|
||
προσαρμοσμένο πυρήνα.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Πως να γράψετε ένα αρχείο ρυθμίσεων πυρήνα, ή να αλλάξετε ένα
|
||
υπάρχον αρχείο ρυθμίσεων.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Πως να χρησιμοποιήσετε το αρχείο ρυθμίσεων του πυρήνα για να
|
||
φτιάξετε και να μεταγλωττίσετε ένα νέο πυρήνα.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Πως να εγκαταστήσετε το νέο πυρήνα.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Πως να επιλύσετε τυχόν προβλήματα με το νέο πυρήνα.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Όλες οι εντολές που εμφανίζονται σε αυτό το κεφάλαιο ως παραδείγματα
|
||
πρέπει να εκτελεστούν ως <username>root</username> για να είναι
|
||
επιτυχείς.</para>
|
||
</sect1>
|
||
|
||
<sect1 id="kernelconfig-custom-kernel">
|
||
<title>Γιατί να Φτιάξετε Προσαρμοσμένο Πυρήνα;</title>
|
||
|
||
<para>Κατά παράδοση, το &os; είχε αυτό που αποκαλούμε
|
||
<quote>μονολιθικό</quote> πυρήνα. Αυτό σημαίνει ότι ο πυρήνας ήταν ένα
|
||
μεγάλο πρόγραμμα, υποστήριζε ένα σταθερό αριθμό συσκευών, και αν θέλατε
|
||
να αλλάξετε τη συμπεριφορά του, θα έπρεπε να μεταγλωττίσετε καινούριο
|
||
και να επανεκκινήσετε τον υπολογιστή σας με αυτόν.</para>
|
||
|
||
<para>Σήμερα, το &os; κινείται ταχύτατα προς ένα μοντέλο όπου οι
|
||
περισσότερες λειτουργίες του πυρήνα περιέχονται σε modules (αρθρώματα)
|
||
τα οποία μπορούν να φορτωθούν και να αποφορτωθούν κατά απαίτηση,
|
||
δυναμικά στον πυρήνα. Αυτό επιτρέπει στον πυρήνα να προσαρμόζεται
|
||
σε υλικό το οποίο ενεργοποιείται τη δεδομένη στιγμή (όπως για
|
||
παράδειγμα όταν εισέρχεται μια κάρτα PCMCIA σε ένα φορητό υπολογιστή).
|
||
Επίσης επιτρέπει στον πυρήνα να επεκτείνει δυναμικά τη λειτουργικότητά
|
||
του, προσθέτοντας χαρακτηριστικά τα οποία δεν ήταν απαραίτητα όταν
|
||
είχε μεταγλωττιστεί αρχικά. Αυτού του είδους ο πυρήνας είναι γνωστός ως
|
||
modular (αρθρωτός).</para>
|
||
|
||
<para>Παρ' όλα αυτά, είναι ακόμα απαραίτητο να γίνουν κάποιες στατικές
|
||
ρυθμίσεις στον πυρήνα. Σε ορισμένες περιπτώσεις, αυτό συμβαίνει επειδή
|
||
η συγκεκριμένη λειτουργία είναι τόσο στενά συνδεμένη με τον πυρήνα
|
||
ώστε δεν μπορεί να φορτωθεί δυναμικά. Σε άλλες, συμβαίνει επειδή απλά
|
||
κανείς δεν έχει ακόμα ασχοληθεί να γράψει ένα δυναμικό module που να
|
||
παρέχει αυτή τη λειτουργικότητα.</para>
|
||
|
||
<para>Η δημιουργία προσαρμοσμένου πυρήνα είναι από τις πλέον σημαντικές
|
||
τελετουργίες κάθε προχωρημένου χρήστη του BSD. Η διαδικασία
|
||
αυτή, αν και χρονοβόρα, θα αποβεί ιδιαίτερα ωφέλιμη για το &os; σύστημα
|
||
σας. Σε αντίθεση με τον πυρήνα <filename>GENERIC</filename>, ο οποίος
|
||
πρέπει να υποστηρίξει μεγάλο εύρος συσκευών, ένας προσαρμοσμένος πυρήνας
|
||
περιέχει υποστήριξη μόνο για το υλικό του <emphasis>δικού σας</emphasis>
|
||
υπολογιστή. Έτσι έχετε κάποια οφέλη, όπως:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Ταχύτερη εκκίνηση. Καθώς ο πυρήνας θα ανιχνεύει μόνο το υλικό
|
||
που έχετε στο σύστημα σας, ο χρόνος που χρειάζεται για την εκκίνηση
|
||
του συστήματος σας θα μειωθεί δραματικά.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Χαμηλότερη κατανάλωση μνήμης. Ένας προσαρμοσμένος πυρήνας,
|
||
συχνά χρησιμοποιεί λιγότερη μνήμη από τον
|
||
πυρήνα <filename>GENERIC</filename>, αφού απουσιάζουν από αυτόν
|
||
συσκευές και χαρακτηριστικά που δεν χρησιμοποιούνται. Αυτό είναι
|
||
σημαντικό, καθώς ο πυρήνας βρίσκεται πάντα φορτωμένος στη φυσική
|
||
μνήμη, μειώνοντας έτσι τη μνήμη που είναι διαθέσιμη για εφαρμογές.
|
||
Για το λόγο αυτό, ο προσαρμοσμένος πυρήνας είναι ιδιαίτερα χρήσιμος
|
||
σε συστήματα με μικρό μέγεθος φυσικής μνήμης (RAM).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Επιπρόσθετη υποστήριξη συσκευών. Ο προσαρμοσμένος πυρήνας σας
|
||
επιτρέπει να προσθέσετε υποστήριξη για συσκευές οι οποίες δεν
|
||
υπάρχουν στον <filename>GENERIC</filename> πυρήνα, όπως για
|
||
παράδειγμα για κάρτες ήχου.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect1>
|
||
|
||
<sect1 id="kernelconfig-devices">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Tom</firstname>
|
||
<surname>Rhodes</surname>
|
||
<contrib>Γράφηκε από τον </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
<title>Ανακαλύπτοντας τις Συσκευές του Συστήματος σας</title>
|
||
|
||
<para>Πριν ξεκινήσετε με τη ρύθμιση του πυρήνα σας, θα ήταν σκόπιμο να
|
||
κάνετε μια απογραφή υλικού του υπολογιστή σας. Σε περιπτώσεις που το
|
||
&os; δεν είναι το βασικό σας λειτουργικό σύστημα, μπορείτε εύκολα να
|
||
δημιουργήσετε αυτή τη λίστα, εξετάζοντας τις ρυθμίσεις του τρέχοντος
|
||
λειτουργικού συστήματος. Για παράδειγμα, η
|
||
<application>Διαχείριση Συσκευών (Device Manager)</application> της
|
||
µsoft; δείχνει συνήθως σημαντικές πληροφορίες σχετικά με τις
|
||
εγκατεστημένες συσκευές. Μπορείτε να βρείτε την
|
||
<application>Διαχείριση Συσκευών</application>
|
||
στον πίνακα ελέγχου.</para>
|
||
|
||
<note>
|
||
<para>Μερικές εκδόσεις των µsoft.windows; διαθέτουν ένα εικονίδιο
|
||
με τίτλο <application>Σύστημα (System)</application>. Από την οθόνη
|
||
που εμφανίζεται μπορείτε να επιλέξετε την
|
||
<application>Διαχείριση Συσκευών</application>.</para>
|
||
</note>
|
||
|
||
<para>Αν δεν υπάρχει άλλο λειτουργικό σύστημα στον υπολογιστή,
|
||
ο διαχειριστής θα πρέπει να βρει αυτές τις πληροφορίες χειροκίνητα. Μια
|
||
μέθοδος είναι με τη χρήση του βοηθητικού προγράμματος &man.dmesg.8; και
|
||
της εντολής &man.man.1;. Τα περισσότερα προγράμματα οδήγησης του &os;
|
||
διαθέτουν σελίδα manual, η οποία δείχνει το υποστηριζόμενο υλικό. Κατά
|
||
τη διάρκεια της εκκίνησης, εμφανίζεται μια λίστα με τις συσκευές που
|
||
ανιχνεύθηκαν. Για παράδειγμα, οι παρακάτω γραμμές δείχνουν ότι το
|
||
πρόγραμμα οδήγησης <devicename>psm</devicename> εντόπισε ένα
|
||
ποντίκι:</para>
|
||
|
||
<programlisting>psm0: <PS/2 Mouse> irq 12 on atkbdc0
|
||
psm0: [GIANT-LOCKED]
|
||
psm0: [ITHREAD]
|
||
psm0: model Generic PS/2 mouse, device ID 0</programlisting>
|
||
|
||
<para>Αυτό το πρόγραμμα οδήγησης θα πρέπει να περιληφθεί στο αρχείο
|
||
ρυθμίσεων του προσαρμοσμένου πυρήνα σας, ή να φορτωθεί δυναμικά μέσω
|
||
του &man.loader.conf.5;.</para>
|
||
|
||
<para>Σε ορισμένες περιπτώσεις, η έξοδος της <command>dmesg</command>
|
||
μπορεί να δείχνει μόνο τα μηνύματα του συστήματος και όχι τα
|
||
αποτελέσματα της ανίχνευσης συσκευών. Στις περιπτώσεις αυτές, μπορείτε
|
||
να δείτε την επιθυμητή έξοδο στα περιεχόμενα του αρχείου
|
||
<filename>/var/run/dmesg.boot</filename>.</para>
|
||
|
||
<para>Μια άλλη μέθοδος για την ανίχνευση του υλικού, είναι μέσω του
|
||
βοηθητικού προγράμματος &man.pciconf.8;, το οποίο παρέχει πιο αναλυτική
|
||
περιγραφή. Για παράδειγμα:</para>
|
||
|
||
<programlisting>ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
|
||
vendor = 'Atheros Communications Inc.'
|
||
device = 'AR5212 Atheros AR5212 802.11abg wireless'
|
||
class = network
|
||
subclass = ethernet</programlisting>
|
||
|
||
<para>Η παραπάνω έξοδος, που λήφθηκε μέσω της εντολής
|
||
<command>pciconf <option>-lv</option></command>, δείχνει ότι το
|
||
πρόγραμμα οδήγησης <devicename>ath</devicename> εντόπισε μια συσκευή
|
||
ασύρματου Ethernet. Μπορείτε να δείτε την αντίστοιχη σελίδα manual
|
||
του προγράμματος &man.ath.4;, χρησιμοποιώντας την εντολή
|
||
<command>man <replaceable>ath</replaceable></command>.</para>
|
||
|
||
<para>Μπορείτε επίσης να πάρετε χρήσιμες πληροφορίες από την εντολή
|
||
&man.man.1;, αν δώσετε την επιλογή <option>-k</option>. Στο παραπάνω
|
||
παράδειγμα, δίνοντας:</para>
|
||
|
||
<screen>&prompt.root; man -k <replaceable>Atheros</replaceable></screen>
|
||
|
||
<para>Θα δείτε μια λίστα από σελίδες manual που περιέχουν τη
|
||
συγκεκριμένη λέξη:</para>
|
||
|
||
<programlisting>ath(4) - Atheros IEEE 802.11 wireless network driver
|
||
ath_hal(4) - Atheros Hardware Access Layer (HAL)</programlisting>
|
||
|
||
<para>Έχοντας διαθέσιμη την απογραφή υλικού του υπολογιστή σας,
|
||
η διαδικασία δημιουργίας προσαρμοσμένου πυρήνα σίγουρα φαίνεται
|
||
λιγότερο αποθαρρυντική.</para>
|
||
</sect1>
|
||
|
||
<sect1 id="kernelconfig-modules">
|
||
<title>Προγράμματα Οδήγησης, Υποσυστήματα και Αρθρώματα (modules)</title>
|
||
<indexterm>
|
||
<primary>kernel</primary>
|
||
<secondary>drivers / modules / subsystems</secondary>
|
||
</indexterm>
|
||
|
||
<para>Πριν δημιουργήσετε ένα προσαρμοσμένο πυρήνα, θα πρέπει πρώτα να
|
||
σκεφτείτε για ποιους λόγους τον χρειάζεστε. Σε πολλές περιπτώσεις,
|
||
η υποστήριξη κάποιας συγκεκριμένης συσκευής μπορεί να επιτευχθεί με την
|
||
χρήση κάποιου αρθρώματος (module).</para>
|
||
|
||
<para>Τα αρθρώματα του πυρήνα βρίσκονται στον κατάλογο
|
||
<filename class="directory">/boot/kernel/</filename> και μπορούν να
|
||
φορτωθούν δυναμικά στον πυρήνα που εκτελείται τη δεδομένη στιγμή, με
|
||
τη χρήση της εντολής &man.kldload.8;. Τα περισσότερα, αν και όχι όλα,
|
||
τα προγράμματα οδήγησης στον πυρήνα, διατίθενται και σε μορφή
|
||
αρθρώματος· έχουν επίσης τη δική του σελίδα βοήθειας το καθένα. Για
|
||
παράδειγμα, στην προηγούμενη ενότητα, είδαμε το πρόγραμμα οδήγησης
|
||
ασύρματου Ethernet <devicename>ath</devicename>. Η σελίδα βοήθειας
|
||
για αυτή τη συσκευή αναφέρει:</para>
|
||
|
||
<programlisting>Alternatively, to load the driver as a module at boot time, place the
|
||
following line in &man.loader.conf.5;:
|
||
|
||
if_ath_load="YES"</programlisting>
|
||
|
||
<para>Όπως αναφέρεται στις οδηγίες, αν βάλετε την γραμμή
|
||
<literal>if_ath_load="YES"</literal> στο αρχείο
|
||
<filename>/boot/loader.conf</filename>, το άρθρωμα θα φορτωθεί δυναμικά
|
||
κατά την εκκίνηση του συστήματος σας.</para>
|
||
|
||
<para>Σε μερικές περιπτώσεις ωστόσο, δεν υπάρχει άρθρωμα που να σχετίζεται
|
||
με κάποιο πρόγραμμα οδήγησης. Αυτό ισχύει περισσότερο για κάποια
|
||
ιδιαίτερα υποσυστήματα και πολύ σημαντικά προγράμματα οδήγησης. Για
|
||
παράδειγμα, το πρόγραμμα οδήγησης του συστήματος αρχείων fast file
|
||
system (<acronym>FFS</acronym>) απαιτείται να είναι ενσωματωμένο στον
|
||
πυρήνα. Το ίδιο συμβαίνει και με την υποστήριξη δικτύου (INET).
|
||
Δυστυχώς, ο μόνος τρόπος για να δείτε αν ένα πρόγραμμα οδήγησης πρέπει
|
||
να είναι υποχρεωτικά ενσωματωμένο στον πυρήνα, είναι να ελέγξετε αν
|
||
υπάρχει το αντίστοιχο άρθρωμα.</para>
|
||
|
||
<warning>
|
||
<para>Είναι αρκετά εύκολο να αφαιρέσετε την υποστήριξη για κάποια
|
||
συσκευή ή άλλη επιλογή, και να καταλήξετε με ένα πυρήνα που δεν μπορεί
|
||
να ξεκινήσει. Για παράδειγμα, αν βγάλετε το πρόγραμμα οδήγησης
|
||
&man.ata.4; από το αρχείο ρυθμίσεων του πυρήνα σας, αν το σύστημα σας
|
||
χρησιμοποιεί δίσκους <acronym>ATA</acronym> δεν θα μπορεί να
|
||
ξεκινήσει. Στην περίπτωση αυτή θα πρέπει να βάλετε την αντίστοιχη
|
||
γραμμή στο αρχείο <filename>loader.conf</filename> για να φορτώσετε
|
||
το σχετικό άρθρωμα. Αν δεν είστε σίγουροι, ελέγξτε για την ύπαρξη
|
||
του αρθρώματος και απλώς αφήστε την υποστήριξη ενσωματωμένη στον
|
||
πυρήνα.</para>
|
||
</warning>
|
||
</sect1>
|
||
|
||
<sect1 id="kernelconfig-building">
|
||
<title>Δημιουργία και Εγκατάσταση Προσαρμοσμένου Πυρήνα</title>
|
||
<indexterm>
|
||
<primary>kernel</primary>
|
||
<secondary>building / installing</secondary>
|
||
</indexterm>
|
||
|
||
<note>
|
||
<para>Χρειάζεται να έχετε εγκαταστήσει όλο τον πηγαίο κώδικα του
|
||
&os; για να μεταγλωττίσετε τον πυρήνα.</para>
|
||
</note>
|
||
|
||
<para>Αρχικά, θα κάνουμε μια γρήγορη παρουσίαση του καταλόγου στον οποίο
|
||
γίνεται η μεταγλώττιση του πυρήνα. Όλοι οι κατάλογοι που θα αναφέρουμε
|
||
βρίσκονται κάτω από τον κατάλογο <filename>/usr/src/sys</filename> ο
|
||
οποίος είναι επίσης προσβάσιμος μέσω της διαδρομής
|
||
<filename>/sys</filename>. Υπάρχει εδώ ένας αριθμός υποκαταλόγων ο
|
||
οποίος αντιπροσωπεύει διαφορετικά τμήματα του πυρήνα, αλλά οι πλέον
|
||
σημαντικοί για το σκοπό μας είναι οι
|
||
<filename><replaceable>arch</replaceable>/conf</filename>, όπου θα
|
||
επεξεργαστείτε τις ρυθμίσεις για τον προσαρμοσμένο πυρήνα σας, και ο
|
||
<filename>compile</filename>, που είναι ο χώρος εργασίας στον οποίο θα
|
||
γίνει η μεταγλώττιση του. Ο <replaceable>arch</replaceable>
|
||
αντιπροσωπεύει ένα από τα <filename>i386</filename>,
|
||
<filename>amd64</filename>,
|
||
<filename>ia64</filename>, <filename>powerpc</filename>,
|
||
<filename>sparc64</filename>, ή <filename>pc98</filename>
|
||
(ένας εναλλακτικός τύπος PC, διαδεδομένος στην Ιαπωνία). Οτιδήποτε
|
||
βρίσκεται μέσα στον συγκεκριμένο κατάλογο μιας αρχιτεκτονικής,
|
||
σχετίζεται μόνο με την αρχιτεκτονική αυτή. Το υπόλοιπο του κώδικα,
|
||
είναι ανεξάρτητο από την αρχιτεκτονική και κοινό σε κάθε πλατφόρμα όπου
|
||
θα μπορούσε να μεταγλωττιστεί το &os;. Παρατηρήστε τη λογική οργάνωση
|
||
της δομής των καταλόγων, όπου κάθε υποστηριζόμενη συσκευή, σύστημα
|
||
αρχείων και επιλογή βρίσκεται στο δικό της κατάλογο.</para>
|
||
|
||
<para>Στα παραδείγματα αυτού του κεφαλαίου υποθέτουμε ότι χρησιμοποιείτε
|
||
την αρχιτεκτονική i386. Αν χρησιμοποιείτε διαφορετική αρχιτεκτονική,
|
||
θα χρειαστεί να αλλάξετε τα ονόματα των καταλόγων και διαδρομών ώστε
|
||
να συμβαδίζουν με αυτή.</para>
|
||
|
||
<note>
|
||
<para>Αν δεν υπάρχει ο κατάλογος
|
||
<filename class="directory">/usr/src/</filename> στο σύστημα σας
|
||
(ή αν είναι άδειος), τότε δεν έχετε
|
||
εγκαταστήσει τον πηγαίο κώδικα. Ο ευκολότερος τρόπος για
|
||
να εγκαταστήσετε τον πλήρη πηγαίο κώδικα, είναι να μέσω του
|
||
&man.csup.1; όπως περιγράφεται στο <xref linkend="synching"/>.
|
||
Θα πρέπει επίσης να δημιουργήσετε ένα συμβολικό δεσμό προς
|
||
τον κατάλογο <filename
|
||
class="directory">/usr/src/sys/</filename>:</para>
|
||
|
||
<screen>&prompt.root; <userinput>ln -s /usr/src/sys /sys</userinput></screen>
|
||
</note>
|
||
|
||
<para>Έπειτα, μετακινηθείτε στον κατάλογο
|
||
<filename><replaceable>arch</replaceable>/conf</filename>
|
||
και αντιγράψτε το αρχείο ρυθμίσεων <filename>GENERIC</filename> στο
|
||
όνομα το οποίο θέλετε να δώσετε στο νέο σας πυρήνα. Για παράδειγμα:
|
||
</para>
|
||
|
||
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput>
|
||
&prompt.root; <userinput>cp GENERIC <replaceable>MYKERNEL</replaceable></userinput></screen>
|
||
|
||
<para>Κατά παράδοση, το όνομα αυτό γράφεται εξ' ολοκλήρου με κεφαλαία
|
||
γράμματα και αν έχετε πολλά μηχανήματα &os; με διαφορετικό υλικό,
|
||
είναι καλή ιδέα να του δώσετε το όνομα του μηχανήματος. Για το
|
||
παράδειγμα μας, θα το αποκαλούμε
|
||
<filename><replaceable>MYKERNEL</replaceable></filename>.</para>
|
||
|
||
<tip>
|
||
<para>Δεν είναι γενικά καλή ιδέα να αποθηκεύσετε το αρχείο ρυθμίσεων σας
|
||
απευθείας στον κατάλογο <filename>/usr/src</filename>. Αν
|
||
αντιμετωπίσετε προβλήματα, ίσως μπείτε στον πειρασμό να διαγράψετε
|
||
απλώς τον κατάλογο <filename>/usr/src</filename> και να ξεκινήσετε
|
||
από την αρχή. Συνήθως λίγα δευτερόλεπτα μετά από αυτό θα
|
||
συνειδητοποιήσετε ότι έχετε επίσης διαγράψει το αρχείο ρυθμίσεων
|
||
του πυρήνα σας. Επίσης, μην επεξεργάζεστε απευθείας το αρχείο
|
||
<filename>GENERIC</filename>, καθώς μπορεί οι αλλαγές σας να χαθούν
|
||
την επόμενη φορά που θα
|
||
<link linkend="updating-upgrading">ανανεώσετε τον πηγαίο σας κώδικα</link>.
|
||
</para>
|
||
|
||
<para>Καλό θα είναι να αποθηκεύσετε το αρχείο ρυθμίσεων σε άλλο κατάλογο
|
||
και να δημιουργήσετε ένα συμβολικό δεσμό προς το αρχείο, στον κατάλογο
|
||
<filename><replaceable>i386</replaceable></filename>.</para>
|
||
|
||
<para>Για παράδειγμα:</para>
|
||
|
||
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput>
|
||
&prompt.root; <userinput>mkdir /root/kernels</userinput>
|
||
&prompt.root; <userinput>cp GENERIC /root/kernels/<replaceable>MYKERNEL</replaceable></userinput>
|
||
&prompt.root; <userinput>ln -s /root/kernels/<replaceable>MYKERNEL</replaceable></userinput></screen>
|
||
</tip>
|
||
|
||
<para>Τώρα, τροποποιήστε το αρχείο
|
||
<filename><replaceable>MYKERNEL</replaceable></filename> με τον
|
||
επεξεργαστή κειμένου που προτιμάτε. Αν ξεκινάτε μόλις τώρα, πιθανόν ο
|
||
μόνος διαθέσιμος επεξεργαστής κειμένου να είναι το
|
||
<application>vi</application>, ο οποίος είναι αρκετά πολύπλοκος για να
|
||
τον εξηγήσουμε εδώ, αλλά καλύπτεται αρκετά καλά από πλήθος βιβλίων στην
|
||
<link linkend="bibliography">βιβλιογραφία</link>. Ωστόσο, το &os;
|
||
διαθέτει επίσης ένα ευκολότερο επεξεργαστή κειμένου, τον
|
||
<application>ee</application> ο οποίος είναι η κατάλληλη επιλογή αν
|
||
είστε αρχάριος. Αλλάξτε κατά βούληση τα σχόλια στην αρχή του αρχείου
|
||
ρυθμίσεων ώστε να αντανακλούν τις αλλαγές που έχετε κάνει και οι οποίες
|
||
το διαχωρίζουν από το <filename>GENERIC</filename>.</para>
|
||
<indexterm><primary>SunOS</primary></indexterm>
|
||
|
||
<para>Αν έχετε δημιουργήσει πυρήνα στο &sunos; ή σε κάποιο άλλο
|
||
λειτουργικό σύστημα τύπου BSD, το μεγαλύτερο μέρος αυτού του αρχείου
|
||
θα σας φανεί γνωστό. Από την άλλη, αν έρχεστε από κάποιο άλλο
|
||
λειτουργικό, όπως το DOS το αρχείο ρυθμίσεων
|
||
<filename>GENERIC</filename> ίσως να σας είναι δύσκολο στην κατανόηση,
|
||
για το λόγο αυτό ακολουθήστε αργά και προσεκτικά τις περιγραφές του
|
||
τμήματος
|
||
<link linkend="kernelconfig-config">Αρχείο Ρυθμίσεων</link>.</para>
|
||
|
||
<note>
|
||
<para>Αν <link
|
||
linkend="updating-upgrading">συγχρονίσετε τον πηγαίο κώδικα</link>
|
||
με τις τελευταίες αλλαγές του &os; project, να διαβάσετε το αρχείο
|
||
<filename>/usr/src/UPDATING</filename> πριν προχωρήσετε σε οποιοδήποτε
|
||
βήμα αναβάθμισης. Το αρχείο αυτό περιγράφει πιθανά σημαντικά
|
||
προβλήματα ή περιοχές που χρειάζονται ιδιαίτερη προσοχή όσο αφορά τον
|
||
ανανεωμένο πηγαίο κώδικα. Το αρχείο
|
||
<filename>/usr/src/UPDATING</filename> ταιριάζει πάντα με την έκδοση
|
||
του πηγαίου κώδικα του &os; που έχετε, και είναι για αυτό το λόγο
|
||
πιο ενημερωμένο σε σχέση με ότι διαβάσετε στο παρόν βιβλίο.</para>
|
||
</note>
|
||
|
||
<para>Θα πρέπει τώρα να μεταγλωττίσετε τον πηγαίο κώδικα του πυρήνα.
|
||
</para>
|
||
|
||
<procedure>
|
||
<title>Μεταγλώττιση του Πυρήνα</title>
|
||
|
||
<note>
|
||
<para>Χρειάζεται να έχετε εγκαταστήσει όλο τον πηγαίο κώδικα του
|
||
&os; για να μεταγλωττίσετε τον πυρήνα.</para>
|
||
</note>
|
||
|
||
<step>
|
||
<para>Μετακινηθείτε στον κατάλογο <filename
|
||
class="directory">/usr/src</filename>:</para>
|
||
|
||
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Μεταγλωττίστε τον πυρήνα:</para>
|
||
|
||
<screen>&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Εγκαταστήστε το νέο πυρήνα:</para>
|
||
|
||
<screen>&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
|
||
</step>
|
||
</procedure>
|
||
|
||
<tip>
|
||
<para>Από προεπιλογή, όταν δημιουργείτε ένα προσαρμοσμένο πυρήνα,
|
||
δημιουργούνται επίσης και <emphasis>όλα</emphasis> τα modules
|
||
(αρθρώματα) πυρήνα. Αν θέλετε να κάνετε πιο γρήγορη ανανέωση του
|
||
πυρήνα ή να δημιουργήσετε μόνο συγκεκριμένα modules, θα πρέπει να
|
||
τροποποιήσετε το αρχείο <filename>/etc/make.conf</filename> πριν
|
||
ξεκινήσετε τη δημιουργία του πυρήνα:</para>
|
||
|
||
<programlisting>MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting>
|
||
|
||
<para>Στη μεταβλητή αυτή δίνετε μια λίστα των modules που θέλετε να
|
||
δημιουργηθούν, αντί να δημιουργηθούν όλα.</para>
|
||
|
||
<programlisting>WITHOUT_MODULES = linux acpi sound ntfs</programlisting>
|
||
|
||
<para>Στη μεταβλητή αυτή δίνετε μια λίστα βασικών (top level) modules
|
||
που θέλετε να παραλείψετε κατά τη διαδικασία δημιουργίας. Για άλλες
|
||
μεταβλητές που ίσως είναι χρήσιμες στη διαδικασία δημιουργίας πυρήνα,
|
||
δείτε τη σελίδα manual του &man.make.conf.5;.</para>
|
||
</tip>
|
||
|
||
<indexterm>
|
||
<primary><filename class="directory">/boot/kernel.old</filename></primary>
|
||
</indexterm>
|
||
|
||
<para>Ο νέος πυρήνας θα αντιγραφεί στον κατάλογο
|
||
<filename class="directory">/boot/kernel</filename> με το όνομα
|
||
<filename>/boot/kernel/kernel</filename> ενώ ο παλιός πυρήνας θα
|
||
μετακινηθεί στο <filename>/boot/kernel.old/kernel</filename>. Τερματίστε
|
||
τώρα το σύστημα σας και επανεκκινήστε για να χρησιμοποιήσετε το νέο
|
||
πυρήνα. Αν κάτι πάει στραβά, υπάρχουν κάποιες πληροφορίες για
|
||
<link linkend="kernelconfig-trouble">Αντιμετώπιση Προβλημάτων</link> που
|
||
ίσως σας φανούν χρήσιμες, στο τέλος αυτού του κεφαλαίου. Βεβαιωθείτε ότι
|
||
διαβάσατε το τμήμα που εξηγεί πως να επαναφέρετε το σύστημα σας σε
|
||
περίπτωση που ο νέος πυρήνας
|
||
<link linkend="kernelconfig-noboot">δεν εκκινεί</link>.</para>
|
||
|
||
<note>
|
||
<para>Άλλα αρχεία που σχετίζονται με τη διαδικασία εκκίνησης, όπως ο
|
||
&man.loader.8; και οι ρυθμίσεις του, βρίσκονται στον κατάλογο
|
||
<filename>/boot</filename>. Εξειδικευμένα modules ή modules τρίτων
|
||
κατασκευαστών μπορούν να τοποθετηθούν στον κατάλογο
|
||
<filename class="directory">/boot/kernel</filename>, αν και οι χρήστες
|
||
θα πρέπει να γνωρίζουν ότι είναι σημαντικό τα modules να είναι σε
|
||
συγχρονισμό με τον πυρήνα. Modules τα οποία δεν προορίζονται για
|
||
εκτέλεση με τον τρέχοντα πυρήνα, μπορούν να προκαλέσουν αστάθεια
|
||
ή εσφαλμένη λειτουργία του συστήματος σας.</para>
|
||
</note>
|
||
</sect1>
|
||
|
||
<sect1 id="kernelconfig-config">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Joel</firstname>
|
||
<surname>Dahl</surname>
|
||
<contrib>Ανανεώθηκε για το &os; </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
<title>Το Αρχείο Ρυθμίσεων</title>
|
||
<indexterm>
|
||
<primary>kernel</primary>
|
||
<secondary>NOTES</secondary>
|
||
</indexterm>
|
||
<indexterm><primary>NOTES</primary></indexterm>
|
||
<indexterm>
|
||
<primary>kernel</primary>
|
||
<secondary>configuration file</secondary>
|
||
</indexterm>
|
||
|
||
<para>Η γενική μορφή ενός αρχείου ρυθμίσεων πυρήνα, είναι αρκετά απλή.
|
||
Κάθε γραμμή περιέχει μια λέξη-κλειδί και ένα ή περισσότερα ορίσματα. Για
|
||
λόγους απλότητας, οι περισσότερες γραμμές περιέχουν μόνο ένα όρισμα.
|
||
Οτιδήποτε βρίσκεται μετά το σύμβολο <literal>#</literal> θεωρείται
|
||
σχόλιο και αγνοείται. Στα επόμενα τμήματα θα βρείτε περιγραφή για τις
|
||
λέξεις-κλειδιά, με τη σειρά που εμφανίζονται στο αρχείο ρυθμίσεων
|
||
<filename>GENERIC</filename>.
|
||
<anchor
|
||
id="kernelconfig-options"/> Για εξαντλητική λίστα των παραμέτρων και
|
||
συσκευών που εξαρτώνται από την αρχιτεκτονική, δείτε το αρχείο
|
||
<filename>NOTES</filename> το οποίο βρίσκεται στον ίδιο κατάλογο με το
|
||
αρχείο <filename>GENERIC</filename>. Για επιλογές και ρυθμίσεις που
|
||
είναι ανεξάρτητες από την αρχιτεκτονική, δείτε το αρχείο
|
||
<filename>/usr/src/sys/conf/NOTES</filename>.</para>
|
||
|
||
<para>Μπορείτε να χρησιμοποιήσετε την οδηγία
|
||
<literal>include</literal> στα αρχεία ρυθμίσεων. Η οδηγία αυτή
|
||
επιτρέπει την λογική συμπερίληψη ενός άλλου αρχείου ρυθμίσεων μέσα στο
|
||
τρέχον, κάνοντας πιο εύκολη τη συντήρηση του όταν οι αλλαγές που
|
||
χρειάζονται είναι λίγες σε σχέση με το αρχικό αρχείο. Για παράδειγμα,
|
||
αν χρειάζεστε ένα πυρήνα <filename>GENERIC</filename> με λίγες μόνο
|
||
παραπάνω επιλογές ή προγράμματα οδήγησης, μπορείτε να δημιουργήσετε ένα
|
||
μικρό αρχείο διαφορών σε σχέση με τον
|
||
<filename>GENERIC</filename>:</para>
|
||
|
||
<programlisting>include GENERIC
|
||
ident MYKERNEL
|
||
|
||
options IPFIREWALL
|
||
options DUMMYNET
|
||
options IPFIREWALL_DEFAULT_TO_ACCEPT
|
||
options IPDIVERT</programlisting>
|
||
|
||
<para>Πολλοί διαχειριστές βρίσκουν ότι αυτό το μοντέλο προσφέρει σημαντικά
|
||
πλεονεκτήματα σε σχέση με τον παραδοσιακό τρόπο συγγραφής αρχείων
|
||
ρυθμίσεων από το μηδέν: το τοπικό αρχείο ρυθμίσεων περιέχει μόνο τις
|
||
διαφορές από ένα πυρήνα <filename>GENERIC</filename>. Καθώς γίνονται
|
||
αναβαθμίσεις στο σύστημα, τα νέα χαρακτηριστικά και δυνατότητες που
|
||
προστίθενται στον <filename>GENERIC</filename> θα προστεθούν και
|
||
στον προσαρμοσμένο πυρήνα, εκτός αν το αποτρέψετε χρησιμοποιώντας το
|
||
<literal>nooptions</literal> ή το <literal>nodevice</literal>.
|
||
Το υπόλοιπο αυτού του κεφαλαίου, εξηγεί το περιεχόμενο ενός τυπικού
|
||
αρχείου ρυθμίσεων και το ρόλο που έχουν οι διάφορες επιλογές και τα
|
||
προγράμματα οδήγησης που εμφανίζονται σε αυτό.</para>
|
||
|
||
<note>
|
||
<para>Για να δημιουργήσετε ένα αρχείο το οποίο να περιέχει όλες τις
|
||
διαθέσιμες επιλογές, όπως γίνεται συνήθως για δοκιμές, εκτελέστε την
|
||
ακόλουθη εντολή ως <username>root</username>:</para>
|
||
|
||
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf && make LINT</userinput></screen>
|
||
</note>
|
||
|
||
<indexterm>
|
||
<primary>kernel</primary>
|
||
<secondary>configuration file</secondary>
|
||
</indexterm>
|
||
|
||
<para>Το παρακάτω είναι ένα παράδειγμα του αρχείου ρυθμίσεων
|
||
<filename>GENERIC</filename> με επιπρόσθετα διευκρινιστικά σχόλια όπου
|
||
είναι απαραίτητο. Το παράδειγμα θα πρέπει να ταιριάζει αρκετά καλά
|
||
με το αντίγραφο του αρχείου πού έχετε στο
|
||
<filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/GENERIC</filename>.</para>
|
||
|
||
<indexterm>
|
||
<primary>kernel options</primary>
|
||
<secondary>machine</secondary>
|
||
</indexterm>
|
||
|
||
<programlisting>machine i386</programlisting>
|
||
|
||
<para>Πρόκειται για την αρχιτεκτονική του μηχανήματος. Πρέπει να είναι
|
||
<literal>amd64</literal>,
|
||
<literal>i386</literal>, <literal>ia64</literal>,
|
||
<literal>pc98</literal>, <literal>powerpc</literal>, ή
|
||
<literal>sparc64</literal>.</para>
|
||
|
||
<indexterm>
|
||
<primary>kernel options</primary>
|
||
<secondary>cpu</secondary>
|
||
</indexterm>
|
||
<programlisting>cpu I486_CPU
|
||
cpu I586_CPU
|
||
cpu I686_CPU</programlisting>
|
||
|
||
<para>Η παραπάνω επιλογή καθορίζει τον τύπο της CPU που έχετε στο σύστημα
|
||
σας. Μπορεί να έχετε παραπάνω από μια τέτοιες γραμμές (αν για παράδειγμα
|
||
δεν είστε σίγουρος αν θα πρέπει να χρησιμοποιήσετε
|
||
<literal>I586_CPU</literal> ή <literal>I686_CPU</literal>),
|
||
αλλά για ένα προσαρμοσμένο πυρήνα είναι καλύτερα να καθορίσετε μόνο τη
|
||
CPU που έχετε. Αν δεν είστε σίγουρος για τον τύπο της CPU μπορείτε να
|
||
ελέγξετε το αρχείο <filename>/var/run/dmesg.boot</filename> για να δείτε
|
||
τα μηνύματα εκκίνησης του συστήματος σας.</para>
|
||
|
||
<indexterm>
|
||
<primary>kernel options</primary>
|
||
<secondary>ident</secondary>
|
||
</indexterm>
|
||
|
||
<programlisting>ident GENERIC</programlisting>
|
||
|
||
<para>Αυτό είναι το αναγνωριστικό όνομα του πυρήνα. Θα πρέπει να το
|
||
αλλάξετε στο όνομα που δώσατε στον πυρήνα σας, π.χ.
|
||
<literal>MYKERNEL</literal> αν έχετε ακολουθήσει τις οδηγίες από το
|
||
προηγούμενο μας παράδειγμα. Η τιμή που θα βάλετε στο αλφαριθμητικό
|
||
<literal>ident</literal> θα εκτυπώνεται όταν εκκινείτε με τον
|
||
συγκεκριμένο πυρήνα, και έτσι είναι χρήσιμο να δώσετε στο νέο πυρήνα ένα
|
||
διαφορετικό όνομα αν θέλετε να το ξεχωρίζετε από το συνηθισμένο πυρήνα
|
||
σας (αν π.χ. θέλετε να φτιάξετε ένα πειραματικό πυρήνα).</para>
|
||
|
||
<programlisting>#To statically compile in device wiring instead of /boot/device.hints
|
||
#hints "GENERIC.hints" # Default places to look for devices.</programlisting>
|
||
|
||
<para>Το αρχείο &man.device.hints.5; χρησιμοποιείται για τον καθορισμό
|
||
επιλογών που σχετίζονται με τους οδηγούς συσκευών. Η προεπιλεγμένη θέση
|
||
την οποία ελέγχει ο &man.loader.8; κατά την εκκίνηση είναι το
|
||
<filename>/boot/device.hints</filename>. Χρησιμοποιώντας την επιλογή
|
||
<literal>hints</literal> μπορείτε να ενσωματώσετε στατικά τις οδηγίες
|
||
αυτές μέσα στον πυρήνα. Στην περίπτωση αυτή δεν υπάρχει λόγος να
|
||
δημιουργήσετε το αρχείο <filename>device.hints</filename> στον κατάλογο
|
||
<filename>/boot</filename>.</para>
|
||
|
||
<!-- XXX: Add a comment here that explains when compiling hints into
|
||
the kernel is a good idea and why. -->
|
||
|
||
<programlisting>makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols</programlisting>
|
||
|
||
<para>Η φυσιολογική διαδικασία δημιουργίας του &os; περιλαμβάνει
|
||
πληροφορίες εκσφαλμάτωσης (debugging) όταν ο πυρήνας δημιουργείται με
|
||
την επιλογή <option>-g</option>, επιτρέποντας έτσι την χρήση τους όταν
|
||
δοθούν στο &man.gcc.1;.</para>
|
||
|
||
<programlisting>options SCHED_ULE # ULE scheduler</programlisting>
|
||
|
||
<para>Ο προεπιλεγμένος scheduler του &os;. Κρατήστε την επιλογή
|
||
αυτή.</para>
|
||
|
||
<programlisting>options PREEMPTION # Enable kernel thread preemption</programlisting>
|
||
|
||
<para>Επιτρέπει σε νήματα του πυρήνα να προσπεραστούν από άλλα,
|
||
υψηλότερης προτεραιότητας. Βοηθάει στην αύξηση απόκρισης του
|
||
συστήματος και επιτρέπει σε νήματα διακοπών (interrupts) να εκτελεστούν
|
||
πιο γρήγορα, αντί να μένουν σε αναμονή.</para>
|
||
|
||
<programlisting>options INET # InterNETworking</programlisting>
|
||
|
||
<para>Υποστήριξη δικτύου. Αφήστε την επιλογή αυτή ενεργοποιημένη, ακόμα
|
||
και αν δεν σκοπεύετε να συνδεθείτε σε κάποιο δίκτυο. Τα περισσότερα
|
||
προγράμματα χρειάζονται έστω και την εσωτερική (loopback) δικτύωση
|
||
(τη δυνατότητα δηλ. να κάνουν συνδέσεις δικτύου μέσα στο ίδιο σας το
|
||
μηχάνημα), καθιστώντας την επιλογή αυτή ουσιαστικά υποχρεωτική.</para>
|
||
|
||
<programlisting>options INET6 # IPv6 communications protocols</programlisting>
|
||
|
||
<para>Η επιλογή αυτή ενεργοποιεί τα πρωτόκολλα επικοινωνίας IPv6.</para>
|
||
|
||
<programlisting>options FFS # Berkeley Fast Filesystem</programlisting>
|
||
|
||
<para>Πρόκειται για το βασικό σύστημα αρχείων του σκληρού δίσκου. Αφήστε
|
||
την επιλογή αυτή ενεργοποιημένη, αν ξεκινάτε από το σκληρό δίσκο.
|
||
</para>
|
||
|
||
<programlisting>options SOFTUPDATES # Enable FFS Soft Updates support</programlisting>
|
||
|
||
<para>Η επιλογή αυτή ενεργοποιεί τα Soft Updates στον πυρήνα, το οποίο
|
||
βοηθάει την επιτάχυνση της εγγραφής στους δίσκους. Ακόμα και αν η
|
||
λειτουργία αυτή παρέχεται από τον πυρήνα, θα πρέπει επίσης να
|
||
ενεργοποιηθεί για συγκεκριμένους δίσκους. Δείτε την έξοδο της εντολής
|
||
&man.mount.8; για να δείτε αν είναι ενεργοποιημένα τα Soft Updates
|
||
στους δίσκους του συστήματος σας. Αν δεν δείτε την επιλογή
|
||
<literal>soft-updates</literal> θα χρειαστεί να την ενεργοποιήσετε με
|
||
την εντολή &man.tunefs.8; (για υπάρχοντα συστήματα αρχείων) ή
|
||
&man.newfs.8; (για νέα συστήματα αρχείων).</para>
|
||
|
||
<programlisting>options UFS_ACL # Support for access control lists</programlisting>
|
||
|
||
<para>Με την επιλογή αυτή, ενεργοποιείται η υποστήριξη του πυρήνα για
|
||
λίστες ελέγχου πρόσβασης (access control lists). Τα
|
||
<acronym>ACL</acronym>s εξαρτιούνται από τη χρήση εκτεταμένων ιδιοτήτων
|
||
και από το σύστημα αρχείων <acronym>UFS2</acronym>, και περιγράφονται
|
||
με λεπτομέρεια στο <xref linkend="fs-acl"/>. Τα <acronym>ACL</acronym>s
|
||
είναι ενεργοποιημένα από προεπιλογή, και δεν θα πρέπει να τα
|
||
απενεργοποιήσετε από τον πυρήνα αν έχουν χρησιμοποιηθεί στο παρελθόν σε
|
||
κάποιο σύστημα αρχείων, καθώς αυτό θα τα αφαιρέσει από τα αρχεία,
|
||
αλλάζοντας έτσι τον τρόπο προστασίας τους με απρόβλεπτους τρόπους.
|
||
</para>
|
||
|
||
<programlisting>options UFS_DIRHASH # Improve performance on big directories</programlisting>
|
||
|
||
<para>Με την επιλογή αυτή, περιλαμβάνονται λειτουργίες που αυξάνουν την
|
||
ταχύτητα πρόσβασης του δίσκου σε μεγάλους καταλόγους, με κόστος τη χρήση
|
||
επιπρόσθετης μνήμης. Φυσιολογικά, θα θέλετε να κρατήσετε την επιλογή
|
||
αυτή σε ένα μεγάλο εξυπηρετητή ή σταθμό εργασίας, και να την αφαιρέσετε
|
||
όταν χρησιμοποιείτε το &os; σε ένα μικρό σύστημα όπου η μνήμη είναι
|
||
περιορισμένη και η ταχύτητα πρόσβασης στο δίσκο είναι λιγότερο
|
||
σημαντική, όπως για παράδειγμα σε ένα firewall.</para>
|
||
|
||
<programlisting>options MD_ROOT # MD is a potential root device</programlisting>
|
||
|
||
<para>Με την επιλογή αυτή ενεργοποιείται η υποστήριξη χρήσης ενός
|
||
εικονικού δίσκου στη μνήμη RAM (ramdrive) για χρήση ως συσκευή root.
|
||
</para>
|
||
|
||
<indexterm>
|
||
<primary>kernel options</primary>
|
||
<secondary>NFS</secondary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary>kernel options</primary>
|
||
<secondary>NFS_ROOT</secondary>
|
||
</indexterm>
|
||
<programlisting>options NFSCLIENT # Network Filesystem Client
|
||
options NFSSERVER # Network Filesystem Server
|
||
options NFS_ROOT # NFS usable as /, requires NFSCLIENT</programlisting>
|
||
|
||
<para>Το δικτυακό σύστημα αρχείων. Αν δεν έχετε σκοπό να προσαρτήσετε
|
||
συστήματα αρχείων από άλλο εξυπηρετητή αρχείων &unix; μέσω TCP/IP,
|
||
μπορείτε να μετατρέψετε αυτές τις γραμμές σε σχόλια.</para>
|
||
|
||
<indexterm>
|
||
<primary>kernel options</primary>
|
||
<secondary>MSDOSFS</secondary>
|
||
</indexterm>
|
||
<programlisting>options MSDOSFS # MSDOS Filesystem</programlisting>
|
||
|
||
<para>Το σύστημα αρχείων του &ms-dos;. Αν δεν σκοπεύετε να προσαρτήσετε
|
||
δίσκο DOS κατά την εκκίνηση, μπορείτε με ασφάλεια να μετατρέψετε την
|
||
επιλογή αυτή σε σχόλιο. Η υποστήριξη θα φορτωθεί αυτόματα την πρώτη
|
||
φορά που θα προσαρτήσετε κατάτμηση DOS όπως περιγράψαμε παραπάνω.
|
||
Επίσης, το εξαιρετικό πρόγραμμα
|
||
<filename role="package">emulators/mtools</filename> σας επιτρέπει να
|
||
έχετε πρόσβαση σε δισκέτες DOS χωρίς να χρειάζεται να τις προσαρτήσετε
|
||
και να αποπροσαρτήσετε (και επίσης δεν απαιτεί τη χρήση του
|
||
<literal>MSDOSFS</literal>).</para>
|
||
|
||
<programlisting>options CD9660 # ISO 9660 Filesystem</programlisting>
|
||
|
||
<para>Το σύστημα αρχείων ISO 9660 για CDROM. Μετατρέψτε το σε σχόλιο αν
|
||
δεν έχετε οδηγό CDROM ή αν σπάνια προσαρτάτε CD δεδομένων (καθώς θα
|
||
φορτωθεί δυναμικά την πρώτη φορά που θα προσαρτήσετε τέτοιο CD ). Τα
|
||
μουσικά CD δεν χρειάζονται αυτό το σύστημα αρχείων.</para>
|
||
|
||
<programlisting>options PROCFS # Process filesystem (requires PSEUDOFS)</programlisting>
|
||
|
||
<para>Αυτό το σύστημα αρχείων περιέχει τις διεργασίες του συστήματος.
|
||
Πρόκειται για ένα <quote>εικονικό</quote> σύστημα αρχείων το οποίο
|
||
προσαρτάται στον κατάλογο <filename>/proc</filename> και επιτρέπει σε
|
||
προγράμματα όπως το &man.ps.1; να δίνουν περισσότερες πληροφορίες για
|
||
τις διεργασίες που εκτελούνται. Η χρήση του <literal>PROCFS</literal>
|
||
δεν απαιτείται στις περισσότερες περιπτώσεις, καθώς τα περισσότερα
|
||
εργαλεία παρακολούθησης και εκσφαλμάτωσης έχουν προσαρμοστεί να
|
||
εκτελούνται χωρίς το <literal>PROCFS</literal>. Στις νέες εγκαταστάσεις,
|
||
αυτό το σύστημα αρχείων δεν προσαρτάται από προεπιλογή.</para>
|
||
|
||
<programlisting>options PSEUDOFS # Pseudo-filesystem framework</programlisting>
|
||
|
||
<para>Πυρήνες που χρησιμοποιούν το
|
||
<literal>PROCFS</literal> πρέπει επίσης να παρέχουν υποστήριξη για το
|
||
<literal>PSEUDOFS</literal>.</para>
|
||
|
||
<programlisting>options GEOM_PART_GPT # GUID Partition Tables.</programlisting>
|
||
|
||
<para>Προσθέτει υποστήριξη για <ulink
|
||
url="http://en.wikipedia.org/wiki/GUID_Partition_Table">Πίνακα
|
||
Κατατμήσεων GUID</ulink>. Το GPT δίνει δυνατότητα ύπαρξης μεγάλου
|
||
αριθμού κατατμήσεων στο δίσκο, μέχρι 128 με τις τυπικές
|
||
ρυθμίσεις.</para>
|
||
|
||
<programlisting>options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]</programlisting>
|
||
|
||
<para>Συμβατότητα με το 4.3BSD. Αφήστε την επιλογή αυτή ενεργή: κάποια
|
||
προγράμματα θα συμπεριφέρονται παράξενα αν την απενεργοποιήσετε.</para>
|
||
|
||
<programlisting>options COMPAT_FREEBSD4 # Compatible with &os;4</programlisting>
|
||
|
||
<para>Η επιλογή αυτή απαιτείται
|
||
για την υποστήριξη εφαρμογών που έχουν μεταγλωττιστεί σε
|
||
παλιότερες εκδόσεις του &os; και οι οποίες χρησιμοποιούν παλιές
|
||
διεπαφές και κλήσεις συστήματος. Συνίσταται να υπάρχει αυτή η επιλογή
|
||
σε όλα τα συστήματα &i386; τα οποία εκτελούν παλιότερες
|
||
εφαρμογές. Αρχιτεκτονικές όπως η ia64 και η &sparc64; που άρχισαν να
|
||
υποστηρίζονται από την έκδοση 5.Χ και μετά δεν χρειάζονται αυτή την
|
||
επιλογή.</para>
|
||
|
||
<programlisting>options COMPAT_FREEBSD5 # Compatible with &os;5</programlisting>
|
||
|
||
<para>Η επιλογή αυτή απαιτείται στο για την
|
||
υποστήριξη εφαρμογών που έχουν μεταγλωττιστεί στο &os; 5.X και
|
||
χρησιμοποιούν τις αντίστοιχες κλήσεις αυτού του συστήματος.</para>
|
||
|
||
<programlisting>options COMPAT_FREEBSD6 # Compatible with &os;6</programlisting>
|
||
|
||
<para>Η επιλογή αυτή απαιτείται στο για την
|
||
υποστήριξη εφαρμογών που έχουν μεταγλωττιστεί στο &os; 6.X και
|
||
χρησιμοποιούν τις αντίστοιχες κλήσεις αυτού του συστήματος.</para>
|
||
|
||
<programlisting>options COMPAT_FREEBSD7 # Compatible with &os;75</programlisting>
|
||
|
||
<para>Η επιλογή αυτή απαιτείται στο για την
|
||
υποστήριξη εφαρμογών που έχουν μεταγλωττιστεί στο &os; 7.X και
|
||
χρησιμοποιούν τις αντίστοιχες κλήσεις αυτού του συστήματος.</para>
|
||
|
||
<programlisting>options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI</programlisting>
|
||
|
||
<para>Με την επιλογή αυτή ο πυρήνας περιμένει 5 δευτερόλεπτα πριν
|
||
ανιχνεύσει κάθε συσκευή SCSI στο σύστημα σας. Αν έχετε μόνο IDE δίσκους
|
||
μπορείτε να την αγνοήσετε, διαφορετικά μπορείτε να δοκιμάσετε να
|
||
μειώσετε τον αριθμό αυτό, για να επιταχύνετε την εκκίνηση. Φυσικά, αν το
|
||
κάνετε αυτό και ανακαλύψετε ότι το &os; έχει πρόβλημα στην αναγνώριση
|
||
των συσκευών σας, θα πρέπει να την ανεβάσετε ξανά.</para>
|
||
|
||
<programlisting>options KTRACE # ktrace(1) support</programlisting>
|
||
|
||
<para>Η επιλογή αυτή ενεργοποιεί το tracing των διεργασιών του πυρήνα, το
|
||
οποίο είναι χρήσιμο στην εκσφαλμάτωση.</para>
|
||
|
||
<programlisting>options SYSVSHM # SYSV-style shared memory</programlisting>
|
||
|
||
<para>Η επιλογή αυτή ενεργοποιεί την κοινόχρηστη μνήμη σύμφωνα με το
|
||
πρότυπο του System V. Η πλέον κοινή χρήση της, είναι η
|
||
επέκταση XSHM στα Χ η οποία χρησιμοποιείται αυτόματα από πολλές βαριές
|
||
εφαρμογές γραφικών για καλύτερη ταχύτητα. Αν χρησιμοποιείτε Χ,
|
||
σίγουρα θέλετε να περιλάβετε αυτή την επιλογή.</para>
|
||
|
||
<programlisting>options SYSVMSG # SYSV-style message queues</programlisting>
|
||
|
||
<para>Υποστήριξη για μηνύματα του System V. Η επιλογή αυτή προσθέτει
|
||
μόνο μερικές εκατοντάδες bytes στον πυρήνα.</para>
|
||
|
||
<programlisting>options SYSVSEM # SYSV-style semaphores</programlisting>
|
||
|
||
<para>Υποστήριξη σηματοφορέων του System V. Χρησιμοποιείται λιγότερο
|
||
συχνά, αλλά προσθέτει μόνο μερικές εκατοντάδες bytes στον πυρήνα.
|
||
</para>
|
||
|
||
<note>
|
||
<para>Η επιλογή <option>-p</option> της εντολής &man.ipcs.1; θα σας
|
||
δείξει ποιες διεργασίες χρησιμοποιούν κάθε μια από αυτές τις
|
||
λειτουργίες του System V.</para>
|
||
</note>
|
||
|
||
<programlisting>options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions</programlisting>
|
||
|
||
<para>Επεκτάσεις πραγματικού χρόνου (Real-time) που προστέθηκαν στο
|
||
&posix; το 1993. Χρησιμοποιείται από κάποιες εφαρμογές στη συλλογή των
|
||
ports (όπως το <application>&staroffice;</application>).</para>
|
||
|
||
<programlisting>options KBD_INSTALL_CDEV # install a CDEV entry in /dev</programlisting>
|
||
|
||
<para>Η επιλογή αυτή είναι απαραίτητη για τη δημιουργία του αρχείου
|
||
συσκευής πληκτρολογίου στον κατάλογο <filename>/dev</filename>.</para>
|
||
|
||
<programlisting>options ADAPTIVE_GIANT # Giant mutex is adaptive.</programlisting>
|
||
|
||
<para>Το Giant είναι το όνομα ενός συστήματος αμοιβαίου αποκλεισμού
|
||
(sleep mutex) το οποίο προστατεύει ένα μεγάλο αριθμό πόρων του πυρήνα.
|
||
Στις μέρες μας, αυτό θεωρείται ανεπίτρεπτο από πλευράς απόδοσης και
|
||
αντικαθίσταται με κλειδώματα τα οποία προστατεύουν συγκεκριμένους
|
||
πόρους. Η επιλογή <literal>ADAPTIVE_GIANT</literal> επιτρέπει στο Giant
|
||
να συμπεριληφθεί στο σετ των mutexes που μπορούν να εκτελεστούν
|
||
επιλεκτικά. Έτσι, αν ένα νήμα θέλει να κλειδώσει το Giant mutex, αλλά
|
||
αυτό είναι ήδη κλειδωμένο από ένα νήμα σε μια άλλη CPU, το πρώτο νήμα
|
||
θα συνεχίσει να εκτελείται, και θα περιμένει για την απελευθέρωση του
|
||
κλειδώματος. Φυσιολογικά, το νήμα θα επέστρεφε στην κατάσταση ύπνου
|
||
(sleep) και θα περίμενε για την επόμενη ευκαιρία εκτέλεσης του. Αν δεν
|
||
είστε σίγουρος, αφήστε αυτή την επιλογή ενεργή.</para>
|
||
|
||
<note>
|
||
<para>Σημειώστε ότι από το &os; 8.0-RELEASE και τις επόμενες εκδόσεις,
|
||
όλα τα mutexes έχουν από προεπιλογή τη δυνατότητα προσαρμογής, εκτός
|
||
αν έχει επίτηδες γίνει διαφορετική ρύθμιση, χρησιμοποιώντας την
|
||
επιλογή <literal>NO_ADAPTIVE_MUTEXES</literal> κατά τη μεταγλώττιση.
|
||
Το Giant έχει επίσης δυνατότητα προσαρμογής πλέον, και έτσι η
|
||
επιλογή <literal>ADAPTIVE_GIANT</literal> έχει αφαιρεθεί από το
|
||
αρχείο ρυθμίσεων πυρήνα.</para>
|
||
</note>
|
||
|
||
<indexterm>
|
||
<primary>kernel options</primary>
|
||
<secondary>SMP</secondary>
|
||
</indexterm>
|
||
<programlisting>device apic # I/O APIC</programlisting>
|
||
|
||
<para>Η συσκευή apic επιτρέπει τη χρήση του I/O APIC για την παράδοση των
|
||
interrupts (διακοπών). Η συσκευή apic μπορεί να χρησιμοποιηθεί τόσο σε
|
||
πυρήνες για ένα επεξεργαστή (UP) όσο και για πολλαπλούς (SMP), αλλά στη
|
||
δεύτερη περίπτωση είναι απαραίτητη. Προσθέστε την επιλογή
|
||
<literal>options SMP</literal> για να έχετε υποστήριξη πολλαπλών
|
||
επεξεργαστών.</para>
|
||
|
||
<note>
|
||
<para>Η συσκευή apic υπάρχει μόνο στην αρχιτεκτονική i386, η γραμμή αυτή
|
||
δεν θα πρέπει να χρησιμοποιηθεί σε άλλες αρχιτεκτονικές.</para>
|
||
</note>
|
||
|
||
<programlisting>device eisa</programlisting>
|
||
|
||
<para>Θα πρέπει να συμπεριλάβετε την επιλογή αυτή αν έχετε μητρική με
|
||
δίαυλο τύπου EISA. Ενεργοποιείται έτσι η αυτόματη ανίχνευση και ρύθμιση
|
||
όλων των συσκευών στο δίαυλο EISA.</para>
|
||
|
||
<programlisting>device pci</programlisting>
|
||
|
||
<para>Θα πρέπει να συμπεριλάβετε αυτή την επιλογή αν έχετε μητρική με
|
||
δίαυλο PCI. Ενεργοποιείται έτσι η αυτόματη ανίχνευση των καρτών PCI και
|
||
η επικοινωνία μεταξύ των διαύλων PCI και ISA.</para>
|
||
|
||
<programlisting># Floppy drives
|
||
device fdc</programlisting>
|
||
|
||
<para>Πρόκειται για τον ελεγκτή μονάδας δισκέτας.</para>
|
||
|
||
<programlisting># ATA and ATAPI devices
|
||
device ata</programlisting>
|
||
|
||
<para>Αυτός ο οδηγός υποστηρίζει όλες τις συσκευές τύπου ATA και ATAPI.
|
||
Χρειάζεστε μόνο μια καταχώρηση <literal>device ata</literal> για να
|
||
ανιχνεύσει ο πυρήνας όλες τις συσκευές ATA/ATAPI τύπου PCI στα σύγχρονα
|
||
μηχανήματα.</para>
|
||
|
||
<programlisting>device atadisk # ATA disk drives</programlisting>
|
||
|
||
<para>Η επιλογή αυτή απαιτείται μαζί με το <literal>device ata</literal>
|
||
για την υποστήριξη δίσκων ATA.</para>
|
||
|
||
<programlisting>device ataraid # ATA RAID drives</programlisting>
|
||
|
||
<para>Η επιλογή αυτή απαιτείται μαζί με το<literal>device ata</literal>
|
||
για την υποστήριξη δίσκων ATA RAID.</para>
|
||
|
||
<programlisting><anchor id="kernelconfig-atapi"/>
|
||
device atapicd # ATAPI CDROM drives</programlisting>
|
||
|
||
<para>Η επιλογή αυτή απαιτείται μαζί με το <literal>device ata</literal>
|
||
για την υποστήριξη οδηγών ATAPI CDROM.</para>
|
||
|
||
<programlisting>device atapifd # ATAPI floppy drives</programlisting>
|
||
|
||
<para>Η επιλογή αυτή απαιτείται μαζί με το <literal>device ata</literal>
|
||
για την υποστήριξη οδηγών δισκέτας ATAPI.</para>
|
||
|
||
<programlisting>device atapist # ATAPI tape drives</programlisting>
|
||
|
||
<para>Η επιλογή αυτή απαιτείται μαζί με το <literal>device ata</literal>
|
||
για την υποστήριξη μονάδων ταινίας ATAPI.</para>
|
||
|
||
<programlisting>options ATA_STATIC_ID # Static device numbering</programlisting>
|
||
|
||
<para>Με την επιλογή αυτή, ο αριθμός του ελεγκτή γίνεται στατικός. Χωρίς
|
||
αυτή, οι αριθμοί συσκευών αποδίδονται δυναμικά.</para>
|
||
|
||
<programlisting># SCSI Controllers
|
||
device ahb # EISA AHA1742 family
|
||
device ahc # AHA2940 and onboard AIC7xxx devices
|
||
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
|
||
# output. Adds ~128k to driver.
|
||
device ahd # AHA39320/29320 and onboard AIC79xx devices
|
||
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
|
||
# output. Adds ~215k to driver.
|
||
device amd # AMD 53C974 (Teckram DC-390(T))
|
||
device isp # Qlogic family
|
||
#device ispfw # Firmware for QLogic HBAs- normally a module
|
||
device mpt # LSI-Logic MPT-Fusion
|
||
#device ncr # NCR/Symbios Logic
|
||
device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
|
||
device trm # Tekram DC395U/UW/F DC315U adapters
|
||
|
||
device adv # Advansys SCSI adapters
|
||
device adw # Advansys wide SCSI adapters
|
||
device aha # Adaptec 154x SCSI adapters
|
||
device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
|
||
device bt # Buslogic/Mylex MultiMaster SCSI adapters
|
||
|
||
device ncv # NCR 53C500
|
||
device nsp # Workbit Ninja SCSI-3
|
||
device stg # TMC 18C30/18C50</programlisting>
|
||
|
||
<para>Ελεγκτές SCSI. Μπορείτε να μετατρέψετε σε σχόλιο οποιονδήποτε δεν
|
||
έχετε στο σύστημα σας. Αν το σύστημα σας έχει μόνο συσκευές IDE,
|
||
μπορείτε να αφαιρέσετε όλες τις γραμμές. Οι γραμμές τύπου
|
||
<literal>*_REG_PRETTY_PRINT</literal> χρησιμοποιούνται για να δίνουν
|
||
περισσότερες διαγνωστικές πληροφορίες για τους αντίστοιχους οδηγούς.
|
||
</para>
|
||
|
||
<programlisting># SCSI peripherals
|
||
device scbus # SCSI bus (required for SCSI)
|
||
device ch # SCSI media changers
|
||
device da # Direct Access (disks)
|
||
device sa # Sequential Access (tape etc)
|
||
device cd # CD
|
||
device pass # Passthrough device (direct SCSI access)
|
||
device ses # SCSI Environmental Services (and SAF-TE)</programlisting>
|
||
|
||
<para>Περιφερειακά SCSI. Μπορείτε και πάλι να μετατρέψετε σε σχόλιο όσες
|
||
συσκευές δεν έχετε, ή αν έχετε μόνο συσκευές IDE, μπορείτε να
|
||
αφαιρέσετε εντελώς αυτές τις γραμμές.</para>
|
||
|
||
<note>
|
||
<para>Ο οδηγός USB &man.umass.4; και κάποιοι άλλοι οδηγοί χρησιμοποιούν
|
||
το υποσύστημα SCSI αν και δεν είναι πραγματικές SCSI συσκευές. Για το
|
||
λόγο αυτό, σιγουρευτείτε ότι δεν αφαιρέσατε την υποστήριξη SCSI αν
|
||
περιλαμβάνονται τέτοιοι οδηγοί στο αρχείο ρύθμισης του πυρήνα σας.
|
||
</para>
|
||
</note>
|
||
|
||
<programlisting># RAID controllers interfaced to the SCSI subsystem
|
||
device amr # AMI MegaRAID
|
||
device arcmsr # Areca SATA II RAID
|
||
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
|
||
device ciss # Compaq Smart RAID 5*
|
||
device dpt # DPT Smartcache III, IV - See NOTES for options
|
||
device hptmv # Highpoint RocketRAID 182x
|
||
device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
|
||
device iir # Intel Integrated RAID
|
||
device ips # IBM (Adaptec) ServeRAID
|
||
device mly # Mylex AcceleRAID/eXtremeRAID
|
||
device twa # 3ware 9000 series PATA/SATA RAID
|
||
|
||
# RAID controllers
|
||
device aac # Adaptec FSA RAID
|
||
device aacp # SCSI passthrough for aac (requires CAM)
|
||
device ida # Compaq Smart RAID
|
||
device mfi # LSI MegaRAID SAS
|
||
device mlx # Mylex DAC960 family
|
||
device pst # Promise Supertrak SX6000
|
||
device twe # 3ware ATA RAID</programlisting>
|
||
|
||
<para>Υποστηριζόμενοι ελεγκτές RAID. Αν δεν έχετε κανένα από αυτούς,
|
||
μπορείτε να τους μετατρέψετε σε σχόλια ή να τους αφαιρέσετε εντελώς.
|
||
</para>
|
||
|
||
<programlisting># atkbdc0 controls both the keyboard and the PS/2 mouse
|
||
device atkbdc # AT keyboard controller</programlisting>
|
||
|
||
<para>Ο ελεγκτής πληκτρολογίου (<literal>atkbdc</literal>) παρέχει
|
||
υπηρεσίες I/O για πληκτρολόγια τύπου AT και συσκευές κατάδειξης
|
||
(ποντίκια) τύπου PS/2. Ο ελεγκτής απαιτείται για τη λειτουργία του
|
||
οδηγού πληκτρολογίου (<literal>atkbd</literal>) και του οδηγού
|
||
συσκευής κατάδειξης PS/2 (<literal>psm</literal>).</para>
|
||
|
||
<programlisting>device atkbd # AT keyboard</programlisting>
|
||
|
||
<para>Ο οδηγός <literal>atkbd</literal>, μαζί με τον ελεγκτή
|
||
<literal>atkbdc</literal>, παρέχει πρόσβαση σε πληκτρολόγιο τύπου AT 84
|
||
ή εκτεταμένου AT το οποίο συνδέεται στον ελεγκτή πληκτρολογίου.</para>
|
||
|
||
<programlisting>device psm # PS/2 mouse</programlisting>
|
||
|
||
<para>Χρησιμοποιήστε αυτή τη συσκευή αν το ποντίκι σας συνδέεται στην
|
||
θύρα PS/2.</para>
|
||
|
||
<programlisting>device kbdmux # keyboard multiplexer</programlisting>
|
||
|
||
<para>Βασική υποστήριξη πολυπλεξίας πληκτρολογίων. Αν δε σκοπεύετε να
|
||
χρησιμοποιήσετε περισσότερα από ένα πληκτρολόγια στο σύστημα σας,
|
||
μπορείτε με ασφάλεια να αφαιρέσετε αυτή τη γραμμή.</para>
|
||
|
||
<programlisting>device vga # VGA video card driver</programlisting>
|
||
|
||
<para>Το πρόγραμμα οδήγησης της κάρτας γραφικών.</para>
|
||
|
||
<programlisting>
|
||
device splash # Splash screen and screen saver support</programlisting>
|
||
|
||
<para>Γραφική οθόνη (splash) κατά την εκκίνηση! Η συσκευή αυτή
|
||
χρησιμοποιείται επίσης από τα προγράμματα προφύλαξης οθόνης (κονσόλας).
|
||
</para>
|
||
|
||
<programlisting># syscons is the default console driver, resembling an SCO console
|
||
device sc</programlisting>
|
||
|
||
<para>Ο οδηγός <literal>sc</literal> είναι ο προεπιλεγμένος οδηγός
|
||
κονσόλας και προσομοιώνει κονσόλα τύπου SCO. Καθώς τα περισσότερα
|
||
προγράμματα πλήρους οθόνης αποκτούν πρόσβαση στην κονσόλα μέσω κάποιας
|
||
βιβλιοθήκης βάσης δεδομένων τερματικών όπως το
|
||
<filename>termcap</filename>, δεν θα πρέπει να έχει σημασία αν
|
||
χρησιμοποιήσετε αυτόν τον οδηγό ή τον <literal>vt</literal> ο οποίος
|
||
είναι συμβατός με κονσόλα <literal>VT220</literal>. Μετά την είσοδο σας
|
||
στο σύστημα, θέστε την μεταβλητή <envar>TERM</envar> στην τιμή
|
||
<literal>scoansi</literal> αν κάποια προγράμματα πλήρους οθόνης έχουν
|
||
πρόβλημα όταν χρησιμοποιείται αυτή η κονσόλα.</para>
|
||
|
||
<programlisting># Enable this for the pcvt (VT220 compatible) console driver
|
||
#device vt
|
||
#options XSERVER # support for X server on a vt console
|
||
#options FAT_CURSOR # start with block cursor</programlisting>
|
||
|
||
<para>Πρόκειται για ένα οδηγό κονσόλας συμβατό με VT220, και με προς τα
|
||
πίσω συμβατότητα με VT100/102. Λειτουργεί καλά σε κάποιους φορητούς
|
||
υπολογιστές που έχουν ασυμβατότητα υλικού με τον <literal>sc</literal>.
|
||
Μετά την είσοδο σας στο σύστημα, θέστε την μεταβλητή <envar>TERM</envar>
|
||
σε <literal>vt100</literal> ή <literal>vt220</literal>. Ο οδηγός μπορεί
|
||
επίσης να αποδειχθεί χρήσιμος όταν συνδέεστε σε μεγάλο αριθμό από
|
||
διαφορετικά μηχανήματα μέσω δικτύου, όπου δεν υπάρχουν καταχωρήσεις για
|
||
τη συσκευή <literal>sc</literal> στο <filename>termcap</filename> ή
|
||
<filename>terminfo</filename> — το <literal>vt100</literal>
|
||
θα πρέπει να είναι διαθέσιμο πρακτικά σε κάθε πλατφόρμα.</para>
|
||
|
||
<programlisting>device agp</programlisting>
|
||
|
||
<para>Συμπεριλάβετε τη συσκευή αυτή αν έχετε AGP κάρτα στο σύστημα σας.
|
||
Θα ενεργοποιήσετε με αυτό τον τρόπο την υποστήριξη για AGP και AGP GART
|
||
για μητρικές που υποστηρίζουν αυτές τις λειτουργίες.</para>
|
||
|
||
<indexterm>
|
||
<primary>APM</primary>
|
||
</indexterm>
|
||
|
||
<programlisting># Power management support (see NOTES for more options)
|
||
#device apm</programlisting>
|
||
|
||
<para>Υποστήριξη Advanced Power Management (προχωρημένης διαχείρισης
|
||
ισχύος). Χρήσιμο για φορητά, αν και η επιλογή αυτή, από προεπιλογή,
|
||
είναι ανενεργή στον πυρήνα <filename>GENERIC</filename>.</para>
|
||
|
||
<programlisting># Add suspend/resume support for the i8254.
|
||
device pmtimer</programlisting>
|
||
|
||
<para>Πρόγραμμα οδήγησης μετρητή χρόνου (Timer) για συμβάντα που
|
||
σχετίζονται με διαχείριση ενέργειας όπως το APM και το ACPI.</para>
|
||
|
||
<programlisting># PCCARD (PCMCIA) support
|
||
# PCMCIA and cardbus bridge support
|
||
device cbb # cardbus (yenta) bridge
|
||
device pccard # PC Card (16-bit) bus
|
||
device cardbus # CardBus (32-bit) bus</programlisting>
|
||
|
||
<para>Υποστήριξη PCMCIA. Την χρειάζεστε αν χρησιμοποιείτε φορητό
|
||
υπολογιστή.</para>
|
||
|
||
<programlisting># Serial (COM) ports
|
||
device sio # 8250, 16[45]50 based serial ports</programlisting>
|
||
|
||
<para>Πρόκειται για τις σειριακές θύρες οι οποίες είναι γνωστές στον κόσμο
|
||
του &ms-dos;/&windows; ως θύρες <devicename>COM</devicename>.</para>
|
||
|
||
<note>
|
||
<para>Αν έχετε εσωτερικό μόντεμ στη θύρα <devicename>COM4</devicename>
|
||
και έχετε και σειριακή θύρα <devicename>COM2</devicename>, θα πρέπει
|
||
να αλλάξετε το IRQ του μόντεμ στο 2 (για περίεργους τεχνικούς λόγους,
|
||
IRQ2 = IRQ 9) για να μπορέσετε να το χρησιμοποιήσετε από το &os;. Αν
|
||
έχετε κάρτα πολλαπλών σειριακών εξόδων, ελέγξτε τη σελίδα manual του
|
||
&man.sio.4; για περισσότερες πληροφορίες σχετικά με τις σωστές τιμές
|
||
που πρέπει να προσθέσετε στο <filename>/boot/device.hints</filename>.
|
||
Κάποιες κάρτες γραφικών (ειδικά αυτές που βασίζονται σε ολοκληρωμένα
|
||
S3) χρησιμοποιούν διευθύνσεις IO μορφής <literal>0x*2e8</literal>,
|
||
και καθώς πολλές φτηνές σειριακές κάρτες δεν αποκωδικοποιούν πλήρως
|
||
τη 16 bit περιοχή διευθύνσεων, συγκρούονται με τις κάρτες αυτές,
|
||
καθιστώντας έτσι πρακτικά άχρηστη τη θύρα
|
||
<devicename>COM4</devicename>.</para>
|
||
|
||
<para>Κάθε σειριακή πόρτα χρειάζεται να έχει μια μοναδική IRQ (εκτός
|
||
αν χρησιμοποιείτε κάρτα πολλαπλών σειριακών που υποστηρίζει
|
||
κοινή χρήση interrupts), και έτσι δεν μπορούν να χρησιμοποιηθούν τα
|
||
προεπιλεγμένα interrupts για την <devicename>COM3</devicename> και την
|
||
<devicename>COM4</devicename>.</para>
|
||
</note>
|
||
|
||
<programlisting># Parallel port
|
||
device ppc</programlisting>
|
||
|
||
<para>Πρόκειται για την παράλληλη θύρα στο δίαυλο ISA.</para>
|
||
|
||
<programlisting>device ppbus # Parallel port bus (required)</programlisting>
|
||
|
||
<para>Παρέχει υποστήριξη για το δίαυλο της παράλληλης θύρας.</para>
|
||
|
||
<programlisting>device lpt # Printer</programlisting>
|
||
|
||
<para>Παρέχει υποστήριξη για εκτυπωτές παράλληλης θύρας.</para>
|
||
|
||
<note>
|
||
<para>Χρειάζεστε και τα τρία παραπάνω για να ενεργοποιήσετε την
|
||
υποστήριξη εκτυπωτή παράλληλης θύρας.</para>
|
||
</note>
|
||
|
||
<programlisting>device plip # TCP/IP over parallel</programlisting>
|
||
|
||
<para>Πρόκειται για το πρόγραμμα οδήγησης δικτύου μέσω παράλληλης θύρας.
|
||
</para>
|
||
|
||
<programlisting>device ppi # Parallel port interface device</programlisting>
|
||
|
||
<para>Πρόγραμμα I/O γενικής χρήσης (<quote>geek port</quote>) + IEEE1284
|
||
I/O.</para>
|
||
|
||
<programlisting>#device vpo # Requires scbus and da</programlisting>
|
||
|
||
<indexterm><primary>zip drive</primary></indexterm>
|
||
<para>Χρησιμοποιείται για μονάδα δισκέτας Iomega Zip. Απαιτεί υποστήριξη
|
||
από τους οδηγούς <literal>scbus</literal> και <literal>da</literal>.
|
||
Η καλύτερη απόδοση επιτυγχάνεται με θύρα σε κατάσταση λειτουργίας
|
||
EPP 1.9.</para>
|
||
|
||
<programlisting>#device puc</programlisting>
|
||
|
||
<para>Ενεργοποιήστε αυτή τη συσκευή αν έχετε μια <quote>χαζή</quote>
|
||
σειριακή ή παράλληλη PCI κάρτα η οποία υποστηρίζεται από το πρόγραμμα
|
||
οδήγησης &man.puc.4; (glue driver).</para>
|
||
|
||
<programlisting># PCI Ethernet NICs.
|
||
device de # DEC/Intel DC21x4x (<quote>Tulip</quote>)
|
||
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
|
||
device ixgb # Intel PRO/10GbE Ethernet Card
|
||
device txp # 3Com 3cR990 (<quote>Typhoon</quote>)
|
||
device vx # 3Com 3c590, 3c595 (<quote>Vortex</quote>)</programlisting>
|
||
|
||
<para>Διάφορα προγράμματα οδήγησης για PCI κάρτες δικτύου. Μετατρέψτε σε
|
||
σχόλιο ή αφαιρέστε τελείως όσες δεν υπάρχουν στο σύστημα σας.</para>
|
||
|
||
<programlisting># PCI Ethernet NICs that use the common MII bus controller code.
|
||
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
|
||
device miibus # MII bus support</programlisting>
|
||
|
||
<para>Η υποστήριξη διαύλου MII απαιτείται για κάποιες κάρτες δικτύου
|
||
Ethernet PCI 10/100, ειδικά για αυτές που χρησιμοποιούν πομποδέκτη
|
||
συμβατό με MII ή έχουν διεπαφή ελέγχου που λειτουργεί παρόμοια με τον
|
||
MII. Προσθέτοντας <literal>device miibus</literal> στο αρχείο ρύθμισης
|
||
του πυρήνα, θα έχετε υποστήριξη για το γενικό API του miibus και για
|
||
όλους τους οδηγούς PHY, συμπεριλαμβανομένου και ενός γενικού για PHYs
|
||
που δεν υποστηρίζονται από κάποιο συγκεκριμένο οδηγό.</para>
|
||
|
||
<programlisting>device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
|
||
device bfe # Broadcom BCM440x 10/100 Ethernet
|
||
device bge # Broadcom BCM570xx Gigabit Ethernet
|
||
device dc # DEC/Intel 21143 and various workalikes
|
||
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
|
||
device lge # Level 1 LXT1001 gigabit ethernet
|
||
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
|
||
device nge # NatSemi DP83820 gigabit ethernet
|
||
device nve # nVidia nForce MCP on-board Ethernet Networking
|
||
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
|
||
device re # RealTek 8139C+/8169/8169S/8110S
|
||
device rl # RealTek 8129/8139
|
||
device sf # Adaptec AIC-6915 (<quote>Starfire</quote>)
|
||
device sis # Silicon Integrated Systems SiS 900/SiS 7016
|
||
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
|
||
device ste # Sundance ST201 (D-Link DFE-550TX)
|
||
device stge # Sundance/Tamarack TC9021 gigabit Ethernet
|
||
device ti # Alteon Networks Tigon I/II gigabit Ethernet
|
||
device tl # Texas Instruments ThunderLAN
|
||
device tx # SMC EtherPower II (83c170 <quote>EPIC</quote>)
|
||
device vge # VIA VT612x gigabit ethernet
|
||
device vr # VIA Rhine, Rhine II
|
||
device wb # Winbond W89C840F
|
||
device xl # 3Com 3c90x (<quote>Boomerang</quote>, <quote>Cyclone</quote>)</programlisting>
|
||
|
||
<para>Προγράμματα οδήγησης που χρησιμοποιούν τον κώδικα του διαύλου
|
||
ελέγχου MII.</para>
|
||
|
||
<programlisting># ISA Ethernet NICs. pccard NICs included.
|
||
device cs # Crystal Semiconductor CS89x0 NIC
|
||
# 'device ed' requires 'device miibus'
|
||
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
|
||
device ex # Intel EtherExpress Pro/10 and Pro/10+
|
||
device ep # Etherlink III based cards
|
||
device fe # Fujitsu MB8696x based cards
|
||
device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
|
||
device lnc # NE2100, NE32-VL Lance Ethernet cards
|
||
device sn # SMC's 9000 series of Ethernet chips
|
||
device xe # Xircom pccard Ethernet
|
||
|
||
# ISA devices that use the old ISA shims
|
||
#device le</programlisting>
|
||
|
||
<para>Προγράμματα οδήγησης καρτών Ethernet τύπου ISA. Δείτε το αρχείο
|
||
<filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>
|
||
για λεπτομέρειες σχετικά με το ποιες κάρτες υποστηρίζονται από ποιον
|
||
οδηγό.</para>
|
||
|
||
<programlisting># Wireless NIC cards
|
||
device wlan # 802.11 support</programlisting>
|
||
|
||
<para>Γενική υποστήριξη του 802.11. Η γραμμή αυτή απαιτείται για ασύρματη
|
||
δικτύωση.</para>
|
||
|
||
<programlisting>device wlan_wep # 802.11 WEP support
|
||
device wlan_ccmp # 802.11 CCMP support
|
||
device wlan_tkip # 802.11 TKIP support</programlisting>
|
||
|
||
<para>Υποστήριξη κρυπτογράφησης για συσκευές 802.11. Οι γραμμές αυτές
|
||
χρειάζονται αν σκοπεύετε να χρησιμοποιήσετε κρυπτογράφηση και πρωτόκολλα
|
||
ασφαλείας 802.11i.</para>
|
||
|
||
<programlisting>device an # Aironet 4500/4800 802.11 wireless NICs.
|
||
device ath # Atheros pci/cardbus NIC's
|
||
device ath_hal # Atheros HAL (Hardware Access Layer)
|
||
device ath_rate_sample # SampleRate tx rate control for ath
|
||
device awi # BayStack 660 and others
|
||
device ral # Ralink Technology RT2500 wireless NICs.
|
||
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
|
||
#device wl # Older non 802.11 Wavelan wireless NIC.</programlisting>
|
||
|
||
<para>Υποστήριξη για διάφορες ασύρματες κάρτες.</para>
|
||
|
||
<programlisting># Pseudo devices
|
||
device loop # Network loopback</programlisting>
|
||
|
||
<para>Πρόκειται για τη γενική συσκευή εσωτερικού δικτύου (loopback) του
|
||
TCP/IP. Η σύνδεση μέσω telnet ή FTP στο <hostid>localhost</hostid>
|
||
(γνωστό επίσης και ως <hostid role="ipaddr">127.0.0.1</hostid>)
|
||
πραγματοποιείται μέσω αυτής της συσκευής. Η ύπαρξη αυτής της συσκευής
|
||
είναι <emphasis>υποχρεωτική</emphasis>.</para>
|
||
|
||
<programlisting>device random # Entropy device</programlisting>
|
||
|
||
<para>Κρυπτογραφικά ασφαλής γεννήτρια τυχαίων αριθμών.</para>
|
||
|
||
<programlisting>device ether # Ethernet support</programlisting>
|
||
|
||
<para>Η γραμμή <literal>ether</literal> απαιτείται μόνο αν έχετε κάρτα
|
||
δικτύου Ethernet. Περιέχει γενικό κώδικα για το πρωτόκολλο Ethernet.
|
||
</para>
|
||
|
||
<programlisting>device sl # Kernel SLIP</programlisting>
|
||
|
||
<para>Η γραμμή <literal>sl</literal> παρέχει υποστήριξη SLIP. Η υποστήριξη
|
||
αυτή έχει σχεδόν ολοκληρωτικά ξεπεραστεί από το PPP, το οποίο είναι
|
||
ευκολότερο στη ρύθμιση, υποστηρίζει καλύτερα τις συνδέσεις μέσω μόντεμ,
|
||
και παρέχει καλύτερες δυνατότητες.</para>
|
||
|
||
<programlisting>device ppp # Kernel PPP</programlisting>
|
||
|
||
<para>Η γραμμή αυτή είναι για υποστήριξη PPP μέσω του πυρήνα για
|
||
επιλογικές (dial-up) συνδέσεις. Υπάρχει επίσης μια έκδοση PPP η οποία
|
||
υλοποιείται ως εφαρμογή χρήστη (userland), χρησιμοποιεί το
|
||
<literal>tun</literal> και προσφέρει περισσότερη ευελιξία και
|
||
λειτουργίες όπως κλήση κατά απαίτηση (demand dialing).</para>
|
||
|
||
<programlisting>device tun # Packet tunnel.</programlisting>
|
||
|
||
<para>Η συσκευή αυτή χρησιμοποιείται από το πρόγραμμα PPP χρήστη
|
||
(userland). Δείτε το τμήμα <link linkend="userppp">PPP</link>
|
||
αυτού του βιβλίου για περισσότερες πληροφορίες.</para>
|
||
|
||
<programlisting><anchor id="kernelconfig-ptys"/>
|
||
device pty # Pseudo-ttys (telnet etc)</programlisting>
|
||
|
||
<para>Πρόκειται για συσκευή <quote>ψευδό-τερματικού</quote> ή προσομοίωσης
|
||
θύρας login. Χρησιμοποιείται για εισερχόμενες συνδέσεις
|
||
<command>telnet</command> και <command>rlogin</command>, από το
|
||
<application>xterm</application>, και από κάποιες άλλες εφαρμογές όπως
|
||
το <application>Emacs</application>.</para>
|
||
|
||
<programlisting>device md # Memory <quote>disks</quote></programlisting>
|
||
|
||
<para>Ψευτό-συσκευές δίσκου με χρήση μνήμης (ramdrives).</para>
|
||
|
||
<programlisting>device gif # IPv6 and IPv4 tunneling</programlisting>
|
||
|
||
<para>Η συσκευή αυτή υλοποιεί IPv6 σε IPv4 tunneling, IPv4 σε IPv6
|
||
tunneling, IPv4 σε IPv4 tunneling, και IPv6 σε IPv6 tunneling. Η συσκευή
|
||
<literal>gif</literal> <quote>αυτό-κλωνοποιείται</quote>, και δημιουργεί
|
||
τα αντίστοιχα αρχεία συσκευών όπως απαιτούνται.</para>
|
||
|
||
<programlisting>device faith # IPv6-to-IPv4 relaying (translation)</programlisting>
|
||
|
||
<para>Αυτή η ψεύδο-συσκευή συλλαμβάνει πακέτα που στέλνονται προς αυτήν
|
||
και τα ανακατευθύνει προς το δαίμονα μετάφρασης του IPv4/IPv6.</para>
|
||
|
||
<programlisting># The `bpf' device enables the Berkeley Packet Filter.
|
||
# Be aware of the administrative consequences of enabling this!
|
||
# Note that 'bpf' is required for DHCP.
|
||
device bpf # Berkeley packet filter</programlisting>
|
||
|
||
<para>Πρόκειται για το φίλτρο πακέτων Berkeley. Αυτή η ψεύδο-συσκευή
|
||
επιτρέπει σε κάρτες δικτύου να λειτουργούν σε κατάσταση promiscuous
|
||
(πλήρους ακρόασης), συλλαμβάνοντας με αυτό τον τρόπο κάθε πακέτο ενός
|
||
δικτύου (π.χ. Ethernet). Τα πακέτα αυτά μπορεί να αποθηκεύονται στο
|
||
δίσκο ή να εξετάζονται με τη βοήθεια του προγράμματος &man.tcpdump.1;.
|
||
</para>
|
||
|
||
<note>
|
||
<para>Η συσκευή &man.bpf.4; χρησιμοποιείται επίσης από το
|
||
&man.dhclient.8; για την ανάκτηση της διεύθυνσης IP της προεπιλεγμένης
|
||
πύλης κ.ο.κ. Αν χρησιμοποιείτε DHCP, αφήστε αυτή την επιλογή
|
||
ενεργοποιημένη.</para>
|
||
</note>
|
||
|
||
<programlisting># USB support
|
||
device uhci # UHCI PCI->USB interface
|
||
device ohci # OHCI PCI->USB interface
|
||
device ehci # EHCI PCI->USB interface (USB 2.0)
|
||
device usb # USB Bus (required)
|
||
#device udbp # USB Double Bulk Pipe devices
|
||
device ugen # Generic
|
||
device uhid # <quote>Human Interface Devices</quote>
|
||
device ukbd # Keyboard
|
||
device ulpt # Printer
|
||
device umass # Disks/Mass storage - Requires scbus and da
|
||
device ums # Mouse
|
||
device ural # Ralink Technology RT2500USB wireless NICs
|
||
device urio # Diamond Rio 500 MP3 player
|
||
device uscanner # Scanners
|
||
# USB Ethernet, requires mii
|
||
device aue # ADMtek USB Ethernet
|
||
device axe # ASIX Electronics USB Ethernet
|
||
device cdce # Generic USB over Ethernet
|
||
device cue # CATC USB Ethernet
|
||
device kue # Kawasaki LSI USB Ethernet
|
||
device rue # RealTek RTL8150 USB Ethernet</programlisting>
|
||
|
||
<para>Υποστήριξη για διάφορες συσκευές USB.</para>
|
||
|
||
<programlisting># FireWire support
|
||
device firewire # FireWire bus code
|
||
device sbp # SCSI over FireWire (Requires scbus and da)
|
||
device fwe # Ethernet over FireWire (non-standard!)</programlisting>
|
||
|
||
<para>Υποστήριξη για διάφορες συσκευές Firewire.</para>
|
||
|
||
<para>Για περισσότερες πληροφορίες και επιπλέον συσκευές που
|
||
υποστηρίζονται από το &os;, δείτε το αρχείο
|
||
<filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES
|
||
</filename>.</para>
|
||
|
||
<sect2>
|
||
<title>Λειτουργία με Μεγάλη Ποσότητα Μνήμης (<acronym>PAE</acronym>)</title>
|
||
<indexterm>
|
||
<primary>Physical Address Extensions
|
||
(<acronym>PAE</acronym>)</primary>
|
||
<secondary>large memory</secondary>
|
||
</indexterm>
|
||
|
||
<para>Μηχανήματα με μεγάλη ποσότητα μνήμης, χρειάζονται πρόσβαση σε
|
||
μνήμη που υπερβαίνει το όριο των 4 gigabytes των Εικονικών
|
||
Διευθύνσεων Χρήστη+Πυρήνα (User+Kernel Virtual Address,
|
||
<acronym>KVA</acronym>). Εξαιτίας αυτού του περιορισμού, η Intel
|
||
πρόσθεσε υποστήριξη για 36bit φυσικών διευθύνσεων, από τον
|
||
επεξεργαστή &pentium; Pro και μετά.</para>
|
||
|
||
<para>Η δυνατότητα Επέκτασης Φυσικών Διευθύνσεων, (Physical Address
|
||
Extension, <acronym>PAE</acronym>) των &intel; &pentium; Pro και
|
||
μεταγενέστερων CPU, επιτρέπει χρήση μνήμης ως 64 gigabytes. To &os;
|
||
παρέχει υποστήριξη για τη δυνατότητα αυτή μέσω της ρύθμισης πυρήνα
|
||
<option>PAE</option>, η οποία διατίθεται για όλες τις τρέχουσες
|
||
σταθερές εκδόσεις του &os;. Λόγω περιορισμών στην αρχιτεκτονική του
|
||
συστήματος μνήμης της Intel, δεν γίνεται διάκριση για τη μνήμη που
|
||
βρίσκεται πάνω ή κάτω από τα 4 gigabytes. Η μνήμη που εκχωρείται
|
||
πάνω από τα 4 gigabytes, απλώς προστίθεται στο μέγεθος της
|
||
διαθέσιμης μνήμης.</para>
|
||
|
||
<para>Για να ενεργοποιήσετε την υποστήριξη <acronym>PAE</acronym>
|
||
στον πυρήνα, απλώς προσθέστε την ακόλουθη γραμμή στο αρχείο
|
||
των ρυθμίσεων σας:</para>
|
||
|
||
<programlisting>options PAE</programlisting>
|
||
|
||
<note>
|
||
<para>Η υποστήριξη <acronym>PAE</acronym> στο &os; είναι διαθέσιμη
|
||
μόνο για επεξεργαστές αρχιτεκτονικής &intel; IA-32. Θα πρέπει
|
||
επίσης να σημειώσουμε ότι η υποστήριξη <acronym>PAE</acronym> στο
|
||
&os; δεν έχει δοκιμαστεί εκτεταμένα, και θα πρέπει να θεωρείται
|
||
ποιότητας beta σε σχέση με τα άλλα σταθερά χαρακτηριστικά του
|
||
&os;.</para>
|
||
</note>
|
||
|
||
<para>Η υποστήριξη <acronym>PAE</acronym> στο &os; υπόκειται σε
|
||
κάποιους περιορισμούς:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Μια διαδικασία δεν έχει πρόσβαση σε περισσότερα από 4
|
||
gigabytes χώρου VM.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Οδηγοί συσκευών που δεν χρησιμοποιούν τη διεπαφή
|
||
&man.bus.dma.9; ίσως προκαλέσουν καταστροφή δεδομένων σε ένα
|
||
<acronym>PAE</acronym> πυρήνα και για το λόγο αυτό δεν
|
||
συνίσταται η χρήση τους. Στο &os; παρέχεται ένα αρχείο
|
||
ρυθμίσεων <filename>PAE</filename> στο οποίο έχουν εξαιρεθεί
|
||
όλα τα προγράμματα οδήγησης που είναι γνωστό ότι δεν δουλεύουν
|
||
σε πυρήνα τύπου <acronym>PAE</acronym>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Κάποιες μεταβλητές συστήματος (system tunables) εξακριβώνουν
|
||
τη χρήση της μνήμης, βλέποντας το ποσό της διαθέσιμης φυσικής
|
||
μνήμης. Αυτές οι μεταβλητές μπορεί να χρησιμοποιήσουν
|
||
αδικαιολόγητα μεγάλη ποσότητα μνήμης, λόγω της φύσης του
|
||
συστήματος <acronym>PAE</acronym>. Ένα τέτοιο παράδειγμα είναι η
|
||
ρύθμιση sysctl <option>kern.maxvnodes</option> η οποία ελέγχει
|
||
το μέγιστο αριθμό vnodes που επιτρέπονται στον πυρήνα. Είναι
|
||
σκόπιμο να ρυθμίσετε αυτή και άλλες παρόμοιες παραμέτρους σε
|
||
λογικές τιμές.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Ίσως χρειαστεί να ρυθμίσετε τις εικονικές διευθύνσεις του
|
||
πυρήνα (<acronym>KVA</acronym>) ή να μειώσετε την ποσότητα
|
||
κάποιου συγκεκριμένου πόρου που έχει μεγάλη χρήση (δείτε
|
||
παραπάνω) για να αποφύγετε την εξάντληση του
|
||
<acronym>KVA</acronym>. Μπορείτε να αυξήσετε το μέγεθος του
|
||
<acronym>KVA</acronym> μέσω της επιλογής
|
||
<option>KVA_PAGES</option>.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Για λόγους σταθερότητας και απόδοσης, σας συμβουλεύουμε να
|
||
διαβάσετε τη σελίδα manual &man.tuning.7;. Επίσης η σελίδα
|
||
&man.pae.4; περιέχει ενημερωμένες πληροφορίες σχετικά με την
|
||
υποστήριξη <acronym>PAE</acronym> στο &os;.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="kernelconfig-trouble">
|
||
<title>Αν Κάτι Πάει Λάθος</title>
|
||
|
||
<para>Υπάρχουν τέσσερις κατηγορίες προβλημάτων που μπορούν να
|
||
παρουσιαστούν όταν δημιουργείτε ένα προσαρμοσμένο πυρήνα:</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Αποτυχία της εντολής <command>config</command>:</term>
|
||
|
||
<listitem>
|
||
<para>Αν η εντολή &man.config.8; αποτυγχάνει όταν της δίνετε την
|
||
περιγραφή του πυρήνα σας, έχετε κατά πάσα πιθανότητα, κάνει
|
||
κάποιο απλό λάθος. Ευτυχώς, η &man.config.8; θα σας δείξει τον
|
||
αριθμό γραμμής στον οποίο συνάντησε το πρόβλημα, και έτσι θα
|
||
μπορέσετε εύκολα να το εντοπίσετε. Για παράδειγμα, αν δείτε:
|
||
</para>
|
||
|
||
<screen>config: line 17: syntax error</screen>
|
||
|
||
<para>Βεβαιωθείτε ότι η λέξη-κλειδί στη γραμμή αυτή είναι σωστή,
|
||
συγκρίνοντας τη με την αντίστοιχη στο αρχείο
|
||
<filename>GENERIC</filename> ή σε άλλο αρχείο αναφοράς.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Αποτυχία της εντολής <command>make</command>:</term>
|
||
|
||
<listitem>
|
||
<para>Αν αποτυγχάνει η εντολή <command>make</command>, συνήθως αυτό
|
||
σημαίνει κάποιο λάθος στο αρχείο ρυθμίσεων το οποίο δεν είναι
|
||
αρκετά σοβαρό για να το καταλάβει η &man.config.8;. Κοιτάξτε ξανά
|
||
το αρχείο ρυθμίσεων σας και αν ακόμα δεν μπορείτε να εντοπίσετε το
|
||
πρόβλημα, στείλτε το μαζί με το αρχείο με mail στην
|
||
&a.questions; και θα εντοπιστεί πολύ γρήγορα.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Ο πυρήνας δεν εκκινεί:<anchor
|
||
id="kernelconfig-noboot"/></term>
|
||
|
||
<listitem>
|
||
<para>Αν ο νέος σας πυρήνας δεν εκκινεί ή αποτυγχάνει να αναγνωρίσει
|
||
τις συσκευές σας, μην πανικοβάλλεστε! Ευτυχώς, το &os; έχει ένα
|
||
εξαιρετικό μηχανισμό για να επανέλθετε από μη-συμβατούς πυρήνες.
|
||
Απλώς επιλέξτε τον πυρήνα από τον οποίο θέλετε να ξεκινήσετε μέσω
|
||
του συστήματος εκκίνησης (boot loader) του &os;. Έχετε πρόσβαση
|
||
σε αυτό, την ώρα που εμφανίζεται το μενού επιλογών εκκίνησης.
|
||
Επιλέξτε <quote>Escape to a loader prompt</quote>, αριθμός έξι.
|
||
Στην προτροπή που εμφανίζεται, γράψτε την εντολή
|
||
<command>boot <replaceable>kernel.old</replaceable></command>
|
||
ή το όνομα αρχείου ενός άλλου πυρήνα που ξεκινάει
|
||
κανονικά. Όταν φτιάχνετε ένα νέο πυρήνα, είναι πάντα καλή ιδέα
|
||
να έχετε πρόχειρο ένα πυρήνα που ξέρετε ότι δουλεύει.</para>
|
||
|
||
<para>Αφού εκκινήσετε με ένα καλό πυρήνα, μπορείτε να ελέγξετε το
|
||
αρχείο ρυθμίσεων σας από την αρχή, και να προσπαθήσετε ξανά.
|
||
Μια χρήσιμη πηγή πληροφοριών είναι το αρχείο
|
||
<filename>/var/log/messages</filename> το οποίο μεταξύ άλλων
|
||
καταγράφει όλα τα μηνύματα του πυρήνα από κάθε επιτυχημένη
|
||
εκκίνηση. Επίσης η εντολή &man.dmesg.8; θα σας δείξει όλα τα
|
||
μηνύματα του πυρήνα της τρέχουσας εκκίνησης.</para>
|
||
|
||
<note>
|
||
<para>Αν έχετε πρόβλημα στη δημιουργία πυρήνα, βεβαιωθείτε ότι
|
||
έχετε κρατήσει ένα πυρήνα <filename>GENERIC</filename>, ή
|
||
κάποιο άλλο που γνωρίζετε ότι λειτουργεί, χρησιμοποιώντας ένα
|
||
διαφορετικό όνομα ώστε να μη διαγραφεί στην επόμενη
|
||
μεταγλώττιση. Δεν μπορείτε να βασιστείτε στον πυρήνα
|
||
<filename>kernel.old</filename>, γιατί κάθε φορά που
|
||
εγκαθιστάτε νέο πυρήνα, το <filename>kernel.old</filename>
|
||
αντικαθίσταται με τον τελευταίο εγκατεστημένο πυρήνα, ο οποίος
|
||
μπορεί να μην λειτουργεί. Επίσης, όσο το δυνατόν πιο σύντομα,
|
||
μετακινήστε τον πυρήνα που λειτουργεί στην σωστή θέση,
|
||
<filename class="directory">/boot/kernel</filename>, διαφορετικά
|
||
εντολές όπως η &man.ps.1; ίσως να μη λειτουργούν σωστά. Για να
|
||
το κάνετε αυτό, απλώς μετονομάστε τον κατάλογο που περιέχει τον
|
||
καλό πυρήνα, π.χ:</para>
|
||
|
||
<screen>&prompt.root; <userinput>mv /boot/kernel <replaceable>/boot/kernel.bad</replaceable></userinput>
|
||
&prompt.root; <userinput>mv /boot/<replaceable>kernel.good</replaceable> /boot/kernel</userinput></screen>
|
||
|
||
</note>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Ο νέος πυρήνας λειτουργεί, αλλά η &man.ps.1; δεν λειτουργεί
|
||
πλέον:</term>
|
||
|
||
<listitem>
|
||
<para>Αν εγκαταστήσετε πυρήνα διαφορετικής έκδοσης από αυτόν με τον
|
||
οποίο έχουν φτιαχτεί τα εργαλεία συστήματος, για παράδειγμα εάν
|
||
βάλετε ένα πυρήνα της σειράς -CURRENT σε ένα σύστημα -RELEASE,
|
||
πολλές από τις εντολές που σχετίζονται με την κατάσταση του
|
||
συστήματος όπως ή &man.ps.1; και η &man.vmstat.8; δεν θα
|
||
λειτουργούν πλέον. Θα πρέπει να
|
||
<link linkend="makeworld">μεταγλωττίσετε και να εγκαταστήσετε όλο
|
||
το βασικό σύστημα (world)</link> χρησιμοποιώντας ίδια έκδοση του
|
||
πηγαίου κώδικα με αυτή του πυρήνα σας. Αυτός είναι και ένας λόγος
|
||
για τον οποίο δεν είναι συνήθως καλή ιδέα να χρησιμοποιείτε
|
||
διαφορετική έκδοση πυρήνα από το υπόλοιπο του λειτουργικού
|
||
συστήματος.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</sect1>
|
||
</chapter>
|