Uruchomić z dysku twardego USB?

Odpowiedzi:

28

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/

Maria Zverina
źródło
3
To jest dobry pomysł.
Jivings
Aktualizacja: istnieje teraz eksperymentalna obsługa uruchamiania bezpośrednio na USB; po wstępnej konfiguracji nie jest wymagana karta SD.
Hydraxan14
21

Z Raspberry Pi FAQ :

Musisz uruchomić z SD, ale USB HD może „przejąć” po pierwszym uruchomieniu. Nie można uruchomić bez karty SD.

Darren Wilkinson
źródło
1
czy to oznacza, że ​​po przejęciu dysku twardego nie ma już potrzeby korzystania z samochodu pamięci?
Suhaib,
5

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 fdiskpartycji ' ' 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 ...
fcm
źródło
1

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.txti 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ł.

Dave
źródło
Przepraszam, jaki przewodnik?
Bex
Przepraszamy, to forum.
Dave