Re: Raspberry Pi 4 and M.2 SATA SSD recognized but not booting or available for install - unsupported interface

Ronald Klop <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <518069276.3078.1712931759670@localhost>
Have a similar setup using GPT on my RPI4.
=>        40  1953458096  da1  GPT  (931G)
          40      102400    1  efi  (50M)
      102440     8388608    2  freebsd-swap  (4.0G)
     8491048  1944967088    3  freebsd-zfs  (927G)
Set this up manually after booting the standard image on MMC or USB-stick.
I just copied the EFI content from the standard image.

I vaguely remember that I needed to upgrade EEPROM on my RPI4 to make booting from SSD possible. This probably depends on the age of the RPI. You can use a Linux tool to do this.

Google gives multiple examples how to do this. This was one of my top hits now.
https://raspberrystreet.com/learn/how-to-boot-raspberrypi-from-usb-ssd

Regards,
Ronald.

 
Van: Michael Stiller <[email protected]>
Datum: vrijdag, 12 april 2024 16:05
Aan: Johan Helsingius <[email protected]>
CC: Mark Millard <[email protected]>, [email protected]
Onderwerp: Re: Raspberry Pi 4 and M.2 SATA SSD recognized but not booting or available for install - unsupported interface
> 
> I think I have roughly the same setup as you on a pi4.
> 
> What I basically did was:
> 
> - write the .img to the usb stick
> - boot that
> - create partitions on the ssd using gpart with that layout below:
> (because the .img tends to extend the root fs which I did not want.)
> 
> gpart of ssd:
> 
> 
> =>       63  488397105  da0  MBR  (233G)
>          63     131072    1  fat32lba  [active]  (64M)
>      131135  488266033    2  freebsd  (233G)
> 
> =>        0  488266033  da0s2  BSD  (233G)
>           0   33554432      1  freebsd-ufs  (16G)
>    33554432    8388608      2  freebsd-swap  (4.0G)
>    41943040  446322993      4  freebsd-zfs  (213G)
> 
> On the Pi4 I think it's not relevant if the disk is MBR partitioned,
> 
> at least not for this (small) size.
> 
> Then I made the filesystems there, / as ufs and then /boot/efi as msdos.
> 
> I copied the files from the usb stick (which contains the .img contents)
> 
> using the "clone" program which is in pkg:
> 
> pkg info clone
> clone-1.0.8
> Name           : clone
> Version        : 1.0.8
> Installed on   : Sat Mar 23 16:15:40 2024 UTC
> Origin         : sysutils/clone
> Architecture   : FreeBSD:14:aarch64
> Prefix         : /usr/local
> Categories     : sysutils
> Licenses       : BSD2CLAUSE
> Maintainer     : [email protected]
> WWW            : https://cyclaero.github.io/clone/
> Comment        : File tree cloning tool
> ..
> 
> I basically used this commands: (mount correctly!)
> 
> clone -s -v 3 / /mnt
> clone -s -v 3 /boot/efi /mnt/boot/efi
> 
> On important thing is:
> On the SSD my loader.conf contains this line:
> 
> vfs.root.mountfrom="ufs:/dev/da0s2a"
> 
> Which is the device the kernel detects if NO usb stick is inserted.
> 
> So this must be adjusted basically in /mnt/boot/loader.conf
> 
> Then umounted all /mnt, removed usb stick.
> 
> After this it booted from SSD, I created the zfs pool and moved some directories to zfs.
> 
> Hope this helps. Feel free to ask any more questions.
> 
> Best regards,
> 
> Michael
> 
> 
> 
> 
> > On 12. Apr 2024, at 15:41, Johan Helsingius <[email protected]> wrote:
> >
> > On 11/04/2024 19:57, Mark Millard wrote:
> >> As far as I know, the absence of sufficient material in
> >> da1p1 (efiboot0) could be your only problem.
> >
> > OK, I have some progress (but not quite sure how). The
> > system now boots from the USB stick, but with the ZFS
> > file system from the SSD as it should - but without the
> > USB stick it doesn't boot, complaining "Firmware not found".
> >
> > Here is the current partitioning, da0 is the USB stick,
> > da1 the SSD:
> >
> > $ gpart show
> > =>      63  31301568  da0  MBR  (15G)
> >        63      1985       - free -  (993K)
> >      2048    102400    1  fat32lba  [active]  (50M)
> >    104448  10381312    2  freebsd  (5.0G)
> >  10485760  20815871       - free -  (9.9G)
> >
> > =>       0  10381312  da0s2  BSD  (5.0G)
> >         0       128         - free -  (64K)
> >       128  10381184      1  freebsd-ufs  (4.9G)
> >
> > =>       40  937703008  da1  GPT  (447G)
> >         40     532480    1  efi  (260M)
> >     532520       2008       - free -  (1.0M)
> >     534528    4194304    2  freebsd-swap  (2.0G)
> >    4728832  932972544    3  freebsd-zfs  (445G)
> >  937701376       1672       - free -  (836K)
> >
> > $ gpart show -pl
> > =>      63  31301568    da0  MBR  (15G)
> >        63      1985         - free -  (993K)
> >      2048    102400  da0s1  (null)  [active]  (50M)
> >    104448  10381312  da0s2  (null)  (5.0G)
> >  10485760  20815871         - free -  (9.9G)
> >
> > =>       0  10381312   da0s2  BSD  (5.0G)
> >         0       128          - free -  (64K)
> >       128  10381184  da0s2a  (null)  (4.9G)
> >
> > =>       40  937703008    da1  GPT  (447G)
> >         40     532480  da1p1  efiboot0  (260M)
> >     532520       2008         - free -  (1.0M)
> >     534528    4194304  da1p2  swap0  (2.0G)
> >    4728832  932972544  da1p3  zfs0  (445G)
> >  937701376       1672         - free -  (836K)
> >
> > da0s1 and da1p1 (that I assume are the EFI boot partitions)
> > have totally different contents:
> >
> > SSD / da1p1:
> > $ find /boot/efi
> > /boot/efi
> > /boot/efi/efi
> > /boot/efi/efi/freebsd
> > /boot/efi/efi/freebsd/loader.efi
> > /boot/efi/efi/boot
> > /boot/efi/efi/boot/bootaa64.efi
> > /boot/efi/ubootefi.var
> >
> >
> > USB stick / da0s1:
> >
> > $ find /mnt/da0s1
> > /mnt
> > /mnt/EFI
> > /mnt/EFI/BOOT
> > /mnt/EFI/BOOT/bootaa64.efi
> > /mnt/dtb
> > /mnt/dtb/allwinner
> > /mnt/dtb/allwinner/sun50i-a64-nanopi-a64.dtb
> > /mnt/dtb/allwinner/sun50i-a64-olinuxino.dtb
> > /mnt/dtb/allwinner/sun50i-a64-pine64-lts.dtb
> > /mnt/dtb/allwinner/sun50i-a64-pine64-plus.dtb
> > /mnt/dtb/allwinner/sun50i-a64-pine64.dtb
> > /mnt/dtb/allwinner/sun50i-a64-pinebook.dtb
> > /mnt/dtb/allwinner/sun50i-a64-sopine-baseboard.dtb
> > /mnt/dtb/allwinner/sun50i-h5-orangepi-pc2.dtb
> > /mnt/dtb/allwinner/sun50i-h5-nanopi-neo2.dtb
> > /mnt/dtb/allwinner/sun50i-h6-pine-h64.dtb
> > /mnt/dtb/allwinner/sun50i-h6-pine-h64-model-b.dtb
> > /mnt/dtb/overlays
> > /mnt/dtb/overlays/sun50i-a64-mmc0-disable.dtbo
> > /mnt/dtb/overlays/sun50i-a64-mmc1-disable.dtbo
> > /mnt/dtb/overlays/sun50i-a64-mmc2-disable.dtbo
> > /mnt/dtb/overlays/sun50i-a64-pwm.dtbo
> > /mnt/dtb/overlays/sun50i-a64-rpwm.dtbo
> > /mnt/dtb/overlays/sun50i-a64-spi0-spigen.dtbo
> > /mnt/dtb/overlays/sun50i-a64-timer.dtbo
> > /mnt/dtb/overlays/sun50i-h5-opp.dtbo
> > /mnt/dtb/overlays/sun50i-h5-nanopi-neo2-opp.dtbo
> > /mnt/dtb/overlays/rk3328-analog-sound.dtbo
> > /mnt/dtb/overlays/rk3328-i2c0.dtbo
> > /mnt/dtb/overlays/rk3328-uart1.dtbo
> > /mnt/dtb/overlays/rk3399-mmc0-disable.dtbo
> > /mnt/dtb/overlays/rk3399-mmc1-disable.dtbo
> > /mnt/dtb/overlays/rk3399-sdhci-disable.dtbo
> > /mnt/dtb/overlays/spigen-rpi3.dtbo
> > /mnt/dtb/overlays/spigen-rpi4.dtbo
> > /mnt/dtb/rockchip
> > /mnt/dtb/rockchip/rk3399-khadas-edge-captain.dtb
> > /mnt/dtb/rockchip/rk3399-khadas-edge.dtb
> > /mnt/dtb/rockchip/rk3399-khadas-edge-v.dtb
> > /mnt/dtb/rockchip/rk3399-nanopc-t4.dtb
> > /mnt/dtb/rockchip/rk3328-nanopi-r2s.dtb
> > /mnt/dtb/rockchip/rk3399-nanopi-r4s.dtb
> > /mnt/dtb/rockchip/rk3399-rock-pi-4.dtb
> > /mnt/dtb/rockchip/rk3328-rock-pi-e.dtb
> > /mnt/dtb/rockchip/rk3328-rock64.dtb
> > /mnt/dtb/rockchip/rk3399-firefly.dtb
> > /mnt/dtb/rockchip/rk3399-rockpro64.dtb
> > /mnt/dtb/freescale
> > /mnt/dtb/freescale/fsl-ls1028a-rdb.dtb
> > /mnt/dtb/freescale/fsl-lx2160a-clearfog-cx.dtb
> > /mnt/dtb/freescale/fsl-lx2160a-honeycomb.dtb
> > /mnt/dtb/freescale/fsl-lx2160a-qds.dtb
> > /mnt/dtb/freescale/fsl-lx2160a-rdb.dtb
> > /mnt/dtb/freescale/imx8mq-evk.dtb
> > /mnt/dtb/freescale/imx8mq-nitrogen.dtb
> > /mnt/dtb/marvell
> > /mnt/dtb/marvell/armada-3720-espressobin.dtb
> > /mnt/dtb/marvell/armada-8040-clearfog-gt-8k.dtb
> > /mnt/dtb/marvell/armada-8040-db.dtb
> > /mnt/dtb/marvell/armada-8040-mcbin.dtb
> > /mnt/dtb/marvell/armada-8040-mcbin-singleshot.dtb
> > /mnt/dtb/nvidia
> > /mnt/dtb/nvidia/tegra210-p2371-2180.dtb
> > /mnt/dtb/nvidia/tegra210-p3450-0000.dtb
> > /mnt/README
> > /mnt/u-boot.bin
> > /mnt/armstub8.bin
> > /mnt/armstub8-gic.bin
> > /mnt/bootcode.bin
> > /mnt/fixup_cd.dat
> > /mnt/fixup_db.dat
> > /mnt/fixup_x.dat
> > /mnt/fixup.dat
> > /mnt/LICENCE.broadcom
> > /mnt/start_cd.elf
> > /mnt/start_db.elf
> > /mnt/start_x.elf
> > /mnt/start.elf
> > /mnt/fixup4.dat
> > /mnt/fixup4cd.dat
> > /mnt/fixup4db.dat
> > /mnt/fixup4x.dat
> > /mnt/start4.elf
> > /mnt/start4cd.elf
> > /mnt/start4db.elf
> > /mnt/start4x.elf
> > /mnt/bcm2710-rpi-2-b.dtb
> > /mnt/bcm2710-rpi-3-b.dtb
> > /mnt/bcm2710-rpi-3-b-plus.dtb
> > /mnt/bcm2710-rpi-cm3.dtb
> > /mnt/bcm2711-rpi-4-b.dtb
> > /mnt/config.txt
> > /mnt/overlays
> > /mnt/overlays/mmc.dtbo
> > /mnt/overlays/pwm.dtbo
> > /mnt/overlays/disable-bt.dtbo
> >
> > Julf
> >
> >
> >
> 
>  
> 
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.