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

Η σύνταξη του δικού σας πυρήνα Linux είναι ένα από αυτά τα περίεργα, τεχνικά πράγματα, σωστά; Έχουμε ήδη καλύψει μερικούς λόγους για τους οποίους μπορεί να θέλετε να το κάνετε αυτό - τώρα είναι η στιγμή να το δοκιμάσετε μόνοι σας!

Η σύνταξη του δικού σας πυρήνα Linux είναι ένα από αυτά τα περίεργα, τεχνικά πράγματα, σωστά;  Έχουμε ήδη καλύψει μερικούς λόγους για τους οποίους μπορεί να θέλετε να το κάνετε αυτό - τώρα είναι η στιγμή να το δοκιμάσετε μόνοι σας!
Διαφήμιση

Παράλληλα με την εγκατάσταση του Gentoo Gentoo: Μια διανομή Linux όπου μπορείτε να συντάξετε το δικό σας βελτιστοποιημένο λογισμικό Gentoo: Μια διανομή Linux όπου μπορείτε να συντάξετε το δικό σας βελτιστοποιημένο λογισμικό Ο τεράστιος αριθμός διαφορετικών τρόπων με τους οποίους το Linux μπορεί να τρέξει είναι εκπληκτικό, καθώς υπάρχουν πολλές επιλογές πηγαινω τριγυρω. Ενώ υπάρχουν πολλές διανομές που βασίζονται είτε στο .deb ... Διαβάστε περισσότερα, η σύνταξη του δικού σας πυρήνα Linux είναι ένα από εκείνα τα πράγματα που θεωρούνται πολύ geeky και τεχνικά. Έχουμε ήδη καλύψει μερικούς λόγους 3 Λόγοι για τους οποίους μπορεί να θέλετε να συντάξετε τον δικό σας πυρήνα [Linux] 3 λόγοι για τους οποίους μπορεί να θέλετε να συντάξετε τον δικό σας πυρήνα [Linux] Τα συστήματα Linux είναι τόσο γελοία ευέλικτα και διαμορφώσιμα, είναι εντελώς τρελά. Ένα τεράστιο μέρος του γιατί το Linux είναι τόσο ευέλικτο είναι λόγω της δομοστοιχειωτής δομής του. Κάθε μεμονωμένο στοιχείο και πρόγραμμα του συστήματος χωρίζονται ... Διαβάστε περισσότερα γιατί ίσως θέλετε να το κάνετε αυτό. Πριν σας οδηγήσουμε στα βήματα, ακολουθεί μια σύντομη επισκόπηση ορισμένων σημαντικών εννοιών.

Τι είναι ένας πυρήνας;

Εν ολίγοις, είναι ένα ζωτικό μέρος του λειτουργικού σας συστήματος, αν όχι το πιο σημαντικό. Ένα λειτουργικό σύστημα είναι υπεύθυνο για τη λειτουργία των προγραμμάτων σας, επιτρέποντάς τους να έχουν πρόσβαση στο υλικό σας. Ωστόσο, είναι ο πυρήνας Ο πυρήνας του Linux: Μια Επεξήγηση σε Όρους Layer Ο πυρήνας του Linux: Μια Επεξήγηση σε Όρους Layer Υπάρχει μόνο ένα de facto πράγμα που οι κοινές διανομές Linux έχουν: ο πυρήνας του Linux. Αλλά ενώ μιλάει συχνά, πολλοί άνθρωποι δεν ξέρουν ακριβώς τι ακριβώς κάνει. Διαβάστε περισσότερα που πραγματικά φέρνει όλες αυτές τις θέσεις εργασίας έξω.

Ο πυρήνας του Linux είναι ξεχωριστός επειδή μπορεί να προσαρμοστεί στο υλικό που διαθέτετε. Αντιπαραβάλτε αυτό με τον πυρήνα των Windows NT, ο οποίος θα είναι γενικά ο ίδιος σε όλους τους υπολογιστές. Για να γίνει αυτό, ο πυρήνας πρέπει να περάσει από μια διαδικασία που ονομάζεται compiling.

Τι είναι η συλλογή;

