maniek86.xyz

Powrót do listy

Uruchamianie Raspberry Pi z taniego adaptera IDE/SATA na USB



Kategoria: Informatyka | 27/06/2022 | Komentarzy: 0

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 załadować tylko kernela z niej i 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ą 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. 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 poleceniach 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 rootwaitrootdelay=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ł.

 




Komentarze

Brak komentarzy.

Dodaj komentarz





Dozwolone tagi: <a><br><strong><b><em><i><blockquote><pre><code><ul><ol><li><del>
Proszę o zachowanie podstawowych zasad i kultury w komentarzach.
Komentarze ze spamem, nienawiścią, brakiem kultury, niepoprawnym emailem będą natychmiastowo usuwane.


CAPTCHA Image

Reload Image





Ostatnie artykuły:

Renowacja kontrolera Multi I/O VLB
09/02/2025

Karta GPIO PCI z starego tunera TV PCI
17/01/2023

Modyfikowanie nawigacji aby dodać port szeregowy
02/08/2022

Uruchamianie Raspberry Pi z taniego adaptera IDE/SATA na USB
27/06/2022


Główna strona blogu
Wszystkie artykuły jako lista