Kernel Compile (The debian way)

E-mail Εκτύπωση PDF
Αξιολόγηση Χρήστη: / 4
ΧείριστοΆριστο 

debian_logoΟ πυρήνας μπορεί να βρεθεί στην διεύθυνση www.kernel.org. Για τις απαιτήσεις της καταχώρησης υποθέτουμε πως έχουμε επιλέξει τον πυρήνα 2.6.27.8 (που είναι και ο τελευταίος ευσταθής την ώρα που γράφεται η καταχώρηση). Θα πρέπει να εργαζόμαστε ως root οπότε η δέουσα προσοχή είναι απαραίτητη.

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.8.tar.bz2

Το επόμενο βήμα είναι η αποσυμπίεση του πυρήνα και η τοποθέτησή του στον κατάλογο που θα εργαστούμε.

cp linux-2.6.27.8.tar.bz2 /usr/src/
tar xvjf linux-2.6.27.8.tar.bz2
ln -s linux-2.6.27.8 linux
cd linux/

Τα repositories του debian παρέχουν και αυτά κάποιους πυρήνες

mr@instron:/usr/src$ apt-cache search linux-source
linux-patch-debian-2.6.26 - Debian patches to version 2.6.26 of the Linux kernel
linux-source-2.6.26 - Linux kernel source for version 2.6.26 with Debian patches
linux-tree-2.6.26 - Linux kernel source tree for building Debian kernel images

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

Τώρα είμαστε έτοιμοι να ξεκινήσουμε. Αρχικά δίνουμε:

make clean && make mrproper

η εντολή αυτή διαγράφει τα objects που μπορεί να έχουν δημιουργηθεί και διαγράφει επίσης όλα τα αρχεία παραμετροποίησης (configuration files). Έπειτα από αυτό το βήμα αρχίζουμε την παραμετροποίηση. Είναι μία καλή πρακτική να χρησιμοποιούμε τις παλιές παραμέτρους του πυρήνα ώστε να έχουμε ένα αρχικό σημείο αναφοράς. Για να χρησιμοποιήσουμε το παλιό αρχείο παραμετροποίησης δίνουμε την εντολή

cp /boot/config-'uname -r' ./.config

η οποία λέει να πάρει το αρχείο παραμετροποίησης του τρέχοντα πυρήνα από τον κατάλογο /boot και να το αντιγράψει στον κατάλογο που εργαζόμαστε τώρα με το όνομα .config . Στη συνέχεια χτίζουμε το μενού για την παραμετροποίηση:

make xconfig

περιμένουμε (αν έχουμε παλιό υπολογιστή) και αρχίζουμε να επιλέγουμε τις επιλογές. Γενικότερα αυτό το σημείο θέλει κάποιο ψάξιμο αλλά παρέχετε κάποια μικρή βοήθεια μέσα στο παράθυρο της εφαρμογής. Μόλις κάνουμε τις αλλαγές που επιθυμούμε επιλέγουμε την αποθήκευση του αρχείου και είμαστε έτοιμοι να μεταγλωττίσουμε τον πυρήνα. Δίνουμε:

make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-ΕΔΩ-ΟΤΙ-ΘΕΛΟΥΜΕ kernel_image kernel_headers

στο -ΕΔΩ-ΟΤΙ-ΘΕΛΟΥΜΕ, το ότι θέλουμε σημαίνει alphanumeric χαρακτήρες, παύλες (-) και θα πρέπει πάντα να αρχίζει η επιλογής μας με -. Έπειτα περιμένουμε (είτε έχουμε γρήγορο είτε πιο παλιό μηχάνημα) ...

Μόλις τελειώσει η μεταγλώττιση θα έχουν δημιουργηθεί δύο πακέτα .deb στον κατάλογο /usr/src/. Το πρώτο είναι ο νέος πυρήνας και στο άλλο είναι τα headers του πυρήνα που είναι απαραίτητα εάν θέλουμε να μεταγλωττίσουμε κάποιο module αργότερα. Τα πακέτα μπορούμε να τα εγκαταστήσουμε στο σύστημά μας με τον πατροπαράδοτο τρόπο:

dpkg -i linux-image-2.6.27.8-ΕΔΩ-ΟΤΙ-ΘΕΛΟΥΜΕ_2.6.27.8-ΕΔΩ-ΟΤΙ-ΘΕΛΟΥΜΕ-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.27.8-ΕΔΩ-ΟΤΙ-ΘΕΛΟΥΜΕ_2.6.27.8-ΕΔΩ-ΟΤΙ-ΘΕΛΟΥΜΕ-10.00.Custom_i386.deb

Με τον τρόπο αυτό διασφαλίζουμε και την σωστή ενημέρωση του grub ώστε ο πυρήνας να εμφανιστεί ως επιλογή στο μενού όταν φορτώνει ο υπολογιστής. Εάν για κάποιο λόγο θέλουμε να διαγράψουμε τους πυρήνες μπορούν να το κάνουμε από μέσω του dpkg, του apt-get ή του aptitude (για το τελευταίο δεν είμαι σίγουρος, τα 2 πρώτα δουλεύουν κανονικά). Καλό θα ήταν να δώσουμε purge και όχι απλό remove.

Καλή μεταγλώττιση ;)

ΥΓ - επειδή η μετάφραση κάποιων εννοιών στα ελληνικά μου είναι δύσκολη (δεν τα έχω δει στα ελληνικά ποτέ :Ρ) μερικές έννοιες έχουν μείνει αμετάφραστες και άλλες που έχουν μεταφραστεί ίσως είναι λάθος οπότε όποιος μπορεί να βοηθήσει σε αυτή την κατεύθυνση ας το κάνει (k thnx).

by IrDA

Πηγές

http://ilug.gr/

http://debian.gr/




Tags: kernel  debian  ilug  compile  


Μοιραστείτε αυτό το άρθρο
Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! StumbleUpon! Yahoo! Dig Me Joomla Free PHP

Σχόλια
Προσθήκη νέου Αναζήτηση RSS
Γράψτε σχόλιο
Όνομα:
Email:
 
Τίτλος:
 
Please input the anti-spam code that you can read in the image.
Τελευταία Ενημέρωση ( Τρίτη, 20 Ιανουάριος 2009 20:57 )  

Seach By Google

Translate this website :

Επιλογές

Programming


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

Fedora


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

CentOS


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

Linux


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

Ubuntu


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

Debian


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99


Προτεινόμενα άρθρα


Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030
Joomla 1.5 Featured Articles

Δημοφιλή Περιεχόμενα


Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Τελευταία Σχόλια

Προτεινόμενα tutorials


Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3029

Deprecated: Function eregi() is deprecated in /home/flakgr/public_html/administrator/components/com_sh404sef/sh404sef.class.php on line 3030
Joomla 1.5 Featured Articles