2

I have a raspi 3 with two attached external usb storages. A smaller ssd with the system (fat32/ext4) and a large hd (xfs) with data. My cmdline.txt tells the system from which UUID to boot from and it works flawlessly - until I plug in the data disk, which somehow always takes precedence over the ssd. There is no system on it, no boot directory or partiton, nor did I detect any boot flags in fdisk. Just a single partiton with some directories in it. Of course the system cannot boot from it, so I get a black screen and nothing happens.

What could be the cause of this?

Selected partition 1
         Device: /dev/sdb1
          Start: 2048
            End: 11721043967
        Sectors: 11721041920
           Size: 5.5T
           Type: Linux filesystem
      Type-UUID: 0FC63DAF-8483-4772-8E79-3D69D8477DE4
           UUID: F75C0B98-31E6-43C3-800B-235CD25AEAEF
           Name: media
sudo cat /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=2c192fba-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
pi@raspberrypi
label: gpt
label-id: 4107ECD0-9D0D-4660-A66B-7B2138C2E0FF
device: /dev/sdb
unit: sectors
first-lba: 34
last-lba: 11721045133

/dev/sdb1 : start= 2048, size= 11721041920, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=F75C0B98-31E6-43C3-800B-235CD25AEAEF, name="media"

sudo blkid
/dev/sda1: LABEL_FATBOOT="boot" LABEL="boot" UUID="F661-303B" TYPE="vfat" PARTUUID="2c192fba-01"
/dev/sda2: LABEL="rootfs" UUID="8d008fde-f12a-47f7-8519-197ea707d3d4" TYPE="ext4" PARTUUID="2c192fba-02"
/dev/sdb1: LABEL="media" UUID="fa96f617-b3a4-46bc-ac52-029829f37616" TYPE="xfs" PARTLABEL="media" PARTUUID="f75c0b98-31e6-43c3-800b-235cd25aeaef"
Jan
  • 175
  • 2
  • 9

1 Answers1

1

Disregard what I have written before. @goldilocks is right: your Pi apparently never gets past the bootcode, and you have no configuration options for that. Perhaps plugging the drives in different USB sockets would help the bootcode to find the right one. Another idea worth a try is to plug the data SDD through a hub, so that there's only one drive (the system SSD) connected directly to the USB host.

Other than that, there's nothing you can do short of reporting a bug to the Pi Foundation and hope they'll fix the bootcode eventually. If the issue prevents the Pi from finding your bootcode.bin in the first place, there will be no fix.

--- old answer ---

Try using a conventional names, i.e. /dev/sda2, and if that doesn't work, try /dev/sdb2. Note that kernel parameters have nothing to do with actual device names in /dev, the similarity in naming is purely conventional, and it's possible for a device named sda by the bootloader to become sdb later on.

Another option is to find out the minor/major numbers with ls -l /dev/sda2, and use those numbers in kernel command line as in root=/dev/0x1122 (assuming major=17 (0x11) and minor=34 (0x22))

Dmitry Grigoryev
  • 28,277
  • 6
  • 54
  • 147