του έργου TCCBOOT είναι ένας φορτωτής εκκίνησης σε θέση να συντάξει και να εκκινήσετε έναν πυρήνα Linux απευθείας από τον πηγαίο κώδικα του.
TCCBOOT είναι μόνο 138 KB μεγάλη (ασυμπίεστο κώδικα) και να καταρτίζουν και να τρέξει ένα τυπικό πυρήνα του Linux σε λιγότερο από 15 δευτερόλεπτα με Pentium 2.4 GHz 4.
TCCBOOT βασίζεται στην TinyCC compiler, συναρμολόγησης και σύνδεσης. TinyCC είναι ένα πείραμα για να παράγουν ένα πολύ μικρό και απλό compiler C συμβατή με την GNU C compiler και δυαδική κοινής ωφελείας.
Μπότες TCCBOOT με τον ίδιο τρόπο ως πυρήνα του Linux, έτσι ώστε κάθε φορτωτή εκκίνησης που μπορεί να τρέξει ένα σύστημα Linux εικόνα του πυρήνα 'bzImage »μπορεί να τρέξει TCCBOOT. Έχω μόνο δοκιμαστεί με ISOLINUX, αλλά LILO ή GRUB θα πρέπει να εργαστεί πάρα πολύ.
TCCBOOT διαβάζει C ή συναρμολόγησης πηγές από ένα συμπιεσμένο ROMFS σύστημα αρχείων αποθηκεύεται σε ένα αρχικό RAM Disk (initrd). Θα διαβάζει πρώτα το αρχείο "boot / tccargs» που περιέχει τη γραμμή εντολών TinyCC (ίδια σύνταξη όπως το εκτελέσιμο TCC). Η TinyCC επίκληση πρέπει να ενεργοποιήσει μία δυαδική εικόνα «πυρήνα». Η εικόνα φορτώνεται στη διεύθυνση 0x00100000. TCCBOOT κάνει τότε ένα άλμα προς τη διεύθυνση 0x00100000 σε επίπεδη κατάσταση λειτουργίας 32 bit. Αυτό είναι συμβατό με την ABI του «vmlinux» εικόνα του πυρήνα.
Σύνταξη:
TCCBOOT δοκιμάστηκε μόνο με το Linux 2.4.26. Προκειμένου να οικοδομηθεί TCCBOOT, θα πρέπει πρώτα να χτίσετε έναν πυρήνα 2.4.26, επειδή για λόγους απλότητας TCCBOOT χρησιμοποιεί κάποια δυαδικά αρχεία και κεφαλίδες από τον πυρήνα του Linux. TCCBOOT χρειάζεται επίσης τον πηγαίο κώδικα του TinyCC (δοκιμασμένο με TinyCC έκδοση 0.9.21). Μπορείτε να τροποποιήσετε το Makefile για να δώσει τις απαιτούμενες διαδρομές.
Παράδειγμα:
Ένα "Hello World" ROMFS διαμέρισμα περιλαμβάνεται (initrd.img). Μπορείτε να το ξαναχτίσουν από το παράδειγμα / κατάλογο. Μπορείτε να το δοκιμάσετε με το PC εξομοιωτή QEMU με την «qemu-tccboot» σενάριο.
Η μεταγλώττιση του πυρήνα:
Για την ενημέρωσή σας, το επίθεμα «linux-2.4.26-tcc.patch» δίνει τις απαραίτητες τροποποιήσεις για να χτίσει έναν πυρήνα Linux με TCCBOOT (ΠΡΟΣΟΧΗ: δεν είναι suffisant για την κατασκευή του πυρήνα με το δικό Makefiles του - Ποτέ δεν προσπάθησα). Η αντίστοιχη διάταξη του πυρήνα είναι σε αρχείο linux-2.4.26-config. Patches είναι απαραίτητη για τους ακόλουθους λόγους:
- Δεν υποστηρίζεται οδηγίες συναρμολόγησης: .rept, .endr, Υποτμήμα
- «__ASSEMBLY__ #define» Χρειάζονται πηγές συναρμολόγησης
- Στατικές μεταβλητές δεν μπορεί να δει κανείς από τον κώδικα συνέλευση inline
- Προβλήματα δακτυλογράφηση / lvalue με »; : '
- Όχι πολύ καιρό πεδία bit
- «Ευθυγραμμισμένη» δεν του αποδίδουν υποστηρίζονται για ολόκληρη structs, μόνο για πεδία
- Bug Obscur προεπεξεργαστή
Μερικά από αυτά τα προβλήματα θα μπορούσαν εύκολα να καθοριστεί, αλλά είμαι πολύ τεμπέλης τώρα. Είναι βέβαιο ότι υπάρχουν ακόμη πολλά σφάλματα στον πυρήνα που δημιουργείται από TinyCC / TCCBOOT, αλλά τουλάχιστον μπορεί να εκκινήσει και να ξεκινήσει ένα κοχύλι.
Στοιχεία Λογισμικού:
Εκδοχή: 0.1
Ανεβάστε ημερομηνία: 3 Jun 15
Άδεια: Shareware
Τιμή: 0.00 $
Δημοτικότητα: 58
Τα σχόλια δεν βρέθηκε