Snagboot, ένα εξαιρετικό βοηθητικό πρόγραμμα για την επαναφορά και το φλας ενσωματωμένων συσκευών

τσαμπουκά

Το Snagboot είναι ένα εργαλείο ανάκτησης ανοιχτού κώδικα.

bootlin (μια εταιρεία που ειδικεύεται στο Linux για ενσωματωμένα συστήματα), το έκανε γνωστό πριν από αρκετές μέρες εκκίνηση snagboot, σχεδιασμένο να επαναφέρει και να αναβοσβήνει ενσωματωμένες συσκευές που έχουν σταματήσει να εκκινούν, για παράδειγμα, λόγω καταστροφής υλικολογισμικού.

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

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

Σχετικά με το Snagboot

Το Snagboot λειτουργεί ως ανάλογο εξειδικευμένων βοηθητικών προγραμμάτων, κυρίως ιδιοκτήτες, για επαναφορά και ενημέρωση συσκευών, όπως STM32CubeProgrammer, SAM-BA ISP, UUU και sunxi-fel.

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

Για παράδειγμα, η πρώτη έκδοση του snagboot μπορεί να χρησιμοποιηθεί για την ανάκτηση συσκευών που βασίζονται σε ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI και Texas Instruments AM62x SoC.

Υπάρχουν ορισμένα εργαλεία που εκμεταλλεύονται αυτή τη λειτουργία για γρήγορη ανάκτηση και ενημέρωση μέσω USB, όπως το STM32CubeProgrammer , το SAM-BA ή το UUU . Ωστόσο, όλα αυτά τα εργαλεία είναι ειδικά για τον προμηθευτή, πράγμα που σημαίνει ότι οι προγραμματιστές που εργάζονται σε πολλούς τύπους πλατφορμών πρέπει να αλλάζουν μεταξύ διαφορετικών εργαλείων και να μάθουν πώς να χρησιμοποιούν το καθένα.

Αναφέρεται ότι το Snagboot περιλαμβάνει δύο βοηθητικά προγράμματα για λήψη και ενημέρωση:

  1. τσιμπίδα- Χρησιμοποιεί μηχανισμούς κωδικών ROM για συγκεκριμένους προμηθευτές για την προετοιμασία της εξωτερικής μνήμης RAM και την εκτέλεση του προγράμματος εκκίνησης U-Boot χωρίς αλλαγή των περιεχομένων της μόνιμης μνήμης.
  2. εμπλοκή- Αλληλεπιδρά με ένα U-Boot που εκτελείται για να αναβοσβήνει μια εικόνα συστήματος σε μη πτητική μνήμη χρησιμοποιώντας DFU (Ενημέρωση υλικολογισμικού συσκευής), UMS (Μαζική αποθήκευση USB) ή Fastboot.

Για όσους ενδιαφέρονται για για να μάθετε περισσότερα για αυτόΛάβετε υπόψη ότι ο κώδικας του Snagboot είναι γραμμένος σε Python και είναι ανοιχτού κώδικα με την άδεια GPLv2.

Πώς να εγκαταστήσετε το Snagboot σε Linux;

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

Το πρώτο είναι το libhidapi το οποίο μπορεί να εγκατασταθεί ως εξής (ανάλογα με τη διανομή σας). Απλώς πρέπει να ανοίξουν ένα τερματικό και σε αυτό θα πληκτρολογήσουν:

Debian / Ubuntu

sudo apt install libhidapi-hidraw0

Ή μπορείτε επίσης να εγκαταστήσετε:

sudo apt install libhidapi-libusb0

Arch Linux (αν και μπορεί επίσης να εγκατασταθεί από το AUR, δείτε την εντολή εγκατάστασης παρακάτω)

sudo pacman -S hidapi

RHEL/Fedora

sudo dnf -y install hidapi

Μόλις γίνει αυτό, το μόνο που έχετε να κάνετε είναι να εγκαταστήσετε το Snagboot με pip και για να το κάνετε αυτό, απλώς πληκτρολογήστε την ακόλουθη εντολή:

python3 -m pip install --user snagboot

Τέλος, θα πρέπει μόνο να προσθέσουμε τους κανόνες udev έτσι ώστε το snagrecover να έχει πρόσβαση ανάγνωσης και εγγραφής στις συσκευές USB των SoC-στόχων:

snagrecover --udev > 80-snagboot.rules
sudo cp 80-snagboot.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger

Και έτοιμοι με αυτό μπορείτε να αρχίσετε να εργάζεστε με αυτό το εργαλείο. Στην περίπτωση των χρηστών του Arch Linux, όπως αναφέρθηκε προηγουμένως, το εργαλείο μπορεί να εγκατασταθεί απευθείας από το AUR και για αυτό πρέπει μόνο να έχουν ενεργοποιημένο το αποθετήριο και να έχουν εγκαταστήσει έναν οδηγό AUR.

Η εντολή για την εγκατάσταση του εργαλείου είναι:

yay -S snagboot

Τελευταίο αλλά εξίσου σημαντικό, για όσους προτιμούν να μεταγλωττίσουν μόνοι τους, απλώς εκτελέστε τα εξής:

κλώνος git https://github.com/bootlin/snagboot.git

cd snagboot
./install.sh

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


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.