Εδω θα δουμε τον τροπο για το πως να κανουμε μεταγλωττιση και εγκατασταση την νεοτερη εκδοση πυρηνα, δηλαδη οτι πιο νεο υπαρχει. Φυσικα, αυτο δεν σημαινει οτι θα ειναι πιο σταθερος απο την εκδοση του πυρηνα που υπαρχει στα αποθετηρια, γιατι δεν ειναι αρκετα δοκιμασμενος!
Πρωτα απ'ολα, πριν συνεχισουμε παρακατω,
θα πρεπει να γνωριζουμε οτι υπαρχει κινδυνος καταστροφης του συστηματος μας.
Οποτε συνεχιζουμε με δικο μας ρισκο!
* Τι θα χρειαστουμε?
1) Να εχουμε συνδεση στο διδυκτυο (internet), κατα προτιμηση με καλωδιο (ethernet)
2) Ελευθερο χωρο στον προσωπικο μας φακελο (home) περιπου 5Gb
3) Καμποση ωρα ελευθερη, για ολη την διαδικασια, περιπου 2-4 ωρες, αναλογως με τις δυνατοτητες του Η/Υ μας.
* Αν ειμαστε συμφωνοι με τα παραπανω, συνεχιζουμε
Πρωτα κανουμε εγκατασταση τα πακετα θα χρειαστουμεsudo apt-get install git-core kernel-package fakeroot build-essential ncurses-dev
Μετα ειμαστε ετοιμοι να συνεχιζουμε,
οποτε εκτελουμεcd && git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
περιμενουμε καμποσα λεπτα να κατεβασει των κωδικα, και μετα εκτελουμεcd linux-2.6
Μετα θα χρειαστει να αντιγραψουμε το αρχειο ρυθμισεων πυρηνα, απο το υπαρχον του συστημα μας, οποτε εκτελουμεcp /boot/config-`uname -r` .config
Μετα εκτελουμεmake oldconfig
Οπου θα μας κανει διαφορες ερωτησεις, αν δεν γνωριζουμε τι πρεπει να απαντησουμε, το καλυτερο και πιο ασφαλες, ειναι απλα να παταμε Enter
ή αν θελουμε, μπορει να γινει αυτοματα, και να εκτελεσουμεyes '' | make oldconfig
αν θελουμε να κανουμε καποια αλλαγη, εκτελουμεmake menuconfig
και κανουμε τις αλλαγες που θελουμε!
μετα θα χρειαστει να κανουμε επεξεργασια του script, οποτε εκτελουμεsed -rie 's/echo "\+"/#echo "\+"/' scripts/setlocalversion
μετα καθαρισουμε το φακελο του κωδικα εκτελωνταςmake-kpkg clean
και για τη δημιουργεια των πακετων .deb εκτελουμε (εδω θα παρει αρκετη ωρα)CONCURRENCY_LEVEL=`getconf _NPROCESSORS_ONLN` fakeroot make-kpkg --initrd --append-to-version=-10 kernel_image kernel_headers
με την παραπανω εντολη θα δημιουργηθουμε πακετα με την ονομασια
π.χ. 2.6.39-rc2-10-10.00.Custom.deb
οποτε αν θελουμε αλλαζουμε τον αριθμο 10 στην παραμετρο --append-to-version=-10
με το αντιστοιχο που θελουμε.
Αν θελουμε να αλλαξουμε στην ονομασια το 10.00.Custom
προσθετουμε στην εντολη την παραμετρο --revision=ΟΤΙ_ΘΕΛΟΥΜΕ
Οταν τελιεωσουμε, πρεπει να κανουμε εγκατασταση τα πακετα .deb που θα εχουν δημιουργηθει,
οποτε εκτελουμεcd
sudo dpkg -i linux-*.deb
Και τελος, θα πρεπει να κανουμε τον πυρηνα μας, να μπορει να κανει boot, οποτε εκτελουμεcd /lib/modules
και μετα θα χρειαστουμε το αποτελεσμα αποls
οπου θα ειναι καπως ετσι
2.6.32-30-generic 2.6.32-31-generic 2.6.39-rc2-10
οποτε εκτελουμεsudo update-initramfs -ck ονομα_module_για_το_νεο_πυρηνα
δηλαδη συμφωνα με το παραδειγμα μας, θα πρεπει να εκτελεσουμεsudo update-initramfs -ck 2.6.39-rc2-10
και τελος εκτελουμεsudo update-grub
Μετα, το μονο που εμεινε, ειναι να κανουμε επανεκκινηση, και να χαρουμε, τη νεοτερη εκδοση πυρηνα!
* Επισης Μπορουμε:
a) Αν για καποιο λογο, θελουμε να αφαιρεσουμε τον πυρηνα μας, μπαινουμε στο συστημα μας με διαφορετικη εκδοση πυρηνα, και απο τον synaptic, κανουμε απεγκατασταση τα δυο πακετα
π.χ. linux-image-2.6.39-rc2-10 και linux-headers-2.6.39-rc2-10
b) Να βρουμε ετοιμα πακετα .deb νεοτερης εκδοσης πυρηνα εδω http://kernel.ubuntu.com/~kernel-ppa/mainline/
c) Πηγη του κακου : https://wiki.ubuntu.com/KernelTeam/GitKernelBuild
- Συνδεθείτε ή εγγραφείτε για να σχολιάσετε