Re: Raspberry Pi 4 and M.2 SATA SSD recognized but not booting or available for install - unsupported interface
- Reply: Ronald Klop : "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 14:05:29 UTC
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
>
>
>