Ευχαριστούμε που στάλθηκε η αποσαφήνισή σας! Ένα μέλος της ομάδου μας θα επικοινωνήσει μαζί σας σύντομα.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
- Ξεκινώντας
- Λήψη Buildroot
- Δημιουργία απαιτήσεων συστήματος
- Ορολογία cross-compiler: build, host, target, sysroot
- Επιλέγοντας τον σωστό στόχο
- Δημιουργία ενός ελάχιστου ενσωματωμένου συστήματος και εκκίνηση του
- Περιεχόμενα της εικόνας του συστήματος αρχείων που προκύπτει
- Παράλληλες κατασκευές
- Πλήρεις και μερικές ανακατασκευές
- Στόχοι σχεδίασης του Buildroot
- Επιλογές που πρέπει να γίνουν
- C βιβλιοθήκη: glibc ή uClibc ή musl;
- Σύστημα Init: busybox vs sysVinit vs systemd
- Διαχείριση κόμβων συσκευής στο /dev
- Επιλογή άλλων πακέτων
- Κατανόηση των οδηγιών κατασκευής
- Σύνταξη αρχείων Kconfig (Confog.in).
- Χαρακτηριστικά του GNU Make που χρησιμοποιούνται από το Buidroot Makefiles
- Οδηγός στυλ για αρχεία Config.in και *.mk
- Πώς να προσθέσετε ένα απλό πακέτο που βασίζεται σε Autotools
- Η διαφορά μεταξύ των καταλόγων σταδιοποίησης και στόχου
- Η ανάγκη για πακέτα φιλοξενίας
- Πώς να εκφράσετε εξαρτήσεις και προαιρετικές δυνατότητες
- Υποστήριξη για γλώσσες εκτός της C και δημιουργία συστημάτων εκτός από τα Autotools
- Εντοπισμός σφαλμάτων MakeFiles
- Ανακατασκευή ενός ενιαίου πακέτου
- Ανάλυση των αποτελεσμάτων κατασκευής
- Τι χρειάστηκε τόσος χρόνος κατασκευής;
- Τι πήρε τόσο πολύ χώρο στο δίσκο;
- Γιατί δημιουργήθηκε αυτό το πακέτο;
- Οργάνωση εξωτερικών πακέτων δέντρων
- Ροή εργασιών για προγραμματιστές εφαρμογών
- Πώς να χρησιμοποιήσετε έναν τοπικό κατάλογο προέλευσης
- Υπερισχύουσες οδηγίες κατασκευής
- Εντοπισμός σφαλμάτων της εφαρμογής σας
- Επιτάχυνση ανακατασκευών
- Προβολή αρχείων καταγραφής κατασκευής
- Αντιμετώπιση κοινών θεμάτων διασταυρούμενης συλλογής
- Πώς να γράψετε το δικό σας λογισμικό ώστε να είναι φιλικό στους cross-compilers
- Ροή εργασίας για προγραμματιστές πυρήνα
- Πώς εκκινείται ο πυρήνας σε ένα ενσωματωμένο σύστημα
- Αλλαγή επιλογών διαμόρφωσης και προσθήκη ενημερώσεων κώδικα
- Μηχανισμοί φόρτωσης μονάδων
- Κατασκευή τελικού προϊόντος
- Τρέχοντας δαίμονες κατά την εκκίνηση
- Παροχή προσαρμοσμένων αρχείων διαμόρφωσης
- Διαθέσιμοι μηχανισμοί ενημέρωσης υλικολογισμικού
- Αναβάθμιση σε νέα έκδοση Buildroot
- Συμμόρφωση με άδειες ανοιχτού κώδικα
Requirements
- Ο συμμετέχων πρέπει να έχει δημιουργήσει έναν πυρήνα τουλάχιστον μία φορά για ένα παραδοσιακό επιτραπέζιο (μη ενσωματωμένο) σύστημα Linux.
- Γνωρίζει από ποια στοιχεία αποτελείται ο χώρος χρηστών Linux σε ένα επιτραπέζιο σύστημα.
- Γνωρίζει πώς να δημιουργεί και να χρησιμοποιεί ενημερώσεις κώδικα.
- Πρέπει να μπορεί να εξηγήσει τι είναι το GNU Make, τα Autotools, ποια άλλα συστήματα κατασκευής υπάρχουν.
- Στην ιδανική περίπτωση, διατηρεί τουλάχιστον ένα πακέτο Linux, είτε ως upstream συγγραφέας, είτε σε οποιαδήποτε παραδοσιακή διανομή Linux επιτραπέζιου υπολογιστή.
- Δεν απαιτείται προηγούμενη εμπειρία με την ενσωματωμένη ανάπτυξη και δεν υποκαθιστά τη γνώση σχετικά με τους παραδοσιακούς Linux επιτραπέζιους υπολογιστές που προσδιορίζονται παραπάνω.
7 Hours