Wiem, że możesz po prostu skopiować i wkleić pliki NOOBS i to działa, ale poza tym, aby zainstalować inne systemy operacyjne na raspberry pi lub inne podobne urządzenie, takie jak odroid itp., poinstruowano mnie, żebym używał aplikacji terminala „dd”, która zajmuje bardzo dużo czasu.

Zakładam, że ta operacja jest bardziej „zaangażowana” niż tylko kopiowanie i wklejanie? Dlaczego nie mogę po prostu skopiować i wkleić obrazu?

– czy mogę po prostu zamontować obraz linuxa na moim komputerze, a następnie skopiować i wkleić jego zawartość do microsd, zamiast używać narzędzie dd lub inna aplikacja „flash”?

EDYCJA: właśnie znalazłem świetną odpowiedź na to pytanie tutaj , ale myślę Powinienem pozostawić to pytanie tutaj, ponieważ jest to takie klasyczne pytanie noobów, które zasługuje na odpowiedź na tym forum. Jeśli ktoś ma więcej szczegółów do tej odpowiedzi, które bezpośrednio odnoszą się do procesu uruchamiania raspberry pi (i jak to działa NOOBS?), Odpowiedz na

Komentarze

  • Uruchomienie NOOBS na nowej karcie SD zajmuje ponad 15 minut, aby skonfigurować partycje.

Odpowiedź

Aby w pełni odpowiedzieć na to pytanie, potrzebne są różnego rodzaju podstawowe informacje. Myślę, że zacznę od kilku rzeczy, które, jak sądzę, mogły zostać źle zrozumiane.

Karta SD (lub mała pamięć USB ) nazywany jest dyskiem „Flash”, ponieważ tak nazywa się pamięć typu „Flash” , która się w nim znajduje. Podczas kopiowania pliku na kartę SD , jego obwody przenoszą ładunki wokół chipa w sposób, który nie ustąpi po odłączeniu go. (Zwykłe „ Dynamiczna pamięć RAM ” chipy pamięci komputera tracą wszystko szybko, jak tylko wyłączy się zasilanie.) Zapisywanie w pamięci flash jest bardzo wolne i wolne (ale n ot tak wolno) do odczytu (w porównaniu do dynamicznej pamięci RAM). Flash RAM również „zużywa się”, więc po tysiącach cykli odczytu / zapisu jego część przestaje działać.

Na szczęście dla Ciebie większość z tego jest niewidoczna w praktyce, więc możesz udawać, że karta SD lub pamięć flash USB są bardzo podobne do małego dysku twardego lub dyskietki. Ale oba różnią się znacznie od „wypalania” CD lub DVD.

Więc spróbuj zapomnieć o „flashowaniu” informacji na kartę SD. To, co robisz, nie jest dokładnie porównywalne z „flashowaniem” płyty głównej komputera lub innego elementu elektronicznego, ponieważ nie musisz podejmować specjalnych wysiłków, aby zmienić dane w pamięci karty SD. W głębi chipów może być dokładnie podobnie, ale proces zapisu na kartę SD lub pamięć USB jest zupełnie inny.

Raspberry Pi zostało zaprojektowane tak, aby szukać na karcie SD podczas rozruchu partycja wykorzystująca system plików FAT. W zależności od tego, jak korzystasz z Pi, może to być jedyna partycja na karcie SD, ale wyrafinowany system operacyjny, taki jak Raspbian, nie może działać w systemie plików FAT, więc potrzebujesz co najmniej jednej dodatkowej partycji (lub oddzielnego dysku) który może obsługiwać pliki linuxowe, takie jak format ext4.

Kiedy używasz Linuksa, Windowsa lub Maca i „kopiujesz” plik z jednego „zamontowanego” systemu plików na inny, system operacyjny zajmuje się tworzeniem , usuwanie i wskazywanie plików, gdy są one umieszczane na dysku twardym, dysku flash lub czymkolwiek. Pliki są zapisywane na każdej partycji przy użyciu reguł specyficznych dla systemu plików, niezależnie od tego, czy jest to FAT, ext4, Mac HFS +, czy cokolwiek.

Kiedy zaczynasz od pliku obrazu (często identyfikowanego jako .iso dla linux lub .dmg na komputerze Mac), plik zawiera WSZYSTKO, w tym wszystkie fragmenty identyfikujące partycje i fragmenty danych wewnątrz partycji.

Gdy używasz polecenia dd w systemie Linux do kopiowania pliku , pobiera bity z (lub do) pliku .iso DOKŁADNIE tak, jak są one przechowywane na dysku lub karcie SD, całkowicie ignorując partycje, systemy plików, pliki i katalogi, których Ty i system operacyjny potrzebujecie, aby nadać sens danym na nim. Jest to zupełnie inny rodzaj operacji kopiowania. Jeśli po prostu przeciągniesz to .iso na swoją kartę SD, nie tylko niepotrzebnie go wypełnisz, ale Pi nie wie, jak zajrzeć „do” pliku .iso, aby uzyskać to, czego potrzebuje.