Γενικά, τα προγράμματα είναι γραμμένα σε μορφή αναγνώσιμη από άνθρωπο. Αυτό καθιστά ευκολότερο για τους ανθρώπους τη δημιουργία λογισμικού. Για παράδειγμα, ο πυρήνας του Linux είναι γραμμένος κυρίως σε μια γλώσσα προγραμματισμού που ονομάζεται C. Ωστόσο, οι υπολογιστές δεν μπορούν να το καταλάβουν. Αναγνωρίζουν μόνο μια περίπλοκη γλώσσα που ονομάζεται κωδικός μηχανής . Για να το κάνετε αυτό, οι γραμμές του κειμένου πρέπει να μεταφραστούν Πώς να μεταγλωττίσετε και να εγκαταστήσετε τα αρχεία TAR GZ & TAR BZ2 στο Ubuntu Linux Πώς να μεταγλωττίσετε και να εγκαταστήσετε τα αρχεία TAR GZ & TAR BZ2 στο Ubuntu Linux Διαβάστε περισσότερα χρησιμοποιώντας ένα ειδικό λογισμικό που ονομάζεται compiler .

Διαφορετικοί μεταγλωττιστές χρησιμοποιούνται για τη μετατροπή διαφορετικών γλωσσών προγραμματισμού. Για παράδειγμα, το GCC είναι ένας μεταγλωττιστής που μεταφράζει τον κώδικα C στον κώδικα μηχανής (μεταξύ άλλων). Αλλά αυτό δεν είναι μόνο που κάνουν - οι μεταγλωττιστές μπορούν επίσης να βελτιστοποιήσουν τον μεταφρασμένο κώδικα για συγκεκριμένα μηχανήματα. Μαζί με αυτό, μπορούν επίσης να αφαιρέσουν τα ανεπιθύμητα χαρακτηριστικά από τα προγράμματα ενώ το κάνουν.

Συνήθως, αυτή η διαδικασία έχει ήδη γίνει για πολλά λογισμικά. Αντ 'αυτού, οι χρήστες κατεβάζουν τις μετατροπές δυαδικών εντολών, οι οποίες λειτουργούν εκτός πλαισίου. Για παράδειγμα, ο φυλλομετρητής Ιστού Χρησιμοποιείτε τον καλύτερο περιηγητή ιστού για το Linux το 2016; Χρησιμοποιείτε τον καλύτερο περιηγητή ιστού για το Linux το 2016; Η χρήση του "λάθους" προγράμματος περιήγησης μπορεί να οδηγήσει σε πολλούς περιττούς πονοκεφάλους, χαμένη παραγωγικότητα και ακόμη και απώλεια δεδομένων. Ποιο πρόγραμμα περιήγησης είναι το καλύτερο για τον υπολογιστή σας Linux; Ας ανακαλύψουμε. Διαβάστε περισσότερα που τρέχετε αυτή τη στιγμή έχει ήδη καταρτιστεί. Αυτό συμβαίνει επειδή η σύνταξη ενός στοιχείου μπορεί να είναι λίγο περίπλοκη και χρονοβόρα. Σκεφτείτε το να μεταφράσετε ένα μεγάλο βιβλίο σε μια ξένη γλώσσα.

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

Λήψη πηγών πυρήνα

Δεν μπορείτε να κάνετε πυρκαγιά χωρίς καύσιμο. Ομοίως, δεν μπορείτε να μεταγλωττίσετε προγράμματα αν δεν έχετε πρώτα τον κωδικό. Η μέθοδος είναι γενικά η ίδια για τα περισσότερα λειτουργικά συστήματα Linux με μερικές εξαιρέσεις. Πολλοί από αυτούς παρέχουν τις δικές τους προσαρμοσμένες πηγές πυρήνα. Θα πρέπει να προσπαθήσετε να το χρησιμοποιήσετε αν μπορείτε. Για παράδειγμα, αν χρησιμοποιείτε λειτουργικό σύστημα που βασίζεται στο Debian, όπως το Ubuntu, θα πρέπει να εγκαταστήσετε τις πηγές χρησιμοποιώντας αυτές τις εντολές:

