MFen: 1.186 en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml

Obtained from:	FreeBSD Greek Documentation Project
Reviewed by:	keramida
Approved by:	gabor (mentor)
This commit is contained in:
Manolis Kiagias 2008-09-08 13:06:24 +00:00
parent b5cfec1d43
commit e124a316a9
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=32852

View file

@ -7,7 +7,7 @@
$FreeBSD$
%SOURCE% en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
%SRCID% 1.1
%SRCID% 1.186
-->
@ -141,6 +141,151 @@
</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> της
&microsoft; δείχνει συνήθως σημαντικές πληροφορίες σχετικά με τις
εγκατεστημένες συσκευές. Μπορείτε να βρείτε την
<application>Διαχείριση Συσκευών</application>
στον πίνακα ελέγχου.</para>
<note>
<para>Μερικές εκδόσεις των &microsoft.windows; διαθέτουν ένα εικονίδιο
με τίτλο <application>Σύστημα (System)</application>. Από την οθόνη
που εμφανίζεται μπορείτε να επιλέξετε την
<application>Διαχείριση Συσκευών</application>.</para>
</note>
<para>Αν δεν υπάρχει άλλο λειτουργικό σύστημα στον υπολογιστή,
ο διαχειριστής θα πρέπει να βρει αυτές τις πληροφορίες χειροκίνητα. Μια
μέθοδος είναι με τη χρήση του βοηθητικού προγράμματος &man.dmesg.8; και
της εντολής &man.man.1;. Τα περισσότερα προγράμματα οδήγησης του &os;
διαθέτουν σελίδα manual, η οποία δείχνει το υποστηριζόμενο υλικό. Κατά
τη διάρκεια της εκκίνησης, εμφανίζεται μια λίστα με τις συσκευές που
ανιχνεύθηκαν. Για παράδειγμα, οι παρακάτω γραμμές δείχνουν ότι το
πρόγραμμα οδήγησης <devicename>psm</devicename> εντόπισε ένα
ποντίκι:</para>
<programlisting>psm0: &lt;PS/2 Mouse&gt; 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>
@ -153,7 +298,7 @@
βρίσκονται κάτω από τον κατάλογο <filename>/usr/src/sys</filename> ο
οποίος είναι επίσης προσβάσιμος μέσω της διαδρομής
<filename>/sys</filename>. Υπάρχει εδώ ένας αριθμός υποκαταλόγων ο
οποίος αντιπροσωπεύει διαφορετικά τμήματα του πυρήνα αλλά οι πλέον
οποίος αντιπροσωπεύει διαφορετικά τμήματα του πυρήνα, αλλά οι πλέον
σημαντικοί για το σκοπό μας είναι οι
<filename><replaceable>arch</replaceable>/conf</filename>, όπου θα
επεξεργαστείτε τις ρυθμίσεις για τον προσαρμοσμένο πυρήνα σας, και ο
@ -205,12 +350,13 @@
</para>
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput>
&prompt.root; <userinput>cp GENERIC MYKERNEL</userinput></screen>
&prompt.root; <userinput>cp GENERIC <replaceable>MYKERNEL</replaceable></userinput></screen>
<para>Κατά παράδοση, το όνομα αυτό γράφεται εξ' ολοκλήρου με κεφαλαία
γράμματα και αν έχετε πολλά μηχανήματα &os; με διαφορετικό υλικό,
είναι καλή ιδέα να του δώσετε το όνομα του μηχανήματος. Για το
παράδειγμα μας, θα το αποκαλούμε <filename>MYKERNEL</filename>.</para>
παράδειγμα μας, θα το αποκαλούμε
<filename><replaceable>MYKERNEL</replaceable></filename>.</para>
<tip>
<para>Δεν είναι γενικά καλή ιδέα να αποθηκεύσετε το αρχείο ρυθμίσεων σας
@ -237,7 +383,8 @@
&prompt.root; <userinput>ln -s /root/kernels/<replaceable>MYKERNEL</replaceable></userinput></screen>
</tip>
<para>Τώρα, τροποποιήστε το αρχείο <filename>MYKERNEL</filename> με τον
<para>Τώρα, τροποποιήστε το αρχείο
<filename><replaceable>MYKERNEL</replaceable></filename> με τον
επεξεργαστή κειμένου που προτιμάτε. Αν ξεκινάτε μόλις τώρα, πιθανόν ο
μόνος διαθέσιμος επεξεργαστής κειμένου να είναι το
<application>vi</application>, ο οποίος είναι αρκετά πολύπλοκος για να
@ -280,7 +427,7 @@
<step>
<para>Μετακινηθείτε στον κατάλογο <filename
role="directory">/usr/src</filename>:</para>
class="directory">/usr/src</filename>:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
</step>
@ -678,8 +825,8 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT</progra
<programlisting>options KBD_INSTALL_CDEV # install a CDEV entry in /dev</programlisting>
<para>Η επιλογή αυτή σχετίζεται με το πληκτρολόγιο. Δημιουργεί ένα αρχείο
συσκευής CDEV στον κατάλογο <filename>/dev</filename>.</para>
<para>Η επιλογή αυτή είναι απαραίτητη για τη δημιουργία του αρχείου
συσκευής πληκτρολογίου στον κατάλογο <filename>/dev</filename>.</para>
<programlisting>options ADAPTIVE_GIANT # Giant mutex is adaptive.</programlisting>
@ -696,6 +843,16 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT</progra
(sleep) και θα περίμενε για την επόμενη ευκαιρία εκτέλεσης του. Αν δεν
είστε σίγουρος, αφήστε αυτή την επιλογή ενεργή.</para>
<note>
<para>Σημειώστε ότι από το &os; 8.0-CURRENT και τις επόμενες εκδόσεις,
όλα τα mutexes έχουν από προεπιλογή τη δυνατότητα προσαρμογής, εκτός
αν έχει επίτηδες γίνει διαφορετική ρύθμιση, χρησιμοποιώντας την
επιλογή <literal>NO_ADAPTIVE_MUTEXES</literal> κατά τη μεταγλώττιση.
Το Giant έχει επίσης δυνατότητα προσαρμογής πλέον, και έτσι η
επιλογή <literal>ADAPTIVE_GIANT</literal> έχει αφαιρεθεί από το
αρχείο ρυθμίσεων πυρήνα.</para>
</note>
<indexterm>
<primary>kernel options</primary>
<secondary>SMP</secondary>
@ -931,9 +1088,8 @@ device sc</programlisting>
#device apm</programlisting>
<para>Υποστήριξη Advanced Power Management (προχωρημένης διαχείρισης
ισχύος). Χρήσιμο για φορητά, αν και στις εκδόσεις του &os; από την 5.X
και άνω, η επιλογή αυτή, από προεπιλογή, είναι ανενεργή στον πυρήνα
<filename>GENERIC</filename>.</para>
ισχύος). Χρήσιμο για φορητά, αν και η επιλογή αυτή, από προεπιλογή,
είναι ανενεργή στον πυρήνα <filename>GENERIC</filename>.</para>
<programlisting># Add suspend/resume support for the i8254.
device pmtimer</programlisting>
@ -1085,9 +1241,10 @@ 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>
<para>Προγράμματα οδήγησης καρτών Ethernet τύπου ISA. Δείτε το αρχείο
<filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>
για λεπτομέρειες σχετικά με το ποιες κάρτες υποστηρίζονται από ποιον
οδηγό.</para>
<programlisting># Wireless NIC cards
device wlan # 802.11 support</programlisting>
@ -1336,8 +1493,8 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
<sect1 id="kernelconfig-trouble">
<title>Αν Κάτι Πάει Λάθος</title>
<para>Υπάρχουν πέντε κατηγορίες προβλημάτων που μπορούν να παρουσιαστούν
όταν δημιουργείτε ένα προσαρμοσμένο πυρήνα:</para>
<para>Υπάρχουν τέσσερις κατηγορίες προβλημάτων που μπορούν να
παρουσιαστούν όταν δημιουργείτε ένα προσαρμοσμένο πυρήνα:</para>
<variablelist>
<varlistentry>
@ -1415,7 +1572,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
το κάνετε αυτό, απλώς μετονομάστε τον κατάλογο που περιέχει τον
καλό πυρήνα, π.χ:</para>
<screen>&prompt.root; <userinput>mv /boot/kernel /boot/kernel.bad</userinput>
<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>