10.0 2010-07-19
Ζώνη Ώρας

Πρώτα πρέπει να επιλέξετε τη ζώνη ώρας σας ώστε το σύστημα να γνωρίζει πού είναι τοποθετημένο. Ψάξτε για τη ζώνη ώρας σας στο /usr/share/zoneinfo, μετά αντιγράψτε το στο /etc/localtime. Παρακαλώ αποφύγετε τις /usr/share/zoneinfo/Etc/GMT* ζώνες ώρας επειδή τα ονόματά τους δεν δείχνουν τις αναμενόμενες ζώνες. Για παράδειγμα, το GMT-8 είναι στην πραγματικότητα το GMT+8.

# ls /usr/share/zoneinfo
(Αν υποθέσουμε ότι θέλετε να χρησιμοποιήσετε GMT)
# cp /usr/share/zoneinfo/GMT /etc/localtime
Εγκατάσταση του Πυρήνα Επιλογή ενός Πυρήνα

Το κέντρο γύρω από το οποίο όλες οι διανομές είναι χτισμένες είναι ο πυρήνας Linux. Είναι η στρώση ανάμεσα στα προγράμματα των χρηστών και το υλικό του συστήματός σας. Το Gentoo παρέχει στους χρήστες του πολλούς πιθανούς πυρήνες. Μια πλήρης λίστα με περιγραφή είναι διαθέσιμη στον Οδηγό Πυρήνα του Gentoo.

Για συστήματα βασισμένα στο έχουμε το gentoo-sources (κώδικας πυρήνα μπαλλωμένος με επιπρόσθετα χαρακτηριστικά).

Επιλέξτε τον πυρήνα σας και εγκαταστήστε τον χρησιμοποιώντας το emerge.

# emerge gentoo-sources

Παρατηρώντας το /usr/src θα δείτε ένα συμβολικό σύνδεσμο με όνομα linux να δείχνει τον πυρήνα σας. Σε αυτή την περίπτωση, ο εγκατεστημένος πυρήνας δείχνει στο gentoo-sources-. Η έκδοσή σας μπορεί να είναι διαφορετική, γι αυτό έχετέ το υπόψη.

# ls -l /usr/src/linux
lrwxrwxrwx    1 root     root           12 Oct 13 11:04 /usr/src/linux -> linux-

Τώρα είναι ώρα να ρυθμίσουμε και να μεταγλωτίσουμε τον πυρήνα. Όλες οι αρχιτεκτονικές μπορούν να χρησιμοποιήσουν το genkernel γι αυτό, το οποίο θα χτίσει ένα γενικό πυρήνα όπως χρησιμοποιείται από το CD Eγκατάστασης. Εξηγούμε τη "χειροκίνητη" ρύθμιση πρώτα όμως, μιας και είναι ο καλύτερος τρόπος για να βελτιστοποιήσετε το σύστημά σας.

Αν θέλετε να ρυθμίσετε χειροκίνητα τον πυρήνα, συνεχίστε με το Προεπιλογή: Χειροκίνητη Ρύθμιση. Αν θέλετε να χρησιμοποιήσετε το genkernel θα πρέπει να διαβάσετε το Εναλλακτικά: Χρήση του genkernel.

Προεπιλογή: Χειροκίνητη Ρύθμιση Εισαγωγή

Η χειροκίνητη ρύθμιση ενός πυρήνα συχνά θεωρείται ως η πιο δύσκολη διαδικασία που έχει να επιτελέσει ένας χρήστης Linux. Τίποτα δεν είναι λιγότερο σωστό -- μετά τη ρύθμιση κανα δυο πυρήνων δε θα θυμάστε καν ότι ήταν δύσκολο ;)

Παρ' όλα αυτά, ένα πράγμα είναι σωστό: πρέπει να ξέρετε το σύστημά σας όταν θα αρχίσετε να ρυθμίζετε τον πυρήνα σας χειροκίνητα. Οι περισσότερες πληροφορίες μπορούν να συγκεντρωθούν με την εγκατάσταση του pciutils (emerge pciutils) το οποίο περιέχει την lspci. Τότε θα είστε έτοιμοι να χρησιμοποιήσετε την lspci στο chrooted περιβάλλον. Μπορείτε να αγνοήσετε με ασφάλεια κάθε προειδοποίηση τύπου pcilib (όπως pcilib: cannot open /sys/bus/pci/devices) που η lspci πετάει. Εναλλακτικά, μπορείτε να τρέξετε την lspci από ένα μη-chrooted περιβάλλον. Τα αποτελέσματα είναι τα ίδια. Μπορείτε επίσης να τρέξετε την lsmod για να δείτε ποιες ενότητες του πυρήνα το CD Εγκατάστασης χρησιμοποιεί (ίσως σας παράσχει μια καλή λύση στο τι να ενεργοποιήσετε).

