Πως να

Με αυτόν τον τρόπο ξεκινάτε το Raspberry Pi από USB ή το δίκτυό σας

Συνήθως ξεκινάτε ένα Raspberry Pi από μια (micro) κάρτα SD. Αλλά μερικές φορές αυτό δεν είναι πολύ βολικό. Πρόσφατα, οι προγραμματιστές της οικογένειας των μικροϋπολογιστών έχουν προσθέσει δύο νέους τρόπους εκκίνησης: usb και δίκτυο. Με τη λειτουργία USB, μπορείτε να ξεκινήσετε το Raspberry Pi από ένα λειτουργικό σύστημα σε USB stick ή σκληρό δίσκο που συνδέετε μέσω USB.

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

01 Πειραματικοί τρόποι σκαφών

Οι νέες λειτουργίες εκκίνησης είναι πειραματικές και έχουν αναπτυχθεί για το Raspberry Pi 3. Ο κωδικός εκκίνησης που απαιτείται για αυτό βρίσκεται στο BCM2837: ο επεξεργαστής του Raspberry Pi 3. Εάν έχετε Raspberry Pi 1, 2 ή Zero, μπορείτε επίσης να χρησιμοποιήστε νέες λειτουργίες εκκίνησης, αλλά με έναν κυκλικό τρόπο: μορφοποιήστε μια κάρτα sd με fat32, αντιγράψτε το αρχείο bootcode.bin στην κάρτα και εκκινήστε το Pi από αυτήν την κάρτα. Αυτό μπορεί να μην είναι πλήρες χωρίς κάρτα SD, αλλά μπορείτε να εκκινήσετε το Pi από USB ή από το δίκτυο.

02 Πιθανά προβλήματα με το usb

Η εκκίνηση από USB δεν λειτουργεί πάντα. Για παράδειγμα, ορισμένα USB stick ενεργοποιούνται πολύ αργά. Επίσης, οι εξωτερικοί σκληροί δίσκοι δεν αποκρίνονται πάντα εντός δύο δευτερολέπτων, τη στιγμή που ο κωδικός εκκίνησης περιμένει από προεπιλογή. Μπορείτε να αυξήσετε αυτό το χρονικό όριο σε πέντε δευτερόλεπτα, αλλά ορισμένες μονάδες δίσκου δεν θα είναι καν έτοιμες. Άλλα USB stick έχουν πολύ συγκεκριμένες απαιτήσεις για το πρωτόκολλο επικοινωνίας, το οποίο δεν πληροί ο κωδικός εκκίνησης του Raspberry Pi 3 (περιορίζεται σε 32 kB rom). Ίσως χρειαστεί να δοκιμάσετε μερικούς δίσκους.

03 Αναβάθμιση υλικολογισμικού

Υποθέτουμε ότι το Raspbian σας λειτουργεί στο Raspberry Pi σας. Εάν όχι, κατεβάστε μια εικόνα και τοποθετήστε την σε μια κάρτα SD με το πρόγραμμα Win32DiskImager και εκκινήστε το Pi από αυτήν. Πρώτα ανανεώστε όλα τα αποθετήρια με sudo apt-get ενημέρωση. Εάν χρησιμοποιείτε το Raspbian Lite (η έκδοση χωρίς γραφική διεπαφή), εκτελέστε πρώτα sudo apt-get install rpi update επειδή αυτή η ελάχιστη έκδοση του Raspbian δεν διαθέτει το πακέτο rpi-update. Στη συνέχεια, ενημερώστε το υλικολογισμικό από το "επόμενο υποκατάστημα με sudo BRANCH = επόμενη ενημέρωση rpi.

04 Ενεργοποίηση λειτουργίας USB

Ανοίξτε το αρχείο διαμόρφωσης εκκίνησης με sudo nano /boot/config.txt και προσθέστε την εντολή program_usb_boot_mode = 1 στο τέλος. Αποθηκεύστε το αρχείο με Ctrl + O και κλείστε το nano με Ctrl + X. Επανεκκινήστε το Pi με επανεκκίνηση sudoκαι μετά την επανεκκίνηση, ελέγξτε εάν η λειτουργία USB είναι ενεργοποιημένη. Το κάνετε με την ανάθεση vcgencmd otp_dump | grep 17:, που θα πρέπει να επιστρέψει έναν αριθμό που τελειώνει με 0x3020000α. Στη συνέχεια, ανοίξτε ξανά το αρχείο διαμόρφωσης εκκίνησης και διαγράψτε την εντολή program_usb_boot_mode = 1ώστε να μην ενεργοποιήσετε κατά λάθος τη λειτουργία εκκίνησης USB σε άλλο Pi που εισάγετε αυτήν την κάρτα SD.

05 Διαχωρισμός χώρου αποθήκευσης USB