sudo apt-get update sudo apt-get install linux-source 

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

Μπορείτε επίσης να εγκαταστήσετε διαφορετικές εκδόσεις αυτού του πακέτου (π.χ. linux-source-4.8.0 ) αν θέλετε. Θα βρείτε τα εγκατεστημένα αρχεία στον κατάλογο / usr / src /, ώστε να πλοηγηθείτε εκεί και να δείτε τα περιεχόμενα:

 cd /usr/src/ ls 

Θα δείτε ένα αρχείο που τελειώνει με .tar.bz2 . Αυτή είναι η πηγή που χρησιμοποιείτε. Εξαγάγετε το με αυτήν την εντολή:

 sudo tar xjvf linux-source-4.4.0.tar.bz2 

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

Εναλλακτική μέθοδος

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

Πώς να μεταγλωττίσετε τις πηγές πυρήνα του πυρήνα βανίλιας του Linux

Αφού το κάνετε αυτό, εξαγάγετε το αρχείο με αυτήν την εντολή:

 tar xJvf linux-4.9.11.tar.xz 

Πώς να μεταγλωττίσετε τον δικό σας πυρήνα του Linux Vanilla Linux Source

Βεβαιωθείτε ότι χρησιμοποιείτε το όνομα αρχείου που αντιστοιχεί στην έκδοση που κατεβάσατε!

Προσαρμόστε τον πυρήνα

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

Προϋποθέσεις

Προτού προχωρήσετε, πρέπει να εγκαταστήσετε ορισμένα προγράμματα που θα σας επιτρέψουν να προσαρμόσετε και να τα καταρτίσετε.

Στα συστήματα που βασίζονται στο Debian, χρειάζεστε το πακέτο βασικών λειτουργιών, μεταξύ άλλων:

 sudo apt-get install build-essential gcc libncurses5-dev libssl-dev 

Το πακέτο libncurses5-dev θα διευκολύνει τη διαμόρφωση του πυρήνα, γι 'αυτό βεβαιωθείτε ότι το εγκαταστήσατε. Άλλα λειτουργικά συστήματα Linux θα έχουν παρόμοιο πρόγραμμα, αλλά αυτό μπορεί να έχει διαφορετικό όνομα. Για παράδειγμα, εάν χρησιμοποιείτε Fedora 5 Λόγοι για να χρησιμοποιήσετε το Pure Open Source Distro, Fedora 5 λόγοι για να χρησιμοποιήσετε Pure Open Source Distro, το Fedora Fedora δεν είναι τόσο γνωστό όσο το Ubuntu και έχει τη φήμη ότι είναι δύσκολο να το χρησιμοποιήσει. Αλλά αν αυτό ισχύει, γιατί τόσοι πολλοί άνθρωποι συνεχίζουν να χρησιμοποιούν το Fedora; Διαβάστε περισσότερα, ονομάζεται ncurses .

Αν δεν έχει ήδη εγκατασταθεί, θα χρειαστείτε επίσης τη Συλλογή Μεταγλωττιστή GNU (GCC). Αυτό είναι το εργαλείο που είναι υπεύθυνο για τη μετάφραση του ακατέργαστου πηγαίου κώδικα σε κάτι κατανοητό στους υπολογιστές. Δηλαδή, την κατάρτιση.

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

 cd /usr/src/linux-source-4.4.0 

Αρχείο διαμόρφωσης πυρήνα

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

 sudo make localmodconfig 

Αυτό δημιουργεί ένα αρχείο που ονομάζεται .config, το οποίο λέει στο GCC τι πρέπει να μεταγλωττίσει από τις πηγές του πυρήνα. Η εντολή making localmodconfig εντοπίζει τα τρέχοντα στοιχεία του πυρήνα και τα επισημαίνει για τη σύνταξη. Εάν ο πυρήνας βρίσκεται μέσα σε ένα φάκελο που διαθέτετε, δεν θα χρειαστείτε sudo για να λειτουργήσει.

