Στο tutorial αυτό προσπαθώ να μεταφέρω το άρθρο� How To Compile A Kernel - The Fedora Way�
(http://www.howtoforge.com/kernel_compilation_fedora).
Το άρθρο περιγράφει πως να κάνετε compile έναν
custom πυρήνα δημιουργώντας ένα πακέτο πυρήνα rpm που μπορείτε να κάνετε εγκατάσταση σε Fedora.
Βήμα 1
Δημιουργήστε το φάκελο rpmbuild:
cd ~
cp -a /usr/src/redhat/ rpmbuild
echo '%_topdir
%(echo $HOME)/rpmbuild' >> .rpmmacros
Στη συνέχεια κάνετε εγκατάσταση τα πακέτα για τη δημιουργία rpm πακέτων:
su -c �yum install fedora-rpmdevtools unifdef�
τρέξτε την εντολή:
fedora-buildrpmtree
Βήμα 2
Κατεβάστε το τελευταίο src.rpm
του πυρήνα για την έκδοση της Fedora που έχετε.
Για Fedora Core 6, το src.rpm βρίσκεται :
http://download.fedora.redhat.com/pub/fedora/linux/core/6/so urce/SRPMS/,
http://download.fedora.redhat.com/pub/fedora/linux/core/upda tes/6/SRPMS/,
Για Fedora Core 5:
http://download.fedora.redhat.com/pub/fedora/linux/core/5/so urce/SRPMS/,
http://download.fedora.redhat.com/pub/fedora/linux/core/upda tes/5/SRPMS/.
Το τελευταίο src.rpm του πυρήνα για FC6 είναι το kernel-2.6.18-1.2798.fc6.src.rpm, το κατεβάζετε και το εγκαθηστάτε με τις παρακάτω εντολές:
cd /usr/src
wget
http://download.fedora.redhat.com/pub/fedora/linux/core/6/so urce/SRPMS/kernel-2.6.18-1.2798.fc6.src.rpm
rpm
-ivh kernel-2.6.18-1.2798.fc6.src.rpm
Αν δείτε τα παρακάτω warnings:
warning: user brewbuilder does not exist - using root
warning:
group brewbuilder does not exist - using root
μην τους δώσετε σημασία.
Στο άρθρο που ανέφερα στην αρχή υπάρχει και το βήμα� 2.3 Patch The Kernel� αλλά δεν το χρησιμοποίησα οπότε για περισσότερες πληροφορίες δείτε στο άρθρο.
Στη συνέχεια δίνετε τις παρακάτω εντολές :
cd ~/rpmbuild/SPECS/
rpmbuild -bp --target=i686 kernel-2.6.spec
Για να δηλώσετε σε ποια αρχιτεκτονική θέλετε να κάνετε compile αλλάζετε την επιλογή target=i686 στην αρχιτεκτονική που θέλετε (i386, i486, i586).
Βήμα 3
Στο βήμα αυτό για αρχή θα δώσετε ένα όνομα στο custom πυρήνα:
cd ~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.i686
vi
Makefile
(To vi είναι ο vim. Αντί του vi μπορείτε να δώσετε gedit στο gnome ή kedit στο kde.)
Στη γραμμή EXTRAVERSION του Makefile, μπορείτε να δώσετε το όνομα (αναγνωριστικό) του custom πυρήνα. Για παράδειγμα:
EXTRAVERSION = -custom- 1.2798.
και στη γραμμή UTS_MACHINE του Makefile δώσετε την αρχιτεκτονική που θέλετε να κάνετε compile τον πυρήνα. Για παράδειγμα:
UTS_MACHINE=i686
Βήμα 4
Αντιγράφετε το αρχείο:
cp ./configs/kernel-2.6.18-i686.config .config
και τρέχετε την εντολή:
make menuconfig
η οποία εμφανίζει το menu για το
configuration του kernel. Επιλέγετε Load an Alternate
Configuration File επιλέγετε .config για το αρχείο configuration:
Στη συνέχεια μπορείτε να επιλέξετε από το menu ότι επιλογές θέλετε να έχει ο custom πηρύνας. Όταν τελειώσετε επιλέγετε Exit, και απαντάτε στην ερώτηση
(Do you wish to save your new kernel configuration?) με Yes:
Βήμα 5
Τώρα τρέχετε την παρακάτω εντολή για να δημιουργηθεί το πακέτο rpm του πυρήνα.
make rpm
Θα βρείτε το νέο πακέτο src.rpm του πυρήνα στο φάκελο
~/rpmbuild/SRPMS/, π.χ.
~/rpmbuild/SRPMS/kernel-2.6.18custom1.2798-1 .src.rpm, και το πακέτο rpm του πυρήνα στο φάκελο
~/rpmbuild/RPMS/i686/ (ή ~/rpmbuild/RPMS/i386/,
~/rpmbuild/RPMS/i586/, ανάλογα με την αρχιτεκτονική σας), π.χ.
~/rpmbuild/RPMS/i686/kernel-2.6.18custom1.27 98-1.i686. rpm. Όπως βλέπετε το όνομα που δώσατε προστέθηκε στο όνομα του πακέτου.
Βήμα 6
Τώρα πηγαίνετε στο φάκελο στο οποίο δημιουργήθηκε το νέο πακέτο rpm του πυρήνα και κάνετε εγκατάσταση το πακέτο rpm:
cd ~/rpmbuild/RPMS/i686
su -c �rpm -ivh
kernel-2.6.18custom1.2798-1.i686.rpm �
Στη συνέχεια φτιάχνετε ένα ramdisk για το νέο πυρήνα, αλλιώς το σύστημα μπορεί να μην κάνει boot το νέο πυρήνα:
su -c �/sbin/mkinitrd
/boot/initrd-2.6.18-custom-1.2798.im g 2.6.18-custom- 1.2798�
Ακολουθεί η επεξεργασία του /boot/grub/menu.lst. Δείτε πως είναι η αναφορές στους άλλους πυρήνες και προσθέστε μία νέα για τον πυρήνα σας:
su -c 'vi /boot/grub/menu.lst'
Για παράδειγμα, το δικό μου menu.lst πριν τη επεξεργασία:
# grub.conf generated by anaconda |
μετά την επεξεργασία:
# grub.conf generated by anaconda |
(μπορείτε να βρείτε τα σωστά vmlinuz και
initrd αρχεία τρέχοντας την εντολή
ls -l /boot)
Κάνετε restart το pc σας
και στο GRUB menu:
επιλέγετε τον πυρήνα σας.
Για περισσότερες πληροφορίες δείτε στο άρθρο.
- Συνδεθείτε ή εγγραφείτε για να σχολιάσετε
Σχόλια
Δεν χρειάζεται αυτάκια '.
Τώρα σου λέει ότι πρέπει να εγκαταστήσεις ένα πακέτο με όνομα sparse.
Δώσε
yum search sparse
για να το βρεις. Μετά εγκατέστησέ το: yum install sparse??
Τα ερωτηματικά τα βάζω εγώ αυθαίρετα. Δεν ξέρω το ακριβές όνομα του πακέτου.