Raspberry PI. Praca z USB

Jak wiadomo typowa instalacja Systemu Operacyjnego na Raspberry PI używa karty SD.

Takie rozwiązanie ma swoje plusy i minusy. Plusem jest oczywiście miniaturyzacja, ew. koszt, minusem zaś czas dostępu, podatność na błędy (zwłaszcza przy tzw „podkręcaniu” urządzenia).

W artykule przedstawimy w jaki sposób można przenieść cześć zasobów na USB pendrive, czyniąc system bardziej wydajnym i odpornym na błędy.

1. Dlaczego cokolwiek zmieniać ?

Raspberry PI jest tak zaprojektowane, iż na starcie do pamięci ładowany jest system operacyjny bezpośrednio z karty SD. Karta SD jest również wykorzystywana jako przestrzeń robocza podczas pracy systemu – np. pliki wymiany, dane aplikacji, konfiguracja itp. (nas zwłaszcza zainteresuje baza danych XBMC znajdująca się w katalogu /storage). Stosując karty SD wyższej klasy można uzyskać lepsze czasy dostępu (szybszy zapis/odczyt), jednakże wciąż są one dużo mniej konkurencyjne w porównaniu do typowego USB pendrive (zwłaszcza ver 2.0 i wyżej).

Karty SD nie zostały również zaprojektowane z myślą o intensywnym użytkowaniu (czytanie setek danych w krótkich odstępach czasu, wieodostęp itp.) stąd też użytkownicy RPi często zgłaszają uszkodzenie danych a nawet samych kart SD, co skutkuje czymś, czego tak nie lubimy – „stawianiem” systemu od nowa.

O ile nie można (w łatwy sposób) zastąpić bootowania z SD, to już bardzo łatwo można ustawić przestrzeń roboczą systemu tak aby korzystała z innego medium (np. pendrive, czy dysku USB). Dzięki temu rozwiązaniu możemy zastosować najtańsze karty SD, dowolnej klasy (do uruchomenia OpenElec wymagana jest karta ok 1GB) – zostanie ona wykorzystana jedynie do ładowania systemu więc możemy odnotować jedynie (kliku)sekundową różnice podczas startu Maliny, po tym większość operacji zapisu/odczytu odbywała będzie się z użyciem USB pendrive.
Większość użytkowników (włączając autora artykułu) potwierdza widoczną zmianę wydajności / stabilności (zwłaszcza gdy Pi utrzymuje własną/dużą bibliotekę filmów). Innym ważnym argumentem przemawiającym za stosowaniem USB pendrive jest też udostępnienie większej ilości miejsca dla systemu/XBMC. Maksymalny rozmiar karty akceptowany przez RPI to 32GB, dodatkowo koszt 1GB na karcie SD jest znacząco wyższy od USB pendrive / dysku podłączonego przez USB.

Artykuł został napisany w oparciu popularnej dystrybucji dla Raspberry Pi – OpenElec, jednakże analogiczne kroki można wykonać z każdą z dystrybucji opartych na Systemie Operacyjnym Linux*) Opis uwzględnia instalację na USB pendrive, oczywiście nie ma przeszkód aby użyć zamiast pendrive dysku USB.

UWAGA! Mniej doświadczonym użytkownikom, którzy obawiają się utraty danych/ uszkodzenia systemu zaleca się przed podjęciem poniższych kroków zrobienie kopii zapasowej karty SD (w Windows np. za pomocą programu Paragon Backup), lub przećwiczenia podanych kroków na innej karcie SD.

** EDIT ** Jeden z użytkowników napisał skrypt automatyzujący opisany temat

2. Połączenie się z PI poprzez terminal


Adres IP Raspberry PI

Aby móc się połączyć z Malinką należy (po)znać jej adres IP (a wcześniej oczywiście podpiąć urządzenie do sieci…)

Informacje o przyznanym / ustawionym adresie IP odczytasz bezpośrednio z XBMC, zakładka System, podmenu System info

Program do połączeń terminalowych

Znając adres IP możesz połączyć się z nim z innego komputera (poprzez terminal, SSH).

Jednym z najbardziej popularnych programów pod Windows jest „Putty”. System Linux posiada niezły wbudowany terminal, dostępny po naciśnięciu CTRL+T. W przykładzie użyjemy Putty pod Windows.Putty można pobrać z poniższej strony: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Konfiguracja Putty

Program umożliwia zapisanie podstawowych parametrów sesji, tak aby później można było się połączyć jednym klikiem z urządzeniem.

Aby zapisać sesję podajemy:
– Host Name (adres IP naszej Malinki)

