Μεταγλώττιση πυρήνα: Πώς να το κάνετε σε μια βάση Debian Distro;

Μεταγλώττιση πυρήνα: Πώς να το κάνετε σε μια βάση Debian Distro;

Μεταγλώττιση πυρήνα: Πώς να το κάνετε σε μια βάση Debian Distro;

Σε μας προηγούμενη καταχώρισηκλήση "The Linux Kernel: Kernel Basics" απευθυνόμαστε σε κάποια βασικές θεωρητικές βάσεις επί Πυρήνες λειτουργικού συστήματος, συνήθως? και το Πυρήνας Linux, συγκεκριμένος.

Και όπως εκφράσαμε σε αυτό, σε αυτό, θα συμπληρώσουμε είπε βασικές θεωρητικές βάσεις με άλλους σημαντικές έννοιες και πληροφορίες, εκτός από την εμφάνιση της τρέχουσας διαδικασίας για την επίτευξη "μεταγλώττιση πυρήνα Linux" από την αρχή, σε α Διανομή Debian GNU/Linux 11 (Bullseye) ή με βάση αυτό.

Ο πυρήνας του Linux: Βασικά στοιχεία του πυρήνα

Ο πυρήνας του Linux: Βασικά στοιχεία του πυρήνα

Και, πριν αρχίσετε να διαβάζετε αυτήν την ανάρτηση για "μεταγλώττιση πυρήνα" Linux Σε γενικές γραμμές, θα αφήσουμε μερικούς συνδέσμους προς προηγούμενες σχετικές δημοσιεύσεις για μεταγενέστερη ανάγνωση:

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

Build a Kernel: Build Tutorial

Build a Kernel: Build Tutorial

Τι σημαίνει μεταγλώττιση ενός προγράμματος;

Βασικά αυτό τεχνική διαδικασία (ονομάζεται επίσης συσκευασία) συνίσταται στην επίτευξη μετατροπή του πηγαίου κώδικα ενός προγράμματος ή τμήμα του λογισμικού, από την πηγή του (γλώσσα προγραμματισμού που χρησιμοποιείται για τη συγγραφή του εαυτού του) έως α ευανάγνωστο προϊόν (υψηλού επιπέδου γλώσσα προγραμματισμού ερμηνεύσιμη) από υπολογιστή.

Δηλαδή να πετύχεις μετατροπή από τον πηγαίο κώδικα σας μέχρι να γίνει α εκτελέσιμο και λειτουργικό πρόγραμμα, χρησιμοποιώντας α επεξεργαστής (λογισμικό μεταγλωττιστή) για τη μετατροπή της γλώσσας προγραμματισμού που χρησιμοποιείται προς έναν κώδικα δυαδικού τύπου και τύπου assembler.

Και όταν πρόκειται για ανάπτυξη και σύνταξη κάθε είδους πακέτο, εφαρμογή και πρόγραμμα, βασικός και μητρικός, όπως το Πυρήνες επί Debian GNU / Linux, οι παρακάτω συσκευασίες είναι κατάλληλες και απαραίτητες για την απόκτηση ενός αγαθού αναπτυξιακή βάση υποστήριξηςκαι αυτά είναι:

apt install autoconf automake autotools-dev build-essential dh-make debhelper debmake devscripts dpkg fakeroot file gfortran git gnupg fp-compiler lintian patch pbuilder perl python quilt xutils-dev
Βελτιστοποιήστε τα πακέτα GNU/Linux: Debian για να αναπτύξετε εφαρμογές
σχετικό άρθρο:
Βελτιστοποιήστε τα πακέτα GNU/Linux: Debian για να αναπτύξετε εφαρμογές

Πλεονεκτήματα και μειονεκτήματα της μεταγλώττισης ενός πυρήνα Linux από την αρχή

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

  • Επιτύχετε καλύτερη απόδοση και χαμηλότερη κατανάλωση CPU.
  • Αποκτήστε καλύτερη βελτιστοποίηση και χαμηλότερη κατανάλωση μνήμης RAM.
  • Βελτιώστε την προσαρμοστικότητα και τη συμβατότητα του λειτουργικού συστήματος.
  • Αυξήστε την αποδοτικότητα και την παραγωγικότητα του λειτουργικού συστήματος.

Ενώ, αντίθετα, θα μπορούσαμε να δημιουργήσουμε τα ακόλουθα Μειονεκτήματα:

  • Βλάβες λειτουργίας και διαθεσιμότητας των επιθυμητών πόρων και υπηρεσιών στον υπολογιστή που χρησιμοποιείται, λόγω κακών διαμορφώσεων και προβλημάτων που προκλήθηκαν κατά τη μεταγλώττιση.
  • Μια συνεχής, μακρόχρονη και κουραστική δουλειά στην αρχή για να το δημιουργήσει, και στη συνέχεια σε αργότερα, για να το διατηρείτε ενημερωμένο με μη αυτόματο τρόπο. Η οποία μπορεί να κυμαίνεται από λεπτά σε ώρες, ανάλογα με το υλικό που χρησιμοποιείται.
  • Πολύωρη μελέτη και δοκιμές, αφού απαιτείται υψηλό επίπεδο γνώσεων τόσο για τις επιλογές διαμόρφωσης που είναι διαθέσιμες στον πυρήνα όσο και για τον υπολογιστή (τελικό υλικό) όπου θα εκτελεστεί.

Διαθέσιμες κατηγορίες πυρήνων

Διαθέσιμες κατηγορίες πυρήνων

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

  • Κύρια γραμμή ανάπτυξης (Mainline): Αυτή η κατηγορία περιλαμβάνει εκείνους τους πυρήνες που βρίσκονται στο στάδιο ανάπτυξης, επομένως περιέχουν νέες δυνατότητες και λειτουργίες που πρέπει να ελεγχθούν για να μπορέσουν να τεθούν σε σταθερή έκδοση. Αυτά συντηρούνται και κυκλοφορούν απευθείας από τον Linus Torvalds και κυκλοφορούν κάθε 2-3 μήνες κατά μέσο όρο.
  • Σταθερός: Αυτή η κατηγορία περιλαμβάνει εκείνους τους πυρήνες που, αφού περάσουν τα τεστ της μακράς διαδικασίας ανάπτυξης, γίνονται σταθεροί, επομένως υπόκεινται σε διορθώσεις μόνο μέσω ενός καθορισμένου επίσημου συντηρητή. Επίσης, έχουν μόνο μερικές εκδόσεις επιδιόρθωσης σφαλμάτων μέχρι να είναι διαθέσιμο το επόμενο Mainline.
  • Μακροπρόθεσμα: Αυτή η κατηγορία περιλαμβάνει εκείνους τους πυρήνες που, αφού περάσουν τα τεστ της μακράς διαδικασίας ανάπτυξης, γίνονται σταθεροί, αλλά υποστηρίζονται από διορθώσεις σφαλμάτων και συντήρηση για εξαιρετικά μεγάλο χρονικό διάστημα (χρόνια). Λόγος για τον οποίο εφαρμόζονται σημαντικές διορθώσεις σφαλμάτων, οι οποίες μπορεί να γίνουν πολύ συχνές.

Πώς να μεταγλωττίσετε έναν πυρήνα σε ένα GNU/Linux Debian Bullseye Distro;

Πώς να μεταγλωττίσετε έναν πυρήνα σε ένα GNU/Linux Debian Bullseye Distro;

Έχοντας επιλέξει α συγκεκριμένη έκδοση πυρήνα, στον επίσημο ιστότοπο, και γνωρίζοντας ήδη (αντιγράφοντας) το δικό σας διαδρομή λήψης μέσω του κουμπί tarball του ίδιου, μένει μόνο να πραγματοποιηθεί η παρακάτω διαδικασία, την οποία θα δείξουμε λαμβάνοντας ως παράδειγμα, το Σταθερός πυρήνας Linux έκδοση 6.0.8:

Στάδιο 1

cd /usr/src
wget -c https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.0.8.tar.xz
sudo unxz linux-6.0.8.tar.xz
sudo tar xvf linux-6.0.8.tar
sudo ln -s linux-6.0.8 linux
cd /usr/src/linux
sudo make clean && make mrproper
sudo cp /boot/config-`uname -r`* .config
make menuconfig

Εκτελώντας αυτήν την τελευταία εντολή ξεκινά το "Μενού διαμόρφωσης πυρήνα", όπου μπορείς διαμόρφωση (προσαρμογή) παραμέτρων της προτίμησης ή της ανάγκης σας. Επιπλέον, εδώ είναι απαραίτητο να μην ξεχνάμε ότι είναι απαραίτητο ελέγξτε ή καταργήστε την επιλογή του πυρήνα 64-bit, ανάλογα με το τι είναι επιθυμητό ή απαιτούμενο. Και επίσης, αφού κάνετε όλες τις αλλαγές που έγιναν, πρέπει πατήστε το κουμπί Αποθήκευση και στη συνέχεια το Κουμπί εξόδου.

Μενού διαμόρφωσης πυρήνα

Στάδιο 2

Σε αυτό το σημείο υπάρχουν 2 πιθανές διαδρομές να παρεις:

Μόνο εγκατάσταση πυρήνα
sudo make
sudo make modules_install
sudo make install
sudo update-grub; sudo update-grub2; sudo update-initramfs -u
sudo apt clean; sudo apt autoclean; sudo apt autoremove; sudo apt remove; sudo apt purge

Εγκατάσταση πυρήνα και δημιουργία αρχείων .deb

Εγκατάσταση πυρήνα και δημιουργία αρχείων .deb

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

sudo wget -c http://ftp.us.debian.org/debian/pool/main/k/kernel-package/kernel-package_13.018+nmu1~bpo9+1_all.deb
sudo apt install ./kernel-package_13.018+nmu1~bpo9+1_all.deb
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
cd /usr/src
sudo dpkg -i *.deb

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

sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/s/^/#/g' .config

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

Πριν από την εγκατάσταση πυρήνα

Antes de la installación

Μετά την εγκατάσταση πυρήνα

Μετά την εγκατάσταση

σχετικό άρθρο:
Γρήγορες κεφαλίδες πυρήνα, ένα σύνολο ενημερώσεων κώδικα που επιταχύνουν τη συλλογή του πυρήνα κατά 50-80%
σχετικό άρθρο:
Kerla: ένας νέος πυρήνας γραμμένος σε Rust και συμβατός με το Linux ABI

Ενημέρωση: Ανάρτηση banner 2021

περίληψη

Με λίγα λόγια, ελπίζουμε ότι αυτό το σεμινάριο θα είναι πολύ χρήσιμο, τόσο για Προχωρημένοι χρήστες ως Προγραμματιστές του Distros ή του Respin. που συνήθως απαιτούν "μεταγλώττιση πυρήνα" συγκεκριμένα σε ένα εγκατεστημένο λειτουργικό σύστημα GNU/Linux ή σε ένα που δημιουργείται από την αρχή, προκειμένου να ενσωματωθεί ένα καλύτερη απόδοση και βελτιστοποίηση σε συγκεκριμένο υλικό. Κυρίως, με στόχο την επίτευξη, α χαμηλότερη κατανάλωση CPU και RAM.

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


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.