0

When I try to boot the Raspberry Pi 4B from my SSD, the screen goes black and the system does not start.

This is my current hardware setup:

  1. Raspberry Pi 4B 8GB RAM.
  2. Crucial MX500 1TB SSD Hard Drive CT1000MX500SSD1(Z).
  3. SALCAR Hard Drive Enclosure for 2.5 SATA HDD and SSD with USB 3.0 Cable.
  4. VEMONT USB Hub 3.0 4 ports with 5V/2A adapter.

These are the steps I followed:

  1. Used the Raspberry Pi Imager to burn the default Raspbian OS 32 bit in my MicroSD.

  2. Opened the terminal and executed the following commands:

     sudo apt update && sudo apt full-upgrade -y
     sudo rpi-update
     sudo reboot
    
  3. Changed the EEPROM to stable:

     sudo nano /etc/default/rpi-eeprom-update
     sudo rpi-eeprom-update -d -a
     sudo reboot
    
  4. Pluged in the SSD (it gets recognised as expected), and I cloned the current content of the MicroSD using the SD Card Copier utility.

  5. I executed sudo raspi-config > Advanced Options > Boot Order > USB Boot.

  6. Checked the values of vcgencmd bootloader_version and vcgencmd bootloader_config, and it shows BOOT_ORDER=0xf41.

  7. Safely powered off the Raspberry, removed the MicroSD, leaving the SSD hard drive plugged in.

  8. It seems to boot OK at first, it says something like "Resizing partition..." (the MicroSD did the same thing in its first boot), but afterwards, I see a black screen with no info whatsoever (even no cursor blinking) and the HDMI still preserves the signal.

Did I miss any step? I've followed this and this tutorials and he managed to do it in real-time. Maybe some of my hardware is not compatible?

EDIT: Here are the specs so you can check the current status:

pi@raspberrypi:~ $ lsusb
Bus 002 Device 003: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge
Bus 002 Device 002: ID 2109:0815 VIA Labs, Inc. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 10f5:0651 Turtle Beach 
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 005: ID 2109:2815 VIA Labs, Inc. 
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

pi@raspberrypi:~ $ blkid
/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="04A5-3FE5" TYPE="vfat" PARTUUID="9934f0e0-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="c1578b06-85c2-4327-9c65-4c474a8f23f9" TYPE="ext4" PARTUUID="9934f0e0-02"
/dev/sda1: LABEL_FATBOOT="boot" LABEL="boot" UUID="04A5-3FE5" TYPE="vfat" PARTUUID="9934f0e0-01"
/dev/sda2: LABEL="rootfs" UUID="c1578b06-85c2-4327-9c65-4c474a8f23f9" TYPE="ext4" PARTUUID="9934f0e0-02"

pi@raspberrypi:~ $ sudo cat /boot/cmdline.txt
console=serial0,115200 console=tty1 root=PARTUUID=9934f0e0-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

pi@raspberrypi:~ $ sudo cat /etc/fstab
proc            /proc           proc    defaults          0       0
PARTUUID=9934f0e0-01  /boot           vfat    defaults          0       2
PARTUUID=9934f0e0-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

pi@raspberrypi:~ $ sudo rpi-eeprom-update 
BCM2711 detected
VL805 firmware in bootloader EEPROM
BOOTLOADER: up-to-date
CURRENT: Fri 11 Dec 2020 11:15:17 AM UTC (1607685317)
 LATEST: Thu 03 Sep 2020 12:11:43 PM UTC (1599135103)
 FW DIR: /lib/firmware/raspberrypi/bootloader/default
VL805: up-to-date
CURRENT: 000138a1
 LATEST: 000138a1

pi@raspberrypi:~ $ sudo vcgencmd bootloader_config
[all]
BOOT_UART=0
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0
DHCP_TIMEOUT=45000
DHCP_REQ_TIMEOUT=4000
TFTP_FILE_TIMEOUT=30000
ENABLE_SELF_UPDATE=1
DISABLE_HDMI=0
BOOT_ORDER=0xf41

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.4.83-v7l+ #1379 SMP Mon Dec 14 13:11:54 GMT 2020 armv7l GNU/Linux

pi@raspberrypi:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
5
  • 1
    not all USB 3.0 enclosures/cables are bootable .. I have several ugreen brand cables and enclosures that identify as ASMedia Technology Inc. Name: ASM1051E ASM1053E ASM1153 ASM1153E SATA bridge that boot perfectly ... then there's the rubbish Sabrent branded cables that identify as JMicron USA Technology Corp. JMS561U two ports SATA 6Gb/s bridge - they work great, but unbootable in any pi including the pi4 – Jaromanda X Jan 11 at 20:51
  • Are you kidding? I have a JMicron USA cable but the JMS567 version (I’ve added my system’s specs at the bottom of the post). Do you have any reference which explains why it does/does not work? Cheers! – harrison4 Jan 12 at 20:16
  • No reference, anecdotal evidence, i.e. doesn't work for me (I have 3 of them) and a couple of the amazon reviews I read (AFTER I bought them) also warn against using these cables for such purpose in raspberry pi – Jaromanda X Jan 12 at 20:43
  • according to this the JMS567 DOES work however - though that's with a VID:PID of 152d:0567 – Jaromanda X Jan 12 at 20:54
  • I didn't read the question properly though - considering the pi booted from the USB at least once (it expanded the filesystem) I don't think my comments are at all relevant!! – Jaromanda X Jan 12 at 23:10
2

One big problem is that you used rpi-update. It is declared to be unstable and should not be used without advice of developers. It could leave your RPi unbootable. You should really revert its installation and try again.

1

The solution was to omit the rpi-update in the setup and to add this like at the beginning of the /boot/cmdline.txt of the SSD:

usb-storage.quirks=152d:0578:u

That will disable UAS protocol and use USB Mass Storage protocol instead, which usually gets the JMicron adapters working, but if you are using an SSD it's not a true fix, because those adapters with broken UASP also don't support TRIM (important function for SSD).

References: https://www.raspberrypi.org/forums/viewtopic.php?p=1796364#p1796364 https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=245931

Conclusion: don't use JMicron cables!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.