background image

maniek86

Blog:

2023

2022

Uruchamianie Raspberry Pi z taniego adaptera IDE/SATA na USB



Kupując na popularnych sklepach internetowych adaptery IDE/SATA na USB można się natknąć na tanie adaptery „ADAPTER DYSK ATA IDE 2.5 3.5 SATA USB”. Z komputerami działają bez problemów (nawet napędy CD), czy nawet z Androidem przy użyciu kabla OTG. Tylko nie polecam zasilaczy w zestawie, ponieważ są wybuchowe.

Czasami zdarza się, że nie mam się wolnej karty Micro SD lub jest zbyt mała by pomieścić jakieś dane, lecz mam sporo dysków twardych, których nie używam. Problemem takich adapterów może być dłuższy czas inicjalizacji dysku. Także oryginalne Raspberry Pi 1 nie obsługuje uruchamianie z USB. Rozwiązaniem może być użycie małej karty Micro SD aby poczekać na inicjalizację o to takiego adapteru.

W moim przypadku użyje większej karty Micro SD aby zademonstrować metodę użytą przeze mnie. Karta Micro SD nie musi być duża, nawet 128 MB (jeżeli taką o to znajdziesz) powinna wystarczyć.
Wgrałem na podłączony dysk twardy Raspberry Pi OS jakbym na kartę wgrywał za pomocą Raspberry Pi Imager





Próba odpalenia Raspberry Pi 3B+ z samego dysku się nie udała. Pora czas na analizę.



Najprawdopodobniej jest to spowodowane wyżej wymienionym problemem z czasem inicjalizacji takich adapterów. Moim pomysłem jest przeniesienie partycji /boot na małą kartę pamięci. Trzeba pozmieniać trochę partycje. Raspberry Pi Imager zrobił nam 2 partycje: „boot” i „rootfs”. Musimy przenieść partycje „boot” na kartę Micro SD, rozszerzyć „rootfs” i pozmieniać parę plików konfiguracyjnych.



Najpierw zajmiemy się stworzeniem karty Micro SD. Kartę należy sformatować do FAT32 i skopiować na nią pliki partycji „boot” z naszego dysku twardego z Raspberry Pi OS.



Teraz możemy rozszerzyć partycję „rootfs” na głównym dysku. Polecam z przypadku problemów jeszcze zostawić „boot” na dysku. Po modyfikowaniu partycji możemy się zająć modyfikowaniem plików konfiguracyjnych.
Potrzebujemy PARTUUID nowej partycji „boot” i „rootfs”. Można łatwo to zdobyć komendą „blkid”.

W komendach należy podmienić /dev/sdf1 odpowiednią partycją „boot” i /dev/sde2 partycją „rootfs” w twoim systemie.
Partycja „boot” karty Micro SD:
$ sudo blkid /dev/sdf1
/dev/sdf1: UUID="5FD6-73EA" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="7d5a2870-01"

Partycja „rootfs” dysku twardego:
$ sudo blkid /dev/sde2
/dev/sde2: LABEL="rootfs" UUID="a755e991-ee07-4251-9a93-ddbb10695d94" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="33497a23-02"

Otwieramy „cmdline.txt” z karty Micro SD. Plik powinien wyglądać tak:

console=serial0,115200 console=tty1 root=PARTUUID=33497a23-02 rootfstype=ext4 fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh splash plymouth.ignore-serial-consoles

Pozbywamy się części quiet init=/usr/lib/raspi-config/init_resize.sh splash plymouth.ignore-serial-consoles i dodajemy przed rootwait rootdelay=10 .

Jeżeli PARTUUID partycji „rootfs” z poprzedniej sekcji inny w cmdline.txt – zamieniamy go tym z komendy. Gotowy plik w przypadku mojej konfiguracji powinien wyglądać tak:
console=serial0,115200 console=tty1 root=PARTUUID=33497a23-02 rootfstype=ext4 fsck.repair=yes rootdelay=10 rootwait

Teraz otwieramy „rootfs” na dysku twardym i otwieramy plik „fstab” w folderze „/etc”. Plik u mnie wygląda tak:
proc            /proc           proc    defaults          0       0
PARTUUID=33497a23-01  /boot           vfat    defaults,flush    0       2
PARTUUID=33497a23-02  /               ext4    defaults,noatime  0       1

Podmieniamy PARTUUID „/boot” na PARTUUID partycji „boot” z wcześniejszej sekcji i to samo z „/” na PARTUUID „rootfs”.
Gotowy plik u mnie wygląda tak:
proc            /proc           proc    defaults          0       0
PARTUUID=7d5a2870-01  /boot           vfat    defaults,flush    0       2
PARTUUID=33497a23-02  /               ext4    defaults,noatime  0       1

Po tych wszystkich zmianach odłączamy dysk i kartę. Wpinamy w Raspberry Pi i próbujemy odpalić.

Bingo! Nasze Raspberry Pi wystartowało z dysku twardego z którym miało problemy wcześniej. Tą metodą można także użyć do oryginalnego Raspberry Pi 1, które nie obsługuje uruchamianie z USB tak jak Raspbery Pi 3. Prędkości mogą się wahać z zależności od dysku czy adaptera. W taki sposób można łatwo oszczędzić na kartach Micro SD. Co prawda zrobiłem to na dysku 20 GB (dla przykładu), który nie jest zbytnio duży ale można to wykonać także na innych większych dyskach. Można się także pobawić z partycjami aby mieć oddzielnie „/home” itp. ale to już nie temat na ten artykuł.

(Na zdjęciu kolory są pomieszane ale to jest problem z moim wyświetlaczem)











Comments

No comments yet. Be the first!

Add Comment

* Required information
500
Captcha Image

27/06/2022 maniek86
Pytania i komentarze można również kierować na [email protected]