Τώρα συνδέστε τη συσκευή αποθήκευσης usb στο Pi σας. Διαχωρίστε αυτήν τη συσκευή με sudo χωρίστηκε / dev / sda. Δημιουργήστε έναν νέο πίνακα διαμερισμάτων με mktable msdos και επιβεβαιώστε με Ναί ότι θέλετε να καταστρέψετε όλα τα δεδομένα στη μονάδα δίσκου. Στη συνέχεια, δημιουργήστε ένα διαμέρισμα 100 megabyte fat32 με mkpart πρωτογενές λίπος 32 0% 100M και ένα διαμέρισμα ext4 που καταλαμβάνει τον υπόλοιπο δίσκο mkpart primer ext4 100M 100%. Δείτε τις αλλαγές με εκτύπωση και κλείστε με εγκαταλείπω. Στη συνέχεια, δημιουργήστε το σύστημα αρχείων εκκίνησης με sudo mkfs.vfat -n BOOT -F 32 / dev / sda1 και το ριζικό σύστημα αρχείων με sudo mkfs.ext4 / dev / sda2.

06 Raspbian αντίγραφο

Εγκαταστήστε το πρόγραμμα rsync με sudo apt-get εγκατάσταση rsync. Στη συνέχεια, δημιουργήστε έναν νέο κατάλογο με sudo mkdir / mnt / usb και προσαρτήστε το σύστημα αρχείων ext4 του αποθηκευτικού χώρου USB με αυτό sudo mount / dev / sda2 / mnt / usb /. Στη συνέχεια, δημιουργήστε έναν κατάλογο εκκίνησης με sudo mkdir / mnt / usb / boot και προσαρτήστε το σύστημα αρχείων εκκίνησης σε αυτό sudo mount / dev / sda1 / mnt / usb / boot /. Τώρα αντιγράψτε το σύστημα Raspbian που εκτελείτε από την κάρτα SD στο σύστημα αρχείων στο χώρο αποθήκευσης USB. Το κάνετε με την ανάθεση sudo rsync -ax --progress / / boot / mnt / usb. Να είστε υπομονετικοί καθώς μπορεί να χρειαστεί λίγη ώρα.

07 Χρόνος

Ο χώρος αποθήκευσης USB περιέχει τώρα ένα αντίγραφο του Raspbian που τρέχει, αλλά δεν μπορούν όλα να είναι πανομοιότυπα. Για παράδειγμα, το νέο σύστημα χρειάζεται διαφορετικά πλήκτρα ssh. Επομένως, μεταβείτε στον χώρο αποθήκευσης USB με cd / mnt / usb και προσαρτήστε ορισμένα ειδικά συστήματα αρχείων με sudo mount --bind / dev dev, sudo mount --bind / sys sys και sudo mount --bind / proc proc. Στη συνέχεια, εισαγάγετε ένα χροιά (αλλαγή ρίζας) με sudo chroot .. Όλες οι εντολές που εκτελείτε τώρα θα εκτελούνται στο σύστημα στην αποθήκευση USB, όχι πλέον στο σύστημα στην κάρτα SD.

08 Νέα κλειδιά ssh

Είστε πλέον ο ριζικός χρήστης στο chroot. Διαγράψτε πρώτα τα υπάρχοντα κλειδιά ssh, καθώς αυτά είναι αυτά που αντιγράψαμε από το σύστημα από την κάρτα SD. Το κάνετε με rm / etc / ssh / ssh_host *. Στη συνέχεια, δημιουργήστε νέα κλειδιά ssh με την αναδιάρθρωση του διακομιστή OpenSSH με dpkg reconfigure openssh server. Μετά από αυτό, βγείτε από το chroot με έξοδος. Όλες οι εντολές που εκτελείτε θα εκτελεστούν ξανά στο σύστημα της κάρτας sd. Στη συνέχεια αποσυνδέστε τα ειδικά συστήματα αρχείων με sudo umount dev, sudo umount sys και sudo umount proc.

09 Προσαρμογή συστήματος αρχείων ρίζας

Τώρα βεβαιωθείτε ότι το Pi χρησιμοποιεί το ριζικό σύστημα αρχείων στο χώρο αποθήκευσης usb αντί για αυτό στην κάρτα sd. Για αυτό προσαρμόζετε το αρχείο /εκκίνηση / cmdline.txt με sudo sed -i "s, root = / dev / mmcblk0p2, root = / dev / sda2,"/mnt/usb/boot/cmdline.txτ. Κάντε το ίδιο στο αρχείο / etc / fstab: sudo sed -i "s, / dev / mmcblk0p, / dev / sda," / mnt / usb / etc / fstab. Μετά από αυτό μεταβείτε στον αρχικό σας κατάλογο με το cd, αποσυνδέστε τα συστήματα αρχείων από το χώρο αποθήκευσης usb με sudo umount / mnt / usb / boot και sudo umount / mnt / usb και απενεργοποιήστε το Pi με sudo poweroff. Αποσυνδέστε το καλώδιο τροφοδοσίας, αφαιρέστε την κάρτα SD και συνδέστε ξανά το καλώδιο τροφοδοσίας. Εάν όλα πάνε καλά, το Pi θα εκκινήσει τώρα από τον αποθηκευτικό χώρο USB.

$config[zx-auto] not found$config[zx-overlay] not found