Μπορεί να συναντήσετε μερικά μηνύματα όπως αυτό που ακολουθεί. Απλά πατήστε το πλήκτρο Enter για να τα παρακάμψετε - είναι συνήθως μόνο νέες λειτουργίες του πυρήνα.

Πώς να μεταγλωττίσετε τον δικό σας πυρήνα Linux Κάντε Localmodconfig νέο

Ωστόσο, το localmodconfig δεν είναι τέλειο! Αν δεν χρησιμοποιείτε αυτήν τη στιγμή ορισμένα τμήματα του υπολογιστή σας, μπορεί να μην εντοπίσει όλα τα στοιχεία που υποστηρίζει. Ως εκ τούτου, πρέπει να τα ενεργοποιήσετε με μη αυτόματο τρόπο. Εναλλακτικά, μπορείτε να παραλείψετε πλήρως αυτό το βήμα και να χρησιμοποιήσετε αντ 'αυτού την επόμενη εντολή. Αυτό θα μεταγλωττίσει τον νέο πυρήνα με τις ίδιες επιλογές με αυτές που χρησιμοποιείτε αυτήν τη στιγμή.

Αν προτιμάτε αυτό, αλλά χρησιμοποιήσατε προηγουμένως την εντολή localmodconifg, κάντε το εξής:

 sudo make clean 

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

Περαιτέρω ρύθμιση παραμέτρων

Μέσα στον φάκελο προέλευσης του πυρήνα, υπάρχει ένα αρχείο που ονομάζεται .config . Αυτό θα χρησιμοποιήσει το ΣΣΚ για να επιλέξει τι θα συγκεντρώσει. Αντί να την επεξεργαστείτε με μη αυτόματο τρόπο (δεν συνιστάται), θα χρησιμοποιήσετε μερικά εργαλεία τερματικού. Αυτό θα κάνει πολύ πιο εύκολη την επιλογή επιλογών μεταγλώττισης.

Αφού το κάνατε αυτό,

 sudo make nconfig 

Θα εμφανιστεί ένα πολύχρωμο μενού. Αυτό είναι το μενού διαμόρφωσης του πυρήνα. Για να πλοηγηθείτε, χρησιμοποιήστε τα πλήκτρα βέλους. Μπορείτε να πατήσετε το δεξί πλήκτρο βέλους για να αναπτύξετε καταχωρίσεις με ένα σύμβολο -> δίπλα τους. Πλοηγηθείτε από αυτά τα δευτερεύοντα μενού πιέζοντας το αριστερό πλήκτρο βέλους.

Πώς να μεταγλωττίσετε τον δικό σας πυρήνα Linux Κάντε Nconfig

Μπορείτε να αλλάξετε καταχωρήσεις μενού που έχουν το σύμβολο ή [] δίπλα τους, πατώντας το πλήκτρο διαστήματος. Αυτό θα κυμαίνεται μεταξύ των διαφορετικών επιλογών μενού. Εάν δείτε ένα * ή M μέσα, το συγκεκριμένο στοιχείο του πυρήνα θα συνταχθεί. Η μόνη διαφορά μεταξύ τους είναι ότι η επιλογή M θα φορτωθεί όταν χρειαστεί. Αυτό μπορεί να είναι χρήσιμο εάν καταρτίζετε ένα πρόγραμμα οδήγησης για παράδειγμα, το οποίο δεν θα χρησιμοποιείται συχνά.

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

Πώς να μεταγλωττίσετε τον δικό σας πυρήνα Linux Κάντε το Nconfig F2

Μόλις τελειώσετε, πατήστε το πλήκτρο F9 για αποθήκευση και έξοδο.

Πώς να μεταγλωττίσετε τον δικό σας πυρήνα Linux Κάντε το Nconfig Save

Σύνταξη & Εγκατάσταση του πυρήνα

Τώρα που έχετε δημιουργήσει ένα προσαρμοσμένο αρχείο δημιουργίας, θα χρειαστεί να μεταγλωττίσετε τα αρχεία TAR GZ & TAR BZ2 στο Ubuntu Linux Πώς να μεταγλωττίσετε και να εγκαταστήσετε τα αρχεία TAR GZ & TAR BZ2 στο Ubuntu Linux Διαβάστε τον πυρήνα. Πληκτρολογήστε αυτήν την εντολή:

 sudo make -j$(nproc --all) 

