Precise Optimized Kernels (POK)

ΑΥΤΗ Η ΔΗΜΟΣΙΕΥΣΗ ΕΧΕΙ ΓΙΝΕΙ ΠΑΝΩ ΑΠΟ ΕΝΑ ΧΡΟΝΟ ΠΡΙΝ!

Σε αυτό το άρθρο θα δούμε τι είναι ο πυρήνας POK και πως μπορείτε να τον εγκαταστήσετε και να τον δοκιμάσετε στο σύστημά σας. Οι πυρήνες αυτής της σειράς είναι (και θα είναι) διαθέσιμοι μέσω αποθετηρίου (PPA) για το Ubuntu 12.04 LTS Precise Pangolin.

Είναι βασισμένοι στον 3.2.0 πυρήνα του Ubuntu, ο οποίος είναι LTS (longterm) και θα συντηρείται με bugfixes και security fixes έως τον Απρίλιο του 2017.
Ίσως κάποια στιγμή φτιάξω και ένα PPA για πιο νέους πυρήνες – πιο νέες διανομές (π.χ για το Saucy – SOK)

Ας ξεκινήσουμε λίγο ανάποδα.

Credits

Δεν είμαι ούτε Kernel Developer, ούτε Kernel Maintainer. Ασχολήθηκα (και συνεχίζω να ασχολούμαι) με τον πυρήνα περισσότερο πειραματικά και εμπειρικά.
Τις γνώσεις που έχω τις οφείλω πρώτα στο, γνωστό στους περισσότερους, ψάξιμο-διάβασμα και έπειτα σε μερικούς ανθρώπους που είτε μου έδειξαν έναν δρόμο, είτε μου είπαν κάποια tips & tricks που με βοήθησαν. Έναν από αυτούς ίσως να τον ξέρετε, είναι ο Salih Emin. Οι υπόλοιποι είναι kernel developers με διαθέσεις διδασκαλίας και μπορείτε να τους βρείτε συνήθως στο IRC (freenode) στο #ubuntu-kernel κανάλι. (ευχαριστώ όλους).

Τι είναι ο πυρήνας POK

Βασικά το POK (απ’ ότι έχετε ήδη καταλάβει) δεν είναι κάτι άλλο από την συντομογραφία του Precise Optimized Kernels (ή Kernel). Έτσι μου ήρθε, έτσι το ονόμασα.
Οι διαφορές που έχει με τον βασικό πυρήνα του Ubuntu είναι:

  1. BFQ scheduler
  2. Desktop Optimizations

BFQ Scheduler
Εδώ έρχεται και «κολλάει» ο Salih. Από εκείνον πήρα το έναυσμα να patchαρω τον πυρήνα με τον BFQ scheduler για να δω τις διαφορές.
Ο BFQ scheduler είναι ένας αλγόριθμος που επιτρέπει ιεραρχικό scheduling με τα cgroups interfaces.
Με άλλα λόγια, αυτό που καταφέρνει ο BFQ Scheduler το οποίο δεν καταφέρνει ο default CFQ (ή DEADLINE) είναι να μπορεί να τρέχει περισσότερες παράλληλες εφαρμογές με λιγότερο Workload, σαν ο δίσκος να ήταν Idle. Να προσθέσουμε πως ο BFQ συνεργάζεται πολύ καλά (ή και καλύτερα) και με SSD δίσκους.
Μερικές διανομές, όπως το Sabayon Linux, χρησιμοποιούν τον BFQ ως default scheduler, ενώ άλλες όπως το Arch Linux και το Gentoo, τον έχουν σαν επιλογή (optional)

Desktop Optimizations
Αυτά είναι κάποιες μικρές (αλλά ίσως σημαντικές) αλλαγές στο configuration του default πυρήνα, για καλύτερη απόκριση και λειτουργία. Δεν θα αναλύσω τι είναι η κάθε μια ή τι έχω κάνει ακριβώς. Πάντως το σίγουρο είναι πως δεν βλάπτουν.

Όλοι οι πυρήνες που ανεβάζω στο αποθετήριο είναι πρώτα δοκιμασμένοι (tested) και στο Desktop και στο Laptop που έχω, για να δω αν λειτουργούν σωστά και χωρίς προβλήματα.

Περί αναβαθμίσεων