Τώρα πηγαίντε στον φάκελο του πυρήνα σας και εκτελέστε την make menuconfig. Αυτό θα ανάψει ένα μενού ρυθμίσεων βασισμένο σε ncurses.

# cd /usr/src/linux
# make menuconfig

Θα χαιρετηθείτε με αρκετούς τομείς ρυθμίσεων. Εμείς πρώτα θα δείξουμε μια λίστα με μερικές επιλογές που πρέπει να ενεργοποιήσετε (αλλιώς το Gentoo δε θα δουλέψει, ή δε θα δουλέψει σωστά χωρίς επιπρόσθετες παρεμβάσεις).

Ενεργοποίηση Απαιτούμενων Επιλογών

Πρώτα πηγαίντε στο File Systems και επιλέξτε την υποστήριξη για τα συστήματα αρχείων που χρησιμοποιείτε. Μην τα μεταγλωτίσετε σαν ενότητες (modules), αλλιώς το Gentoo σύστημά σας δεν θα είναι δυνατό να προσαρτήσει τις κατατμήσεις σας. Επίσης επιλέξτε τα Virtual memory και /proc file system.

File systems --->
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] Virtual memory file system support (former shm fs)

(Επιλέξτε μία ή περισσότερες από τις παρακάτω επιλογές που χρειάζονται για το σύστημά σας)
  <*> Reiserfs support
  <*> Ext3 journalling file system support
  <*> JFS filesystem support
  <*> Second extended fs support
  <*> XFS filesystem support

Αν χρησιμοποιείτε PPoE για να συνδεθείτε στο Internet ή χρησιμοποιείτε ένα dial-up modem, θα χρειαστείτε τις παρακάτω επιλογές στον πυρήνα:

Device Drivers --->
  Networking support --->
    <*> PPP (point-to-point protocol) support
    <*>   PPP support for async serial ports
    <*>   PPP support for sync tty ports

Οι δύο επιλογές συμπίεσης δε θα βλάψουν αλλά δεν χρειάζονται σίγουρα, ούτε και η επιλογή PPP over Ethernet, η οποία μπορεί μόνο να χρησιμοποιηθεί από ppp όταν ρυθμιστεί να κάνει τρόπο πυρήνα PPPoE.

Αν το χρειάζεστε, μην ξεχάσετε να συμπεριλάβετε υποστήριξη στον πυρήνα για την ethernet κάρτα σας.

Αν έχετε ένα HIL ποντίκι ή πληκτρολόγιο, μην ξεχάσετε να μεταγλωττίσετε υποστήριξη για αυτά.

Input core support --->
  [*] Keyboard support
  [*] Mouse support
  [*] Event interface support

Αν δεν έχετε καθόλου ποντίκι στην θύρα HIL σας, χρησιμοποιείστε μόνο την βασική υποστήριξη:

HIL support --->
  [*] HIL Keyboard (basic) support

Αν παρ' όλα αυτά θέλετε πλήρη υποστήριξη για HIL, επιλέξτε τα ακόλουθα:

HIL support --->
  [*] HP System Device Controller i8042 Support
  [*] HIL MLC Support
  [*] HIL Keyboard (full) support
  [*] HIL Mouse & Pointer support

Επίσης συμπεριλάβετε υποστήριξη οδηγού γραφικών:

Graphics support --->
  [*] Support for frame buffer devices
      [*] HP STI frame buffer device support
  Console display driver support --->
      [*] STI text console

Όταν τελειώσετε με τη ρύθμιση του πυρήνα, συνεχίστε με την Μεταγλώττιση και Εγκατάσταση.

Μεταγλώττιση και Εγκατάσταση Αν θέλετε να μεταγλωττίσετε ένα 64-bit πυρήνα, θα πρέπει πρώτα να εγκαταστήσετε το kgcc64. Παρ' όλα αυτά, δεν συνίσταται η χρήση ενός 64-bit πυρήνα. Θα πρέπει μόνο να τρέξετε έναν 64-bit πυρήνα αν έχετε περισσότερα από 4GB μνήμης RAM ή αν ο διακομιστής σας το απαιτεί, π.χ. στο A500.

