Vanilla Kernel 5.16.10 compile MINT 20.3

Ο οδηγός αυτός απευθύνεται σε νέους χρήστες που θέλουν να παίξουν, να πειραματιστούν και να μυηθούν στο Linux σιγά, σιγά…
Δεν είναι ο “σωστός” τρόπος, υπάρχουν συγκεκριμένες οδηγίες από τις διανομές για μεγαλύτερη ασφάλεια, αλλά είναι ο δικός σου τρόπος!

Let`s get start!

Ωραία έβαλες Linux! διάλεξες Ubuntu ή Mint ή μια κοντινή διανομή. ;Έπαιξαν όλα out of the box και τα περιφερειακά επίσης! Αλλά θέλεις να σχοληθείς λίγο παραπάνω, να μάθεις κάτι παραπάνω από το terminal, το sudo apt κτλ… Ο καλύτερος τρόπος να “μάθεις” το Linux είναι να ασχοληθείς με το Linux!
Και Linux είναι ο πηρύνας ο kernel, δεν είναι το Gnome, KDE, XFCE κτλ
Επίσης πρέπει σιγά σιγά να χακάρεις το σύστημα σου…
Στο Linux πρέπει να υπάρχει ελευθερία διαχείρισης του συστήματος μας, όσο το δυνατόν περισσότερο!
Μέχρι τώρα βλέπεις ενημερώσεις συστήματος πατάς κλικ βάζεις τον κωδικό σου , ξανά κλικ και πυρήνες μπαίνουν , πυρήνες βγαίνουν αλλά δεν έχεις μάθει και κάτι! Απλά έχεις Linux.
Σήμερα θα κάνεις την πρώτη σου χακεριά! Θα εγκαταστήσεις στο σύστημα σου τον τελευταίο πυρήνα 5.16.10 που διαθέτει το kernel.org χωρίς να ακούσεις κατά γράμμα τις οδηγίες ούτε του kernel.org ούτε της διανομής σου!
Αρκεί να έχεις πολύ χρόνο στην διάθεση σου, πάρα πολύ όμως. Και αρκεί να έχεις πάρει backup το σύστημα σου σε βαθμό που όσο και να στραβώσει η κατάσταση να μην σε νοιάζει! Βλέπεις, “καμιά φορά δεν ανοίγουν όλα τα αλεξίπτωτα…” Οπότε ένα Timeshft πχ θα σου φανεί πολύ χρήσιμο…

Αφού πήρες το backup λοιπόν ξεκινάμε:

Απενεργοποίησε την προστασία οθόνη , disable screen saver!

και μετά ενημέρωσε το σύστημα σου

sudo apt update && sudo apt upgrade

τώρα θα εγκαταστήσεις κάποια καλούδια που λοίπουν από το σύστημα και χωρίς αυτά δεν μπορείς να κάνεις μεταγλώττιση και εγκατάσταση τον πυρήνα.

sudo apt install dwarves build-essential libncurses-dev bison flex libssl-dev libelf-dev

οκ υποθέτω είσαι στο /home/ σου οπότε πάμε να φτιάξουμε ένα κατάλογο και να μπούμε μέσα να πιάσουμε δουλειά

mkdir mykernel && cd mykernel/

δεν υπάρχει τίποτα εδώ μέσα, θα κατεβάσουμε τον πυρήνα με wget να γεμίσει ο τόπος!

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.16.10.tar.xz

πάμε να τον αποσυμπιέσουμε τον καημένο

xz -d -v linux-5.16.10.tar.xz
tar xvf linux-5.16.10.tar

μπαίνουμε στον κατάλογο

cd linux-5.16.10

τώρα αρχίζουμε τις πατέντες

sudo find /boot/ \( -iname "*config*" -a -iname "*`uname -r`*" \) -exec cp -i -t ./ {} \;
mv *`uname -r`* .config

τώρα δώσε μου πολύ βάση, διότι αν δεν κάνεις ότι πρέπει εδώ, compile δεν γίνεται στον αιώνα…
από την μία θα μας δέρνει η canonical και από την άλλη οι developers του πυρήνα.
Οπότε για να τους αποδείξουμε ποιος κάνεις κουμάντο στο σύστημα μας θα πειράξουμε λίγο το αρχείο .config

sudo nano .config

στον κειμενογράφο nano που θα ανοίξει στον τερματικό θα πατήσεις Ctrl+W θα γράψεις στο πεδίο αναζήτησης που θα ανοίξει CONFIG_SYSTEM_TRUSTED_KEYS και θα πατήσεις enter
θα σε μεταφέρει στις γραμμές του config που υπάρχει αυτό που έγραψες.
εκεί να “απενεργοποιήσεις” από το αρχείο τα 3 παρακάτω. Ο τρόπος που θα τα απενεργοποιήσεις είναι βάζοντας μπροστά τους το # δηλαδή:

 #CONFIG_SYSTEM_TRUSTED_KEYS

#CONFIG_SYSTEM_TRUSTED_KEYRING
CONFIG_SYSTEM_REVOCATION_KEYS

Αφού έβαλες και στα 3 μπροστά το # πατάς Ctrl+Ο για αποθηκευτούν οι εγγραφές και Ctrl+X για να την κάνεις…

Τώρα πρέπει να ξέρουμε τις δυνατότητες του επεξεργαστή σου για να τον ζορίσουμε λίγο.οπότε δίνεις την εντολή

nproc

και θα δεις ένα νούμερο ως αποτέλεσμα. Αυτό το νούμερο θα το βάλεις στην θέση του ερωτηματικού (?) στην παρακάτω εντολή

make -j?

Αν δεν το κατάλαβες, μόλις άρχισες να κάνεις compile τον πυρήνα σου. Βασικά όχι ακόμα, θα πρέπει να γίνουν κάποιες τελευταίες ρυθμίσεις οπότε έχε τον νου σου διότι θα αρχίσουν κάποιες ερωτήσεις. Βασικά πολλές ερωτήσεις ή για την ακρίβεια πάρα πολλές… :rofl: τεσπα τώρα είναι αργά για να φύγεις!
Αν δεν ξέρεις τι να απαντήσεις η σίγουρη λύση είναι απλά να πατάς enter συνέχεια, θα κρατήσει λίγο αλλά θα τα καταφέρεις… :grin:

Μόλις σταματήσουν οι ερωτήσεις θα το καταλάβεις, γιατί τα πράγματα θα πάνε μόνα τους από εκεί και πέρα…
Θυμάσαι στην αρχή που είπα πρέπει να έχεις χρόνο; Ε τώρα η διαδικασία της μεταγλώττισης θα κρατήσει πολύ, ανάλογα την ισχύ που έχει ο επεξεργαστής σου από 1 ώρα μέχρι…

Αν όλα πάνε καλά και δεν σου βγάλει σφάλματα η επόμενη εντολή είναι αυτή που θα εγκαταστήσει τα modules , αυτά είναι κομμάτια κώδικα που δεν είναι ενσωματωμένα στον πυρήνα αλλά παντρεμένα μαζί του. Δηλαδή μπορεί να ζήσει ο πυρήνας και χωρίς αυτά και εμείς όταν θέλουμε τα ενεργοποιούμε και όταν δεν τα θέλουμε τα χωρίζουμε και δεν τρέχει τίποτα. Άσε που γλυτώσαμε τα reboot κάθε τρεις και λίγο, αν τα είχαμε ενσωματωμένα στο πυρήνα. Η εντολή για να τα εγκαταστήσεις είναι

sudo make modules_install

modules

Ε τώρα να εγκαταστήσουμε και τον πυρήνα

sudo make install

Για παν ενδεχόμενο δίνουμε και

sudo update-initramfs -c -k 5.16.10

ενημερώνουμε και τον grub ότι εμείς κάνουμε κουμάντο εδώ πέρα και έχουμε νέο πυρήνα

sudo update-grub

και τώρα ως root

sudo -i
reboot

Στην επανεκίνηση θα δούμε την οθόνη του grub πατάμε enter στην πρώτη επιλογή που είναι ο πυρήνας μας ή με τα βελάκια επιλέγουμε από ποιον άλλο παλαιότερο θα μπούμε. Υποθέτω πως μπήκες με τον καινούριο που μόλις έφτιαξες και για να το διαπιστώσεις ακόμα καλύτερα άνοιξε τερματικό και

hostnamectl

συμπέρασμα;
είσαι χάκερ :wink:

6 «Μου αρέσει»