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)
Add Comment
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
- Your name, rating, website address, town, country, state and comment will be publicly displayed if entered.
- Aside from the data entered into these form fields, other stored data about your comment will include:
- Your IP address (not displayed)
- The time/date of your submission (displayed)
- Your email address will not be shared. It is collected for only two reasons:
- Administrative purposes, should a need to contact you arise.
- To inform you of new comments, should you subscribe to receive notifications.
- A cookie may be set on your computer. This is used to remember your inputs. It will expire by itself.
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
- Although the administrator will attempt to moderate comments, it is impossible for every comment to have been moderated at any given time.
- You acknowledge that all comments express the views and opinions of the original author and not those of the administrator.
- You agree not to post any material which is knowingly false, obscene, hateful, threatening, harassing or invasive of a person's privacy.
- The administrator has the right to edit, move or remove any comment for any reason and without notice.
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
27/06/2022 maniek86
Pytania i komentarze można również kierować na [email protected]
Comments