10.1 2010-07-20
Ζώνη Ώρας

Πρώτα πρέπει να επιλέξετε τη ζώνη ώρας σας, έτσι ώστε το σύστημά σας να γνωρίζει πού βρίσκεται. Δείτε για ζώνη ώρας σας στο /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 δείχνοντας τον κώδικα του πυρήνα σας. Στην δική μας περίπτωση, ο εγκατεστημένος κώδικας του πυρήνα δείχνει στο linux-. Η έκδοσή σας μπορεί να είναι διαφορετική, οπότε έχετέ το κατά νου.

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

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

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

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

Ωστόσο, ένα πράγμα είναι αλήθεια: πρέπει να ξέρετε το σύστημά σας, όταν ξεκινάτε τη ρύθμιση του πυρήνα χειροκίνητα. Οι περισσότερες πληροφορίες μπορούν να συλλεχθούν κάνοντας emerge τα pciutils (emerge pciutils) τα οποία περιέχουν το lspci. Τώρα θα μπορείτε να χρησιμοποιήσετε το lspci μέσα στο περιβάλλον του chroot. Μπορείτε να αγνοήσετε με ασφάλεια τις προειδοποιήσεις της 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 και επιλέξτε υποστήριξη για τα συστήματα αρχείων που χρησιμοποιείτε. Μην τα μεταγλωττίσετε ως ενότητες, διαφορετικά το Gentoo σύστημά σας δεν θα είναι σε θέση να προσαρτήσει τις κατατμήσεις σας. Επίσης, επιλέξτε Virtual memory και /proc file system:

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

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

Εάν χρησιμοποιείτε PPPoE για να συνδεθείτε στο 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 σε kernel mode.

Τώρα ενεργοποιήστε τη σωστή υποστήριξη για δίαυλο επικοινωνίας:

Console drivers --->
  Frame-buffer support --->
    [*] SBUS and UPA framebuffers             
      [*] Creator/Creator3D support     (Μόνο για προσαρμογέα σε υποδοχή UPA που χρησιμοποιείται σε πολλά Ultra)
    [*] CGsix (GX,TurboGX) support      (Μόνο για προσαρμογέα σε υποδοχή SBUS που χρησιμοποιείται σε πολλά SPARCStations)

Φυσικά θέλετε στήριξη για OBP:

Misc Linux/SPARC drivers --->
  [*]  /dev/openprom device support

Θα χρειαστείτε επίσης ειδική υποστήριξη για SCSI:

SCSI support --->
  SCSI low-level drivers --->
    <*> Sparc ESP Scsi Driver             (Μόνο για SPARC ESP on-board προσαρμογείς SCSI)
    <*> PTI Qlogic, ISP Driver            (Μόνο για SBUS SCSI controllers από PTI ή QLogic)
    <*> SYM53C8XX Version 2 SCSI support  (Μόνο για Ultra 60 on-board προσαρμογείς SCSI)

Για την υποστήριξη της κάρτας δικτύου σας, επιλέξτε ένα από τα ακόλουθα:

Network device support --->
  Ethernet (10 or 100Mbit) --->
    <*> Sun LANCE support                   (Μόνο για SPARCStation, παλιότερα συστήματα Ultra, και ως επιλογή Sbus)
    <*> Sun Happy Meal 10/100baseT support  (Μόνο για Ultra. Επίσης υποστηρίζει "qfe" quad-ethernet σε PCI και Sbus)
    <*> DECchip Tulip (dc21x4x) PCI support (Για ορισμένα Netras, όπως το N1)
  Ethernet (1000Mbit) --->
    <*> Broadcom Tigon3 support (Μοντέρνα Netra, Sun Fire μηχανήματα)

Όταν έχετε ένα μηχάνημα με 4 Ethernet (10/100 ή 10/100/1000) η σειρά των θυρών είναι διαφορετική από αυτή που χρησιμοποιείται στο Solaris. Μπορείτε να χρησιμοποιήσετε το sys-apps/ethtool για να ελέγξετε την κατάσταση σύνδεσης της θύρας.

Εάν χρησιμοποιείτε έναν ελεγκτή δίσκου qla2xxx, θα χρειαστεί να χρησιμοποιήσετε έναν πυρήνα 2.6.27 ή νεότερο, και θα πρέπει επίσης να κάνετε emerge το sys-block/qla-fc-firmware. Στη συνέχεια, εκτελέστε make menuconfig και περιηγηθείτε στην ενότητα Device Drivers. Θα χρειαστεί να προσθέσετε υποστήριξη για την φόρτωση των εξωτερικών firmware.

Device Drivers  --->
   Generic Driver Options  --->
   ()  External firmware blobs to build into the kernel binary
   ()  Firmware blobs root directory

Θέστε το "External firmware blobs" σε ql2200_fw.bin και το "Firmware blobs root directory" σε /lib/firmware.

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

# ls -lh vmlinux
-rw-r--r--    1 root     root         2.4M Oct 25 14:38 vmlinux

Εάν το (ασυμπίεστο) μέγεθος είναι μεγαλύτερο από 7,5 ΜΒ, επαναρυθμίσετε τον πυρήνα σας μέχρι να μην υπερβαίνει αυτό το όριο. Ένας τρόπος για να το πετύχετε αυτό είναι να έχετε τους περισσότερους οδηγούς του πυρήνα μεταγλωττισμένους ως ενότητες. Αγνοώντας αυτό μπορεί να οδηγήσει σε έναν μη εκκινήσιμο πυρήνα.

Επίσης, αν ο πυρήνας σας είναι λίγο μεγαλύτερος, μπορείτε να δοκιμάσετε να μειώσετε το μέγεθός του με την χρήση της εντολής strip:

# strip -R .comment -R .note vmlinux
Μεταγλώττιση και Εγκατάσταση

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

# make CROSS_COMPILE=sparc64-unknown-linux-gnu- && make CROSS_COMPILE=sparc64-unknown-linux-gnu- image modules_install

Όταν η μεταγλώττιση του πυρήνας σας ολοκληρωθεί, αντιγράψτε την εικόνα του πυρήνα σας στο /boot.

# cp arch/sparc/boot/image /boot/

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

Ενότητες Πυρήνα