– Port (22)

– Connection type (SSH)

– Saved Sessions (nazwę sesji np. „Malina”)

Następnie naciskamy przycisk „Save”. Od tej pory sesja zostaje nagrana i wystarczy dwukrotnie kliknąć jej nazwę (albo wybrać Load, Open) aby się połączyć

Przy pierwszym połączeniu z urządzeniem pojawi się informacja o wykryciu nowego odcisku klucza wybranego hosta (klikamy Tak, aby kontynuować)

Domyślnym loginem i hasłem w OpenElec jest root / openelec – co też wpisujemy pytani odpowiednio o „login as” i „password”

3. Formatowanie dysku USB (pendrive) jako Ext4

Linux (na którym bazuje większość dystrybucji dla RPi) używa innego systemu plików niż np. Windows, co (podobno) gwarantuje większe bezpieczeństwo, stabilność oraz wydajność. Jest to inny system od znanego z Windows FAT32 czy też NTFS.

Dlatego zanim użyjemy naszego Pendrive do pracy z Maliną należy takowy sformatować z systemem plików EXT4.

Aby tego dokonać musimy wiedzieć jakie oznaczenie w systemie ma Pendrive.

Jednym ze sposobów aby to sprawdzić jest wykonanie komendy:

df -h

która listuje wszystkie zamontowane zasoby w systemie.

W OpenElec USB jest montowany do /var/media i ma zwykle oznaczenie /dev/sda* (gdzie gwiazdka oznacza iż może, aczkolwiek nie musi pojawić się tutaj jakaś cyfra)

W naszym przypadku jest to /dev/sda1

Aby wykonać formatowanie musimy odmontować / zwolnić zasób za pomocą komendy

umount /dev/sda1

*) Gdzie oczywiście „sda1” jest oczywiście oznaczeniem pendrive odczytanym w poprzednim kroku.

Teraz możemy w końcu sformatować pendrive z systemem plików EXT4, nadając mu etykietę „Storage” komendą:

mkfs.ext4 -L Storage /dev/sda1

czekamy na wykonanie wszystkich operacji (4x done), może to zając parę minut, w zależności od wielkości formatowanego pendrive’a.

4. Montowanie napędu USB zamiast zasobu SD

Teraz pozostaje nam poinformowanie systemu, iż ma używać nowosformatowanego pendrive, zamiast karty SD.

Zatem:

Montujemy ponownie pendrive:

mount /dev/sda1 /var/media/

Kopiujemy zawartość katalogu „Storage” karty SD na pendrive

cp -r /storage/. /var/media/

(Re)Montujemy partycję karty SD, tym razem z możliwością zapisu (domyślnie jest wyłącznie do odczytu)

mount /flash -o remount,rw

Uruchamiamy edytor „Nano”, dzięki któremu zmienimy konfigurację OpenElec:

nano /flash/cmdline.txt

Zmieniamy pierwszą linie na:

boot=/dev/mmcblk0p1 disk=/dev/sda1 ssh quiet

I zapisujemy zmiany, wychodząc z edytora poprzez Ctrl+X, i następnie Y aby zapisać plik.

5. Sprawdzenie

Teraz pozostaje nam zrestartowanie systemu i sprawdzenie czy operacja się powiodła

Restart systemu najłatwiej wykonamy wpisując w terminalu komendę:

reboot

Po restarcie Maliny (który sam w sobie jest już dobrym znakiem) możemy upewnić się czy wszystko przebiegło prawidłowo, wyświetlając informacje o partycjach bezpośrednio z XBMC.

Należy zwrócić uwagę czy nasz pendrive (tutaj /dev/sda1) jest zamontowany do /storage, jeżeli tak proces migracji na pendrive przebiegł prawidłowo.

Teraz pozostaje nam jedynie „podkręcić” Malinę i cieszyć się dużo wydajniejszym systemem

___________

*) Niektóre dystrybucje umożliwiają instalację na USB bezpośrednio z poziomu instalatora, na przykład: Raspbmc, lub też po wykryciu Pendrive pytają się czy go użyć na potrzeby systemu, wówczas opisane wyżej kroki nie są konieczne.

**) UWAGA! Gdyby komendy nie działały prawidłowo przy kopiuj/wklej – przepisz je ręcznie do terminala !
(Zgodnie z informacjami na forum czasem jakieś dziwne białe znaki kopiują się s przeglądarki)

Dowiedz się więcej na temat kabla USB-C.

Tekst pozyskany z archiwalnej wersji strony kodi.org.pl – Napisany przez autora bloga.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.