Η εγκατάσταση και χρήση των custom kernel όπως το Linux-ck και Zen Kernel στο Arch Linux, είναι πολύ απλή για όποιον ενδιαφέρεται να βελτιώσει την απόκριση του λειτουργικού συστήματος για τις καθημερινές εργασίες του.
Εισαγωγή
Όσοι έχετε Ubuntu πολύ πιθανών να έχετε διαβάσει ήδη τα άρθρα σχετικά με την βελτιστοποίηση του πυρήνα Linux και όλα τα σχετικά με το BFS και το BFQ στο link :
https://cerebrux.net/odigoi/#linux-source-compiling
Οπότε για όποιον δεν τα γνωρίζει θα πρότεινα πρώτα να τα διαβάσει και μετά να συνεχίσει.
Σήμερα θα δούμε πως μπορούμε να εγκαταστήσουμε τους δύο (linux-ck, linux-zen) παρόμοιους τύπους BFS/BFQ based Linux Kernel στο Arch Linux.
Παρότι έχουν την ίδια βάση, δηλαδή Linux πυρήνας με BFS και BFQ patches, παρόλα αυτά διαφέρουν ως προς την κοινότητα που τα αναπτύσσει αλλά και τα «εξτραδάκια» που έχουν ενεργά. Επίσης, το Linux-zen θα το βρείτε στα αποθετήρια του Arch ενώ το Linux-ck θα πρέπει να προσθέσετε ένα αποθετήριο επιπλέον. Για περισσότερα, σχετικά με τις διαφορές τους, δείτε τις πηγές στο τέλος και ξεκινήστε το διάβασμα.
Αν αναρωτιέστε ποιο να βάλετε από τα δύο, θα έλεγα να τα δοκιμάσετε και τα δύο για μια βδομάδα το καθένα και να αποφασίσετε μόνοι σας. Έτσι θα σας δοθεί χρόνος να δείτε τα οφέλη αλλά και να αφιερώσετε χρόνο στο να διαβάσετε και να εμβαθύνετε στα θέματα των custom kernel.
Εγκατάσταση Linux-zen
Όπως είπαμε, το linux-zen βρίσκεται ήδη στα αποθετήρια οπότε το κάνετε εγκατάσταση με
sudo pacman -S linux-zen
έπειτα ενημερώνουμε το boot menu του GRUB για την παρουσία του νέου kernel :
sudo grub-mkconfig -o /boot/grub/grub.cfg
τέλος, προετοιμάζουμε το σύστημα να ξεκινάει με τον BFQ ενεργό
sudo -i echo "w /sys/block/sda/queue/scheduler - - - - bfq" > /etc/tmpfiles.d/set_IO_scheduler.conf
Σημείωση : Αν έχετε και δεύτερο δίσκο, μέσα στο PC θα πρέπει να προσθέσετε την ίδια γραμμή, δεύτερη φορά στο αρχείο set_IO_scheduler.conf απλά αντικαθιστώντας το sda με το sdb.
Τώρα μπορούμε να κάνουμε επανεκκίνηση. Στην εκκίνηση του grub menu θα δείτε πια, μια νέα εγγραφή «linux-zen» την οποία επιλέγετε για να εκκινήσετε το σύστημά σας. Αφού εκκινήσει το σύστημα μπορείτε να επιβεβαιώσετε τον πυρήνα που τρέχετε με
uname -r
και το ότι έχετε ενεργό το BFQ με
cat /sys/block/sda/queue/scheduler noop deadline cfq [bfq]
Εγκατάσταση Linux-ck
Όπως αναφέραμε το linux-ck, θα το κάνουμε εγκατάσταση με την έτοιμη μορφή του και όχι κάνοντας μεταγλώττιση τον πηγαίο κώδικά του. Για να γίνει αυτό θα πρέπει να προσθέσουμε ένα εξωτερικό αποθετήριο και συγκεκριμένα του maintainer graysky στο pacman.conf
sudo nano /etc/pacman.conf
και προσθέτουμε το παρακάτω στο τέλος:
[repo-ck] Server = http://repo-ck.com/$arch Server = http://repo-ck.com/$arch Server = http://repo-ck.com/$arch Server = http://repo-ck.com/$arch Server = http://repo-ck.com/$arch
Θα δείτε ότι υπάρχει 5 φορές η ίδια εγγραφή παραπάνω. Αυτό το κάνουμε διότι ο χρήστης που έχει το αποθετήριο το συντηρεί σε server της Godaddy με το οποίο πολλές φορές μπορεί να διακοπεί η σύνδεσή οπότε εξασφαλίζουμε ότι θα γίνουν άλλες 5 φορές δοκιμή για λήψη των πακέτων.
Κλείνουμε και αποθηκεύουμε (ctrl+X) το αρχείο. Τέλος προσθέτουμε τα δημόσια κλειδιά του maintainer (graysky) στο σύστημά μας.
sudo pacman-key -r 5EE46C4C && sudo pacman-key --lsign-key 5EE46C4C
ενημερώνουμε την βάση δεδομένων με τα διαθέσιμα πακέτα
sudo pacman -Syy
Εδώ σε σχέση με το linux-zen υπάρχει μια διαφορά. Ο maintainer μας παρέχει έτοιμος kernel μεταγλωττισμένους αλλά και βελτιστοποιημένους για την οικογένεια του επεξεργαστή μας !!! Δείτε για παράδειγμα μια λίστα με τα διαθέσιμα kernel
pacman -Ss linux-ck | grep repo-ck/linux-ck
Για να δούμε σε πια οικογένεια ανήκει ο επεξεργαστής του PC μας αρκεί να τρέξουμε τον gcc compailer με την παρακάτω μορφή :
gcc -c -Q -march=native --help=target | grep march
Στο δικό PC διαθέτω CPU της οικογένειας silvermont οπότε και εγκαθιστώ αυτόν
sudo pacman -S linux-ck-silvermont
έπειτα ενημερώνουμε το boot menu του GRUB για την παρουσία του νέου kernel :
sudo grub-mkconfig -o /boot/grub/grub.cfg
τέλος, προετοιμάζουμε το σύστημα να ξεκινάει με τον BFQ ενεργό
sudo -i echo "w /sys/block/sda/queue/scheduler - - - - bfq" > /etc/tmpfiles.d/set_IO_scheduler.conf
Σημείωση : Αν έχετε και δεύτερο δίσκο, μέσα στο PC θα πρέπει να προσθέσετε την ίδια γραμμή, δεύτερη φορά στο αρχείο set_IO_scheduler.conf απλά αντικαθιστώντας το sda με το sdb.
Τώρα μπορούμε να κάνουμε επανεκκίνηση. Στην εκκίνηση του grub menu θα δείτε πια, μια νέα εγγραφή «linux-ck» την οποία επιλέγετε για να εκκινήσετε το σύστημά σας. Αφού εκκινήσει το σύστημα μπορείτε να επιβεβαιώσετε τον πυρήνα που τρέχετε με
uname -r
και το ότι έχετε ενεργό το BFQ με
cat /sys/block/sda/queue/scheduler noop deadline cfq [bfq]
Πηγές:
«Τρέχοντας» το πολύ καλά τεκμηριωμένο άρθρο περί linux-ck και ασχέτως αν αφορά πιο advanced users (power users), θα ήθελα να επισημάνω ότι χρειάζεται λίγο προσοχή σε περίπτωση όπως αυτή:
Σε τέτοια περίπτωση θα πρέπει να επιλεχθεί ο linux-ck-k10 kernel.
Καμιά φορά, καλό είναι να θυμούνται οι παλαιοί και να μαθαίνουν οι νεότεροι….
(Αν θέλετε βάζετε και την εικόνα, όπου εμφανίζονται καλύτερα αυτά τα οποία ανέφερα)
Φιλικά πάντα…
ποιος επεξεργαστής είναι αυτός ?
AMD Phenom II π.χ.
Ωραία, όποιος έχει τον ίδιο επεξεργαστή θα ξέρει τι να διαλέξει !
Ισχύει…
Και μάλιστα είναι ολόκληρη σειρά επεξεργαστών της AMD που ανήκουν σε αυτή την οικογένεια, όπως οι Athlon, Turion, Phenom και 61χχ….
Επίσης προσοχή χρειάζεται στην περίπτωση που υπάρχουν περισσότεροι από έναν σκληρό δίσκο με την εντολή echo.
Η δεύτερη εγγραφή μου αντικατέστησε την πρώτη και πριν το reboot παραλίγο να το έχανα, οπότε προτείνω την χρήση του vim ή του nano, όπως φαίνεται στην εικόνα
Και πάλι φιλικά
Paschalis Sposito, [08.12.18 14:42]
Ή η γραμμή του echo από:
να γίνει:
για την κάθε εγγραφή.
Σόρυ για τον ετεροχρονισμό του comment…
Έλεγα, τι δεν είχα γράψει…..
Φιλικά
Τι έγινε ρε παιδιά δεν τους βρίσκω στα αποθετήρια μόνο στο Aur !
Τους αφαίρεσαν ; Χρησιμοποιούσα στο ubuntu τον liquorix kernel τώρα θέλει πέντε έξι ώρες να κάνει compiling
Δες τις παραπομπές. Το zen kernel είναι στα extras και το linux-ck είναι μέσω του αποθετηριο που δίνει το άρθρο.
Στο Ubuntu το liquorix είναι διαθέσιμο μέσω PPA