Arch Linux - Χτίσιμο και εγκατάσταση custom πυρήνα(ABS)

ΑΥΤΗ Η ΔΗΜΟΣΙΕΥΣΗ ΕΧΕΙ ΓΙΝΕΙ ΠΑΝΩ ΑΠΟ ΕΝΑ ΧΡΟΝΟ ΠΡΙΝ!

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

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

Σε αυτό το άρθρο θα δούμε τον Arch τρόπο χτισίματος(ABS=Archlinux Build System) ενός custom πυρήνα. Είναι τόσο εύκολο που ακόμη και νέοι arch χρήστες μπορούν να δοκιμάσουν. Σημειώστε εδώ πως ένας νέος archlinux χρήστης δεν είναι ο ίδιος χρήστης με έναν αρχάριο χρήστη Linux. Αν έχετε εγκαταστήσει και δουλεύετε archlinux δεν θεωρείστε πλέον αρχάριος στο Linux γενικότερα. Αρχάριος στο archlinux ίσως, μιας και πρέπει να μάθετε τον λεγόμενο και arch way καθώς και κάποιες έννοιες - ή/και φιλοσοφίες - που άλλα Linux λειτουργικά συστήματα που πιθανών χρησιμοποιούσατε στο παρελθόν, είτε τις κρύβουν (χάριν του user-friendly) , είτε δεν τις ακολουθούν καν. Άλλωστε «το archlinux απευθύνεται σε ικανούς χρήστες του GNU/Linux» (έτσι τουλάχιστον όπως το γράφει και το ArchWiki).

Ας ανοίξουμε ένα τερματικό λοιπόν και ας ξεκινήσουμε.

Εγκατάσταση απαραίτητων πακέτων

pacman -S abs base-devel

Πηγαίος κώδικας

Ο πηγαίος κώδικας του πυρήνα φιλοξενείται στα αποθετήρια του Archlinux καθώς και στο Official αποθετήριο του Linus Torvalds (git). Για να πάρετε τον πηγαίο κώδικα χρησιμοποιώντας το ABS, δώστε την παρακάτω εντολή

ABSROOT=. abs core/linux

Αυτό θα δημιουργήσει έναν φάκελο core μέσα στον οποίο θα υπάρχει άλλος ένας φάκελος ονόματι linux. Εκεί θα υπάρχουν κάποια patches (που κάνει apply το arch στον πυρήνα), καθώς και ο γνήσιος πηγαίος κώδικας του πυρήνα. Φυσικά και το λεγόμενο PKGBUILD. Εκεί μέσα γίνονται όλα, άλλωστε.

Ρυθμίσεις - Configuration

Ότι αλλαγές θέλετε να κάνετε, είτε να κάνετε apply κάποια δικά σας patches, είτε να αλλάξετε το configuration του πυρήνα, μπορείτε να το κάνετε μέσω του PKGBUILD. Δείτε το αρχείο πως είναι κατασκευασμένο και θα καταλάβετε τι πρέπει να κάνετε. Μην ξεχάσετε να κάνετε uncomment το κατάλληλο pkgbase, έτσι ώστε να χτίσετε έναν πυρήνα με διαφορετικό όνομα από τον Official.

TIP: Αν αλλάξετε το source, για να κάνετε π.χ apply κάποιο patch , μην ξεχάσετε να εκτελέσετε την εντολή

makepkg -g

έτσι ώστε να παραχθεί το νέο md5sum.

Αν θέλετε να κάνετε edit στον ίδιο τον πυρήνα, κάντε Uncomment όποιο από τα εργαλεία configuration θέλετε (προτείνω nconfig).

localmodconfig

Το localmodconfig μπορούμε να το χρησιμοποιήσουμε αν θέλουμε να χτίσουμε έναν πυρήνα μόνον για τον υπολογιστή μας. Αυτό που μας εξασφαλίζει το localmodconfig είναι το αρκετά γρήγορο χτίσιμο του πυρήνα. Ενδεικτικά θα αναφέρω πως στο δικό μου laptop το χτίσιμο του πυρήνα διήρκεσε 8 λεπτά σε HDD δίσκο και με Intel core i3 πρώτης γενιάς. Αυτό που σε γενικές γραμμές κάνει το localmodconfig είναι να χτίζει τα modules στον πυρήνα, μόνον εκείνα που είναι εκείνη την στιγμή φορτωμένα στο λειτουργικό σύστημα. Όπως προτείνει και το Arch Wiki, θα προτείνω κι εγώ, πριν κάνετε localmodconfig να φροντίσετε για τα παρακάτω.

  1. Να έχετε συνδέσει όλες σας τις συσκευές τις οποίες θα χρησιμοποιήσετε στον συγκεκριμένο υπολογιστή (π.χ usb sticks, εξωτερικούς δίσκους, εξωτερικές κάμερες..)
  2. Φορτώστε ότι προγράμματα θέλετε, τα οποία απαιτούν να φορτωθεί κάποιο module για να λειτουργήσουν σωστά.
  3. Κάντε mount αν έχετε κάποιο iso image ή κάποιο σύστημα αρχείων που απαιτεί κάποιο module για να δουλέψει σωστά.

Στο archlinux τα πράγματα είναι ακόμη πιο απλά αν χρησιμοποιήσετε ένα εργαλείο ονόματι modprobed-db. Όπως και από το όνομα θα καταλάβατε πρόκειται για ένα εργαλείο που δημιουργεί μια βάση δεδομένων όλων των modules που έχουν φορτωθεί στον υπολογιστή σας. Με την κατάλληλη εντολή μπορείτε να φορτώσετε(recall) αυτά τα modules, χωρίς να χρειάζεται να συνδέετε κάθε φορά όλες τις συσκευές. Δείτε περισσότερα στο arch wiki

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

Αφού τελειώσει η διαδικασία χτισίματος, μπορούμε να εγκαταστήσουμε τον πυρήνα με την γνωστή εντολή

pacman -U όνομα πυρήνα όνομα headers πυρήνα

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

Αυτά τα ολίγα και απλά. Καλά χτισίματα.


Until next time …
“Keep Your Mind in a Constant State of Openness"