Raspberry Pi 4 bootolása SSD-ről

Van egy RaspberryPi4 SBC-m, ami már elfogyasztott egy SD kártyát, majd a boot-ot USB-re állítva egy Maxtor és egy WD HDD-t is. Utolsó esélyként adtam neki egy WD SSD-t, amit egy nem használt gépből szedtem ki, SATA 2,5 inch csatlakozója van. Vettem egy SATA to USB átalakítót a helyi boltban, természetesen egy problémáshoz sikerült hozzájutni.

Összerakva a pi boot loop-ba került, ilyesmi üzeneteket csíptem el (ezek nem  a Pi-ről vannak):

[  155.650847] sd 7:0:0:0: [sdg] tag#5 uas_zap_pending 0 uas-tag 1 inflight: CMD  
[  155.650852] sd 7:0:0:0: [sdg] tag#5 CDB: Read(10) 28 00 74 70 69 d0 00 00 08 00
[  155.650861] sd 7:0:0:0: [sdg] tag#5 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK cmd_age=1s
[  155.650863] sd 7:0:0:0: [sdg] tag#5 CDB: Read(10) 28 00 74 70 69 d0 00 00 08 00
[  155.650864] I/O error, dev sdg, sector 1953524176 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[  155.650909] device offline error, dev sdg, sector 1953524176 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  155.650914] Buffer I/O error on dev sdg, logical block 244190522, async page read
[  155.693166] sd 7:0:0:0: [sdg] Synchronizing SCSI cache
[  155.939912] sd 7:0:0:0: [sdg] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK

Fórumokat olvasgatva az átalakító kábel nem fekszik a linux uasp drivernek, azt javasolták hogy némi sebesség csökkenés árán megoldja a problémát, ha az uasp driver tiltásra kerül, a régi driverrel stabilan működik az usb3 porton és még így is jóval gyorsabb, mint az amúgy működő usb2 porton.

Neten van sok leírás a témában hogyan lehet ezt beállítani (például). A szög egyszerű /boot/cmdline.txt szerkesztése természetesen az általam használt ALARM rendszeren nem működik. 

A leírások alapján a 

usb-storage.quirks=idVendor:idProduct:u

sort kellene a cmdline.txt-be írni.

Az id-k:

  • cyme
1   2  0x2109 0x3431 USB2.0 Hub -             usb    480.0 Mb/s
2   2  0x152d 0x0562 External   DD56419883895 usb      5.0 Gb/s
  • dmesg
[  156.193219] usb 3-6: new SuperSpeed USB device number 5 using xhci_hcd
[  156.207424] usb 3-6: New USB device found, idVendor=152d, idProduct=0562, bcdDevice= 2.14

 

ALARM esetén a /boot/boot.txt-t kell szerkeszteni a default:

setenv bootargs console=ttyS1,115200 console=tty0 root=PARTUUID=${uuid} rw rootwait sms c95xx.macaddr="${usbethaddr}"

helyett:

setenv bootargs usb-storage.quirks=152d:0562:u console=ttyS1,115200 console=tty0 root=PARTUUID=${uuid} rw rootwait sms c95xx.macaddr="${usbethaddr}"

Ezután a boot könyvtárban lévő mksrc script-tel kell generálni a boot.scr fájlt. Újraindítás után már boot-olni fog usb3+SSD-ről.

Hozzászólások

anno a bananapi-n ugy csinaltam hogy az sd kartyara a /boot kerult, a / meg egy kulso ssd-re. igy nemkellett haxolni semmit, a kernel bootolt ahogy kell, utana megtalalta az ssdt es ment tovabb. a /boot-ra csak minimalis iras van (kernel frissitesek), ugyhogy az sem fingik ki.

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!