Πως να δημιουργήσετε τη δική σας διανομή Linux

Καλώς ορίσατε σε ένα φιλικό προς αρχάριους εργαστήριο για το πώς να δημιουργήσετε τη δική σας διανομή Linux!

BACKGROUND

Οι mainstream διανομές Linux (π.χ. Ubuntu, ArchLinux) επιτρέπουν στους χρήστες τους να εκτελούν πληθώρα εργασιών και συχνά περιλαμβάνουν τα μέσα για περαιτέρω προσαρμογή του συστήματος μέσω ενός package manager, εργαλείων ανάπτυξης, περιβάλλοντος επιφάνειας εργασίας κ.λπ.
Ωστόσο, εάν θέλετε να δημιουργήσετε μια συσκευή με μια πολύ συγκεκριμένη χρήση η οποία πρέπει να λειτουργεί υπό αυστηρούς περιορισμούς όσον αφορά τους πόρους, την κατανάλωση ενέργειας, την απόδοση ή την αξιοπιστία, τότε η χρήση ενός mainstream λειτουργικού συστήματος είναι αδόκιμη. Αυτές οι περιστάσεις είναι συνηθισμένες κατά την ανάπτυξη ενσωματωμένων συστημάτων, που προορίζονται να χρησιμοποιηθούν σε μια εφαρμογή IoT, στον κλάδο της αυτοκινητοβιομηχανίας ή των τηλεπικοινωνιών και ούτω καθεξής.

Για να δημιουργήσετε ένα Embedded Linux λειτουργικό σύστημα, υπάρχουν δύο επιλογές:

  1. “Golden Image”: Συχνά η πρώτη επιλογή κατά την ανάπτυξη ενός πρωτότυπου με μια ήδη υπάρχουσα πλατφόρμα, π.χ. ένα Raspberry Pi.
    Ένα γενικού σκοπού λειτουργικό σύστημα, όπως το Debian, τροποποιείται έως ότου ικανοποιεί τις απαιτήσεις του έργου. Στη συνέχεια δημιουργούνται και εγκαθίστανται κλώνοι αυτής της “χρυσής εικόνας” σε περισσότερες συσκευές.
    Αυτό είναι αρκετά χρήσιμο για τη δημιουργία ενός proof-of-concept, αλλά γρήγορα καθίσταται αντιπαραγωγικό όταν το έργο γίνεται πιο περίπλοκο, μεγαλύτερο ή προκύπτει η ανάγκη ανάπτυξης παραλλαγών του προϊόντος.
  2. Παραμετροποιήσιμη διανομή: Ο βιομηχανικά ενδεδειγμένος τρόπος δημιουργίας ενός Embedded Linux λειτουργικού συστήματος.
    Αντί να διατηρείτε το λειτουργικό σύστημα ως μεγάλο binary αρχείο, τα συστατικά του στοιχεία του καθορίζονται μέσω αρχείων configuration, φιλικών προς version control. Αυτή η μέθοδος μπορεί μεν να είναι δυσκολότερη προς εκμάθηση, ωστόσο, είναι ο μόνος βιώσιμος τρόπος να προχωρήσουμε όταν πρόκειται για σοβαρή ανάπτυξη ενσωματωμένου συστήματος Linux.

Περισσότερα πάνω το θέμα: https://www.linuxjournal.com/content/linux-iot-development-adjusting-binary-os-yocto-project-workflow

ΕΡΓΑΣΤΗΡΙO

Σε αυτό το εργαστήριο, θα επιδείξουμε τα “συστατικά” που χρειάζεστε για να δημιουργήσετε τη δική σας διανομή Linux χρησιμοποιώντας το Yocto project. Εν τέλει θα τρέξουμε τη διανομή μας σε ένα Raspberry Pi.

Το Yocto είναι μια συλλογή εργαλείων και διαδικασιών που επιτρέπουν τη δημιουργία διαμορφώσιμων διανομών Linux. Καθορίζετε ποια components θα περιλαμβάνονται στο λειτουργικό σας σύστημα με ειδικά configuration αρχεία για το software και το hardware. Οι “recipes” καθορίζουν το πως θα γίνονται build αυτά τα components και τα dependencies τους. Τέλος, αυτές οι recipes χρησιμοποιούνται από το “bitbake” (ένα εργαλείο που προσφέρει η Yocto) για τη δημιουργία της δικής σας διανομής Linux.

Κατά τη διάρκεια του εργαστηρίου, θα εξετάσουμε τις ενέργειες που απαιτούνται για τη δημιουργία λειτουργικού συστήματος για μια τυπική συσκευή IoT. Η συσκευή ξεκινά, συνδέεται αυτόματα στο Διαδίκτυο και ξεκινά ένα πρόγραμμα C++ που λαμβάνει πληροφορίες από ένα cloud API.

ΣΤΟΧΟΙ ΜΑΘΗΣΗΣ

Μετά το εργαστήριο, οι συμμετέχοντες θα πρέπει να γνωρίζουν:

  • Yocto build fundamentals
  • Hardware & software-specific configuration
  • Simple bitbake recipes for C++ binary built with CMake
  • Application launch on startup with systemd
  • WiFi connection & IP on startup
  • Linux kernel configuration with fragments

ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ

Δεν απαιτείται εμπειρία με το Yocto, ωστόσο, είναι απαραίτητη η εξοικείωση με το Linux ως λειτουργικό σύστημα και τα εργαλεία του.


Για εκδήλωση ενδιαφέροντος και συμμετοχής στη σελίδα του event

5 Likes