Re: Raspberry Pi 4 and M.2 SATA SSD recognized but not booting or available for install - unsupported interface
- Reply: Johan Helsingius : "Re: Raspberry Pi 4 and M.2 SATA SSD recognized but not booting or available for install - unsupported interface"
- Reply: Johan Helsingius : "Re: Raspberry Pi 4 and M.2 SATA SSD recognized but not booting or available for install - unsupported interface"
- In reply to: Johan Helsingius : "Re: Raspberry Pi 4 and M.2 SATA SSD recognized but not booting or available for install - unsupported interface"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 12 Apr 2024 15:10:30 UTC
On Apr 12, 2024, at 06: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 > In the above notation and context, you would need to do the likes of: # cp -aRx /mnt/ /boot/efi/ Likely: Edit the /boot/efi/config.txt to also have: # # Local addition that avoids USB3 SSD boot failures that look like: # uhub_reattach_port: port ? reset failed, error=USB_ERR_TIMEOUT # uhub_reattach_port: device problem (USB_ERR_TIMEOUT), disabling port ? # WARNING, not sufficient for "boot -s": that needs the full force_turbo=1 initial_turbo=60 # shutdown -p now Disconnect the USB stick and leave it disconnected during the boot (whenever you are booting). Only one media should have those files in an msdosfs during boot: the specific media that you want to boot from. Power on. You are responsible for putting a copy of the RP* firmware, armstub*.bin files, and u-boot.bin and the like to the msdosfs that you want to use. The same is truth when any of those files need to be updated: nothing will automatically put the files in the msdosfs. === Mark Millard marklmi at yahoo.com