Τώρα που ο πυρήνας σας είναι ρυθμισμένος, είναι ώρα να τον μεταγλωττίσετε και να τον εγκαταστήσετε. Βγείτε από τις ρυθμίσεις και ξεκινήστε τη διαδιακσία μεταγλώττισης:

# make && make modules_install

Όταν ο πυρήνας σας τελειώσει την μεταγλώττιση, αντιγράψτε την εικόνα του πυρήνα στο /boot. Χρησιμοποιήστε οποιοδήποτε όνομα νομίζετε ότι είναι κατάλληλο για τον πυρήνα της επιλογής σας και θυμηθείτε το μιας και θα το χρειαστείτε αργότερα όταν θα ρυθμίζετε τον φορτωτή εκκίνησής σας. Θυμηθείτε να αντικαταστήσετε το με το όνομα και την έκδοση του δικού σας πυρήνα.

# cp vmlinux /boot/

Τώρα συνεχίστε με τις Ενότητες του Πυρήνα.

Εναλλακτικά: Χρήση του genkernel

Αν διαβάζετε αυτό το κεφάλαιο, έχετε επιλέξει να χρησιμοποιήσετε το σενάριο του genkernel για να ρυθμίσει τον πυρήνα για σας.

Τώρα που ο δέντρο κώδικα του πυρήνα είναι εγκατεστημένο, είναι ώρα να μεταγλωττίσετε τον πυρήνα σας χρησιμοποιώντας το σενάριο του genkernel για το αυτόματο χτίσιμο του πυρήνα για σας. Το genkernel δουλεύει ρυθμίζοντας έναν πυρήνα σχεδόν πανομοιότυπα με τον τρόπο που ο πυρήνας του CD Εγκατάστασης είναι ρυθμισμένος. Αυτό σημαίνει ότι όταν χρησιμοποιείτε το genkernel για να χτίσετε τον πυρήνα σας, το σύστημά σας θα ανιχνεύσει γενικά όλο το υλικό σας στην εκκίνηση, όπως ακριβώς κάνει και το CD Εγκατάστασης. Επειδή το genkernel δεν απαιτεί κάποιες χειροκίνητες ρυθμίσεις, είναι ιδανική λύση για τους χρήστες που δεν αισθάνονται άνετα με τη μεταγλώττιση του δικού τους πυρήνα.

Τώρα, ας δούμε πώς χρησιμοποιούμε το genkernel. Πρώτα, εγκαταστήστε το ebuild του genkernel:

# emerge genkernel

Τώρα, μεταγλωττίστε τον κώδικα του πυρήνα τρέχοντας το genkernel all. Προσέξτε όμως, καθώς το genkernel.μεταγλωττίζει ένα πυρήνα που υποστηρίζει σχεδόν όλο το υλικό, αυτή η μεταγλώττιση μπορεί να πάρει αρκετό χρόνο μέχρι να τελειώσει!

Σημειώστε ότι, αν η κατάτμηση boot δεν χρησιμοποιεί ένα ext2 ή ένα ext3 σύστημα αρχείων μπορεί να χρειαστείτε να ρυθμίσετε χειροκίνητα τον πυρήνα σας χρησιμοποιώντας το genkernel --menuconfig all και να προσθέσετε υποστήριξη για το σύστημα αρχείων σας μέσα στον πυρήνα (π.χ. όχι σαν ενότητα).

# genkernel all

Όταν το genkernel ολοκληρωθεί, ο πυρήνας σας, ένα πλήρες σετ από ενότητες και ένας αρχικός δίσκος root (initrd) θα δημιουργηθούν. Θα χρησιμοποιήσουμε τον πυρήνα και το initrd όταν θα ρυθμίσουμε τον boot loader αργότερα σε αυτό το κείμενο. Σημειώστε τα ονόματα από τον πυρήνα και το initrd γιατί θα τα χρειαστείτε όταν θα γράψετε το αρχείο ρύθμισης του bootloader. Το initrd θα αρχίσει αμέσως μετά την εκκίνηση για να εκτελέσει αυτόματο εντοπισμό υλικού (ακριβώς όπως στο CD Εγκατάστασης) πριν το "αληθινό" σύστημα αρχίσει. before your "real" system starts up.

# ls /boot/kernel* /boot/initramfs*
Ενότητες του Πυρήνα