Czy istnieje sposób na uruchomienie z zewnętrznego dysku twardego podłączonego do urządzenia przez port USB (w przeciwieństwie do uruchamiania z karty SD)?
Czy istnieje sposób na uruchomienie z zewnętrznego dysku twardego podłączonego do urządzenia przez port USB (w przeciwieństwie do uruchamiania z karty SD)?
Odpowiedzi:
Teraz, prawie pięć lat później, kiedy autor zadał to pytanie,
Raspberry Pi oficjalnie obsługuje uruchamianie z urządzenia pamięci masowej USB .
Jest to jednak obsługiwane tylko dla Raspberry Pi 3 . Dlatego:
Czy będzie można uruchomić Pi 1 lub Pi 2 za pomocą MSD?
Niestety nie. Kod rozruchowy jest przechowywany tylko w urządzeniu BCM2837, więc Pi 1, Pi 2 i Pi Zero będą wymagały kart SD.
Nie można uruchomić RPi bezpośrednio z USB w prawdziwym tego słowa znaczeniu. Jednak nic nie stoi na przeszkodzie, aby ktoś zrobił mini-dystrybucję, która zawierałaby / boot i jakiś menedżer rozruchu. Może to następnie zaimplementować uruchamianie z USB, a nawet środowiska w stylu PXE. Może to zmieścić się na małej karcie SD - karty 64 MB są teraz dostępne za grosze. Oczekuję, że ktoś rzuci za to dystrybucję - ale do tej pory jej nie znalazłem.
W międzyczasie możesz przenieść własną partycję root na dysk twardy, aby uzyskać krótsze czasy rozruchu, ale jest to trochę skomplikowane, ponieważ musisz uzyskać jądro obsługujące pamięć USB. Dobre instrukcje, jak to zrobić, można znaleźć na stronie: http://mitchtech.net/raspberry-pi-root-fs-on-usb-drive/
Z Raspberry Pi FAQ :
Musisz uruchomić z SD, ale USB HD może „przejąć” po pierwszym uruchomieniu. Nie można uruchomić bez karty SD.
Rzeczywiście, jeśli możesz żyć tylko z partycją SD MS-DOS (/ boot), na której znajduje się jądro, możesz mieć / root i wszystko inne na urządzeniu zewnętrznym. Karta pamięci USB lub fizyczny dysk twardy są odpowiednie jako dysk dodatkowy. Dobrą rzeczą jest to, że jeśli nie „dd” do niewłaściwej lokalizacji, jest to procedura nieniszcząca: jedna edycja i wrócisz do oryginału,
Konfiguracja tej konfiguracji jest dość łatwa. Konfigurujesz instalację jak zwykle, a partycję EXT4 przenosisz / kopiujesz na dysk zewnętrzny.
Używając fdisk
partycji ' ' wybrany dysk pomocniczy, utwórz partycję o tym samym lub większym rozmiarze niż bieżący mmcblk0p2 (lub mmcblk0p5). Zapisz nową konfigurację.
Znajdź nazwę partycji, w tym przykładzie „/ dev / sda5”, jednak ta partycja będzie zależeć od twojej konfiguracji.
Skopiuj działającą partycję (uwaga: nie zaleca się kopiowania działającej partycji, niektóre pliki są w „niestabilnym” lub otwartym stanie, jednak działają dobrze):
dd if=/dev/mmcblk0p2 of=/dev/sda5 bs=10M
teraz edytuj następujący wiersz w pliku /boot/cmdline.txt i zmodyfikuj lokalizację „root”:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Do tej nowej linii.
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/sda5 rootfstype=ext4 elevator=deadline rootwait
Zauważ, że partycja rozruchowa to MS-DOS, więc jeśli musisz to naprawić, możesz zamontować SD gdzie indziej i edytować. Jeśli rozruch się nie powiedzie, moduł ładujący pokaże na ekranie (HDMI) dostępne punkty montażu.
Ta konfiguracja jest zależna od kolejności montowania. Numer partycji może ulec zmianie, jeśli urządzenie zostanie zamontowane w innym gnieździe; możesz ustawić tę lokalizację jako niezależną w następujący sposób.
Znajdź urządzenie „UUID”
blkid /dev/sda5
/dev/sda5: UUID="13d368bf-6dbf-4751-8ba1-88bed06bef77" TYPE="ext4"
lub utwórz nowy
tune2fs -U random /dev/sda5
i uzyskaj nowo przypisaną nazwę
blkid /dev/sda5
/dev/sda5: UUID="25b6aa72-ddc4-485e-8044-900ac24d662b" TYPE="ext4"
następnie edytuj poprzednio zmodyfikowany plik cmdline.txt, zmieniając lokalizację katalogu głównego na:
root=UUID=25b6aa72-ddc4-485e-8044-900ac24d662b
Po uruchomieniu nowej konfiguracji edytuj fstab, usuń starą / mmcblk0p2 notatkę: To będzie plik na „nowym” / urządzeniu root
Zamień / dev / mmcblk0p% (% to partycja linux)
nano /etc/fstab
UUID=25b6aa72-ddc4-485e-8044-900ac24d662b ...
W języku raspbian wystarczy zmienić root
flagę /boot/cmdline.txt
na, root=/dev/sdaX
gdzie X
jest numer odpowiedniej partycji.
Aby uzyskać szczegółowe informacje na temat uzyskiwania raspbian na usb itp., Możesz sprawdzić tutaj http://blog.krastanov.org/2014/01/30/booting-pi-reliably-from-usb/
Zamiast tego użyłem systemu Windows do 100% tworzenia.
Użyłem (darmowego) „menedżera partycji MiniTool” i właśnie przeniosłem boot na moją najmniejszą kartę SD, którą można automatycznie rozszerzyć za pomocą menedżera partycji. Otwórz cmdline.txt
i zmień na root=/dev/sda5
.
Ten sam menedżer partycji pozwala mi skopiować ext4 na mój przenośny 1 TB (FYI najpierw usuwam wszystkie partycje z dysków, aby przed przeniesieniem było niepodzielone miejsce). Vala - bootowany. Zauważam, że w przypadku standardowego dysku twardego czasy dostępu są trochę krótsze, mimo że mają bardzo duże prędkości R / W w porównaniu do większości kart SD.
Jedynym problemem, jaki mam teraz, jest rozszerzenie partycji ext4 (root) z oryginalnej 32 GB (mojej oryginalnej karty SD). Mam więc tylko 32 GB 1 TB. Hmm Jestem tylko nowicjuszem z terminalem i jego poleceniami, więc partycjonowanie w systemie Linux jest nieco niestabilne, ale ten przewodnik bardzo mi pomógł.