A Kopiowanie dd zajmuje dużo czasu, ponieważ karty SD działają wolno i kopiujesz duże porcje danych naraz. Jednak gdy wszystko jest uwzględnione, może to być szybsze niż kopiowanie pojedynczych plików.

I aby odpowiedz na pytanie, tak, możesz zamontować obraz i skopiować pliki na różne partycje, ale prawie zawsze będzie więcej niż jedna partycja i będziesz musiał umieścić pliki w odpowiednich miejscach. W wielu przypadkach jest to najłatwiejsze po prostu użyć dd do skopiowania z plików graficznych na kartę SD.

Odpowiedź

Użycie terminu „flash” w tym miejscu jest niewłaściwe, jeśli ma odnosić się do kontrastu; chociaż karty SD są oparte na pamięci flash , kopiowanie do nich jest zawsze takie samo na tym poziomie, niezależnie od używanego narzędzia i rodzaju danych, to itp. Innymi słowy, jeśli mówisz o kopiowaniu danych na kartę SD jako „flashowaniu”, to odnosi się to równie dobrze bez względu na wszystko. Jeśli chcesz to nazwać „kopiowaniem”, ta sama logika – obie procedury, do których się odnosisz, polegają na kopiowaniu danych przez „flashowanie” pamięci flash. Taka jest natura kart SD; użycie metody cut n „paste vs dd nie zmienia fizycznych właściwości sprzętu. Ale wszystko to ma związek z podstawowym pytaniem.

Sposób, w jaki NOOBS Instalacja działa, gdy sformatujesz kartę, tworząc partycję vfat, na którą możesz następnie kopiować zwykłe pliki z pliku zip.

Sposób działania instalacji opartych na obrazie polega na kopiowaniu niskiego poziomu blok po bloku wersji kilka partycji bezpośrednio na kartę. Dlatego nie musisz jej najpierw formatować; ten obraz zawiera sformatowane partycje, z których pierwsza (partycja rozruchowa) służy dokładnie do tego samego celu (i zawiera tych samych plików, takich jak kod krytycznego programu ładującego), co partycja utworzona dla NOOBS.

Jeśli pobierzesz i zainstalujesz „lite” wersję NOOBS, będzie to tylko 20 MB – ale wtedy należy później pobrać pełny system operacyjny w ramach procesu instalacji. Jeśli pobierzesz „pełną” wersję, jej rozmiar wynosi ponad 700 MB, a skopiowanie na kartę zajmie znacznie więcej czasu.

Jeśli pobierzesz samodzielny obraz raspbian, będzie to ~ 2,0 GB obrazu, a jego skopiowanie na kartę zajmie odpowiednio więcej czasu. Ponadto dd to ręczne narzędzie niskiego poziomu niezależne od systemu plików. Ma to kilka konsekwencji:

  • Nie zawiera żadnych domysłów ani założeń dotyczących optymalnego działania. Na przykład przypuszczalne użycie rozmiaru bloku 4 MB (bs=4M) spowoduje duża różnica w szybkości na kartach SD, ale nie jest to wartość domyślna i dd nie będzie próbował tego rozgryźć. Wycinanie i wklejanie za pomocą narzędzia wyższego poziomu prawdopodobnie to zrobi, częściowo na podstawie informacji uzyskanych przez badanie systemu plików utworzyłeś już kartę przez sformatowanie. Jednak dd może robić rzeczy, których te narzędzia zwykle nie potrafią (np. zapisywać nieprzetworzone bloki na urządzeniu, dlatego jest konieczne z obrazem s).

  • System operacyjny może sprawić, że działanie wyższych narzędzi będzie wyglądać na bardziej usprawnione dzięki buforowaniu, które może zrobić z zamontowanymi systemami plików. Dlatego czasami musisz chwilę poczekać, jeśli zrobisz dużą kopię, a następnie przystąpisz do odmontowania patyka; kopia nie została w rzeczywistości ukończona, a system operacyjny nie wyda jej, dopóki nie zostanie ukończona (dlatego też należy zawsze czekać, aż system operacyjny powie, że wszystko w porządku). dd do a urządzenie nie wymaga tego rodzaju buforowania. Robi się to naprawdę, gdy jest gotowe.

Odpowiedź

Jak zapewne już wiesz z innych odpowiedzi, format karty SD dla RPI powinien być ustawiony na FAT32, bo inaczej nie będzie działać. Wadą formatu FAT32 jest to, że ma limit kopiowania 4 GB, co znacznie ogranicza możliwości tego, jaki system operacyjny będzie można łatwo zainstalować na karcie SD. Istnieje jednak sposób na „ominięcie” tego ograniczenia i jest to użycie programu takiego jak 7zip do skompresowania pliku .img do coś poniżej 4 GB, a następnie rozpakowywanie go w katalogu głównym karty SD.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *