Re: Raspberry Pi 4 and M.2 SATA SSD recognized but not booting or available for install - unsupported interface
Date: Fri, 12 Apr 2024 14:22:39 UTC
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 <mstiller@me.com> Datum: vrijdag, 12 april 2024 16:05 Aan: Johan Helsingius <julf@Julf.com> CC: Mark Millard <marklmi@yahoo.com>, freebsd-arm@freebsd.org 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 : cyclaero@gmail.com > 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 <julf@Julf.com> 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 > > > > > > > > > > >