Δεν θα χρειαστείτε το sudo εάν κατεβάσατε τις πηγές του πυρήνα από τον ιστό. Το δεύτερο μέρος της εντολής βοηθά στην επιτάχυνση του χρόνου επεξεργασίας του πυρήνα, εκμεταλλευόμενοι όλους τους πυρήνες CPU σας Τι είναι ένας πυρήνας επεξεργαστή; [Το MakeUseOf Εξηγεί] Τι είναι ένας πυρήνας επεξεργαστή; [MakeUseOf Εξηγεί] Κάθε υπολογιστής έχει επεξεργαστή, είτε πρόκειται για ένα μικρό pro efficiency είτε για μια μεγάλη μονάδα παραγωγής ισχύος, διαφορετικά δεν θα ήταν σε θέση να λειτουργήσει. Φυσικά, ο επεξεργαστής, ονομάζεται επίσης CPU ή κεντρική επεξεργασία ... Διαβάστε περισσότερα. Μπορείτε να απαλλαγείτε από αυτό ή να αλλάξετε τον αριθμό σε κάτι άλλο (π.χ. -j2 ), εάν θέλετε να χρησιμοποιήσετε τον υπολογιστή σας για άλλες εργασίες χωρίς υπερβολικό αριθμό λόξυγκας. Ωστόσο, αυτό θα κάνει επίσης την σύνταξη πιο αργή!

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

Στη συνέχεια, πληκτρολογήστε αυτήν την εντολή για να ολοκληρώσετε την κατάρτιση του υπόλοιπου πυρήνα:

 sudo make modules_install 

Για να χρησιμοποιήσετε αυτόν τον πυρήνα, θα πρέπει να εισαγάγετε αυτήν την εντολή:

 sudo make install 

Αυτό θα αντιγράψει αυτόματα τον πυρήνα στον φάκελο / boot και θα δημιουργήσει τα κατάλληλα αρχεία για να το λειτουργήσει.

Αλλαγή πυρήνων Χρήση του GRUB

Εάν κάνετε επανεκκίνηση μετά την εγκατάσταση του νέου πυρήνα, ενδέχεται να μην λειτουργήσει το σύστημά σας ! Αυτό οφείλεται συνήθως σε έναν ακατάλληλα επεξεργασμένο πυρήνα (δηλαδή, δεν υποστηρίζει επαρκώς τον υπολογιστή σας). Εν προκειμένω, το δικό μου φορητό υπολογιστή. Ακριβώς σε περίπτωση που συμβεί αυτό, σας συνιστώ να επεξεργαστείτε το GRUB. Πώς να προσαρμόσετε τον φορτωτή εκκίνησης GRUB χρησιμοποιώντας το BURG [Ubuntu] Πώς να προσαρμόσετε τον φορτωτή εκκίνησης GRUB χρησιμοποιώντας το BURG [Ubuntu] Διαβάστε περισσότερα ώστε να μπορεί να μεταβεί σε παλαιότερους πυρήνες. Για να το κάνετε αυτό, χρησιμοποιήστε αυτήν την εντολή:

 sudo nano /etc/default/grub 

Πώς να μεταγλωττίσετε τον δικό σας πυρήνα Linux Ubuntu GRUB

Τοποθετήστε ένα # σήμα μπροστά από τις γραμμές GRUB_HIDDEN_TIMEOUT και GRUB_HIDDEN_TIMEOUT_QUIET . Στη συνέχεια, αποθηκεύστε αυτές τις αλλαγές εκτελώντας αυτήν την εντολή:

 sudo grub-mkconfig -o /boot/grub/grub.cfg 

Πώς να μεταγλωττίσετε το δικό σας GRUB μενού του Linux Kernel

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

Ενδιαφέρεστε να δημιουργήσετε περισσότερους πυρήνες; Άλλα προγράμματα; Θεωρείτε ότι αξίζει τον κόπο;

Συντελεστές εικόνας: chombosan / Shutterstock

In this article