Η γνώμη μου περί αναβαθμίσεων στον πυρήνα δεν συμπίπτει με εκείνη του Ubuntu. Βέβαια το Ubuntu ως διανομή «πρέπει» να ακολουθεί τις εξελίξεις, οπότε και αναβαθμίζει πυρήνες κάθε δυο με τρεις μήνες (όταν βγει νέος πυρήνας Linux). Δεν το κατηγορώ αυτό, ναι οι νέοι πυρήνες βοηθούν στην υποστήριξη νέου λογισμικού.. κλπ. Απλά εγώ δεν ακολουθώ αυτό το μοτίβο.
Μην περιμένετε λοιπόν να βλέπετε αναβαθμίσεις κάθε 2-3 μήνες. Ίσως περάσουν και 6 μήνες μέχρι να ανεβάσω τον επόμενο πυρήνα. Επιπροσθέτως θα πρέπει να παρακολουθείτε το αποθετήριο για τυχών νέα έκδοση πυρήνα. Επειδή τα πακέτα θα έχουν τελείως διαφορετικό όνομα, δεν θα γίνεται αναβάθμιση αυτόματα, αλλά θα πρέπει να κάνετε εγκατάσταση του νέου πυρήνα χειροκίνητα.
Διάλεξα τον 3.2 επειδή είναι LongTerm και θα υποστηρίζεται μέχρι το 2017, όπως και την έκδοση Precise Pangolin η οποία θα υποστηρίζεται επίσης μέχρι το 2017.
Στο προσωπικό μου σύστημα αυτό που έχω κάνει είναι ότι έχω αφαιρέσει τα μετά-πακέτα linux-image-generic και linux-headers-generic και έτσι δεν λαμβάνω ενημερώσεις για νέους πυρήνες, όταν αυτοί γίνονται διαθέσιμοι. Εγκαθιστώ όποιον πυρήνα θέλω εγώ και κάνω αναβάθμιση όταν θέλω εγώ. Δεν σας προτρέπω να κάνετε το ίδιο, απλά λέω τι έχω κάνει στο δικό μου σύστημα.

Εγκατάσταση

Υπάρχει κι εδώ μια διαφορά (που προσωπικά μου πήρε 2-3 ώρες μέχρι να την καταφέρω). Ο πυρήνας έχει μετονομαστεί έτσι, ώστε να μην γίνεται αναβάθμιση του ήδη υπάρχων. Αν έχετε πυρήνα της σειράς 3.2 , με την προσθήκη του αποθετηρίου ο πυρήνας δεν θα αντικατασταθεί με τον patcαρισμενο. Θα πρέπει λοιπόν να τον εγκαταστήσετε χειροκίνητα. Για να εγκαταστήσετε τον τελευταίο διαθέσιμο τρέξτε τις παρακάτω εντολές

sudo add-apt-repository ppa:nick-athens30/precise-optimized
sudo apt-get update
sudo apt-get install linux-image-3.2.0-530-generic linux-headers-3.2.0-530-generic

Ο λόγος που το έκανα έτσι, λίγο διαφορετικά, είναι ο εξής απλός.
Ότι πρόβλημα αντιμετωπίσετε (αν αντιμετωπίσετε) με τον POK πυρήνα, μπορείτε να κάνετε εκκίνηση από τον κανονικό. Δηλαδή ο κανονικός πυρήνας του Ubuntu δεν αντικαθίσταται από τον patcαρισμενο, ούτε και κάποια νεότερη έκδοση του πυρήνα Ubuntu θα αντικαταστήσει τον patcαριμένο. Αυτό, στην περίπτωση που κάποιοι έχετε πυρήνα της σειράς 3.2.

Αν έχετε πυρήνα νεότερης σειράς, τότε θα χρειαστεί να κάνετε manual εκκίνηση από το μενού του grub. Ο grub έχει την ιδιότητα να βάζει πρώτο τον πυρήνα που είναι νεότερος (και αυτό κρίνεται από τον αριθμό). Οπότε αν έχετε πυρήνα της σειράς 3.8 για παράδειγμα, θα χρειαστεί να πατήστε στο Previous Linux Versions (ή Advanced Options for Ubuntu) και να επιλέξετε από εκεί τον πυρήνα για να κάνετε boot.

Απεγκατάσταση

Λόγω του ότι ο πυρήνας έχει ξεχωριστό (unique) όνομα, μπορείτε να τον απεγκαταστήσετε βάσει ονόματος. Δεν είναι ανάγκη να «καλέσετε» το ppa-purge. Οπότε απλά κάντε boot από έναν άλλο πυρήνα και τρέξτε

sudo apt-get purge linux-image-3.2.0-530-generic linux-headers-3.2.0-530-generic
sudo apt-get --purge autoremove

Το αποθετήριο το διαγράφετε με την εντολή

sudo add-apt-repository --remove ppa:nick-athens30/precise-optimized
sudo apt-get update

Εν τέλει..

Τους παραπάνω πυρήνες τους προτείνω σε όσους δεν αντιμετωπίζουν κάποιο πρόβλημα με υποστήριξη κάποιας συσκευής και σε όσους έχουν την έκδοση 12.04 LTS , στοχεύοντας σε ένα σταθερό και καλύτερο (ίσως) περιβάλλον εργασίας.
Αν αντιμετωπίζετε κάποιο πρόβλημα με την μη υποστήριξη κάποιας συσκευής, τότε ίσως θα πρέπει να αναβαθμίσετε σε νεότερης έκδοσης πυρήνα (3.5 , 3.8 , 3.11 ..κλπ) για να δείτε αν υπάρχει εκεί υποστήριξη.

Καλές δοκιμές και ελπίζω να δείτε καλύτερη λειτουργία με τον πυρήνα POK.

Συμβάλετε κι εσείς με ένα σχόλιο

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s