Πώς να εγκαταστήσετε και να μεταγλωττίσετε τον πυρήνα στο Debian


Ένα από τα μεγαλύτερα πλεονεκτήματα στη χρήση του Linux είναι η εύκολη προσαρμογή του και ένα από τα πιο διασκεδαστικά πράγματα για προσαρμογή είναι ο ίδιος ο Kernel, η καρδιά του λειτουργικού συστήματος Linux.

Οι πιθανότητες είναι ότι πιθανότατα δεν θα χρειαστεί ποτέ να μεταγλωττίσετε τον δικό σας πυρήνα. Αυτό που αποστέλλεται με τη διανομή και τις ενημερώσεις μέσω του συστήματος διαχείρισης πακέτων σας είναι συνήθως αρκετά καλό, αλλά υπάρχουν φορές που μπορεί να χρειαστεί να μεταγλωττίσετε ξανά τον πυρήνα.

Μερικοί από αυτούς τους λόγους μπορεί να είναι ειδικές ανάγκες υλικού, η επιθυμία να δημιουργηθεί ένας μονολιθικός πυρήνας αντί για αρθρωτοποιημένος, η βελτιστοποίηση του πυρήνα αφαιρώντας άχρηστα προγράμματα οδήγησης, η εκτέλεση ενός πυρήνα ανάπτυξης ή απλώς η εκμάθηση περισσότερων για το Linux.

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

Πώς να μεταγλωττίσετε τον πυρήνα στο Debian

Για να ξεκινήσουμε, θα χρειαστούμε ορισμένα πακέτα, συγκεκριμένα build-essential και κεφαλίδες πυρήνα.

sudo apt update
sudo apt install build-essential linux-headers-$(uname -r)

Τώρα, επισκεφτείτε τον επίσημο ιστότοπο του πυρήνα για να κατεβάσετε την επιθυμητή έκδοση του πυρήνα. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τις ακόλουθες εντολές για να πραγματοποιήσετε απευθείας λήψη της πηγής.

wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.7.tar.xz
tar -xvf linux-6.7.tar.xz
cd linux-6.7/

Τώρα, θα χρειαστεί να διαμορφώσουμε τον πυρήνα, καλό είναι να ξεκινήσουμε με τη διαμόρφωση που χρησιμοποιείται αυτήν τη στιγμή και να βασιστούμε σε αυτήν. Για να το πετύχουμε αυτό, θα αντιγράψουμε την υπάρχουσα διαμόρφωση από τον κατάλογο /boot στον τρέχοντα κατάλογο εργασίας και θα τον αποθηκεύσουμε ως .config.

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

Για να ξεκινήσετε με την πραγματική διαδικασία διαμόρφωσης, έχετε μία από τις δύο επιλογές.

  1. Εάν έχετε εγκαταστήσει το X11, μπορείτε να εκτελέσετε το make xconfig και να έχετε ένα ωραίο μενού GUI για να σας βοηθήσει καθώς διαμορφώνετε τον πυρήνα σας .
  2. Εάν εκτελείτε σε περιβάλλον CLI, μπορείτε να εκτελέσετε το make menuconfig, αλλά θα χρειαστεί εγκατεστημένο το πακέτο libncurses5-dev για να το χρησιμοποιήσετε.

Εάν πρόκειται να χρησιμοποιήσετε ένα περιβάλλον cli, φροντίστε να εγκαταστήσετε το πακέτο libncurses5-dev για να ξεκινήσετε τη διαδικασία διαμόρφωσης του πυρήνα όπως φαίνεται.

apt install libncurses5-dev
make menuconfig

Όπως θα δείτε, μόλις βρεθείτε στη διαμόρφωση της επιλογής σας, υπάρχουν πολλές διαφορετικές επιλογές για τον Πυρήνα σας. Στην πραγματικότητα, υπάρχουν πάρα πολλά για το εύρος αυτού του σεμιναρίου.

Όταν επιλέγετε επιλογές Πυρήνα, ο καλύτερος τρόπος είναι με δοκιμή και σφάλμα και να κάνετε άφθονο Google, που είναι ο καλύτερος τρόπος για να μάθετε. Αν απλώς προσπαθείτε να ενημερώσετε τον Πυρήνα σας στην πιο πρόσφατη έκδοση, δεν χρειάζεται να αλλάξετε τίποτα και μπορείτε απλώς να επιλέξετε «Αποθήκευση διαμόρφωσης ». Εφόσον αντιγράψαμε το αρχείο διαμόρφωσης του τρέχοντος πυρήνα στο αρχείο .config του νέου πυρήνα.

Λάβετε υπόψη ότι το "Φορτωτής λειτουργικής μονάδας πυρήνα" έχει επιλεγεί στο "Υποστήριξη λειτουργικής μονάδας με δυνατότητα φόρτωσης". Εάν δεν είναι, και χρησιμοποιείτε μονάδες πυρήνα, μπορεί να μπερδέψει σοβαρά τα πράγματα.

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

make
make modules_install
make install

Μόλις εγκατασταθεί, απλώς κάνετε επανεκκίνηση και επιλέγετε τον νέο πυρήνα από το μενού GRUB σας.

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

Για να ελέγξετε τη νέα έκδοση του πυρήνα στο Debian, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή στο τερματικό.

uname -r

Εάν θέλετε να δείτε μια λίστα με εγκατεστημένους πυρήνες, μπορείτε να ελέγξετε τα περιεχόμενα του καταλόγου /boot:

ls /boot

Αφαιρέστε τον παλιό πυρήνα στο Debian

Για να αφαιρέσετε παλιούς πυρήνες στο Debian, πρώτα πρέπει να καταχωρίσετε τους εγκατεστημένους πυρήνες για να προσδιορίσετε αυτούς που θέλετε να καταργήσετε χρησιμοποιώντας την εντολή dpkg.

dpkg --list | grep linux-image

Για να αφαιρέσετε έναν παλιό πυρήνα, χρησιμοποιήστε την ακόλουθη εντολή apt και φροντίστε να αντικαταστήσετε το linux-image-OLD_VERSION με τον αριθμό έκδοσης του πυρήνα που θέλετε να καταργήσετε.

sudo apt purge linux-image-OLD_VERSION

Αφού αφαιρέσετε τους παλιούς πυρήνες, ενημερώστε το GRUB για να αντικατοπτρίζει τις αλλαγές.

update-grub

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