Re: Installing 13.1 ARM on SSD

John Kennedy <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On Fri, Jul 08, 2022 at 05:40:23PM +0000, Wall, Stephen wrote:
> I am attempting to install FreeBSD/ARM 13.1 on a RPi4 with a USB3 SSD attached.
> Steps I’ve taken:
> - Used Raspberry Pi Imager to set the board to boot from USB first, SD card second
> - downloaded and burned  FreeBSD 13.1 arm65-aarch64-RPI image
> - booted and run bsdinstall
> - selected ZFS
> - selected the USB SSD
> 
> Installation ran to completion, but when I reboot without the SD card, I get a “Firmware not found” error message.
> Searching the web gives lots of results for linux, but I can’t find anything for FreeBSD.
> Has anyone successfully done an install like this, and can point me toward some resources that will get me straightened out?

  For my RPI4, I burned the SD card and initially booted off of that.
That approach got started from Mark Millard's approach here:

	https://marc.info/?l=freebsd-arm&m=162032836014677&w=2

  The image I seeded from was "burned" via:

	xzcat < FreeBSD-13.1-STABLE-arm64-aarch64-RPI-20220603-185159f77c9-250958.img.xz | dd bs=512b of=/dev/da1

  Probably could have used a much bigger multiple of 512 for the
blocksize, da1 happened to be what the disk-to-be showed up as on my
system.

  So that's a -STABLE (vs a -RELEASE), and that "arm65" was probably a
human typo I'm guessing (vs arm64).

  From the SD card, I did a typical bsinstall onto the USB-connected
disk, then stomped on /boot/efi with the SDCARD's /boot/msdos contents
(uboot).  I suspect that is what is biting you.  I yanked out the SD card
at that point, and have been USB-only ever since.

	root@rpi4:~ # gpart show
	=>       40  488397088  da0  GPT  (233G)
	         40     532480    1  efi  (260M)
	     532520       2008       - free -  (1.0M)
	     534528   50331648    2  freebsd-swap  (24G)
	   50866176  437530624    3  freebsd-zfs  (209G)
	  488396800        328       - free -  (164K)

  This was from the SD card booted, where the USB disk is now da0, and I
think that is bash-style environment variable declaration but you get
the idea.  Reformatted what will be /boot/efi, mounted it, copied over
uboot from SD card's /boot/msdos, unmounted it:

	export TGT=da0
	newfs_msdos -F16 -L uboot /dev/${TGT}p1
	mount -vt msdos /dev/${TGT}p1 /mnt
	(cd /boot/msdos && tar jcf - .) | (cd /mnt && tar fvx -)
	umount -v /mnt

  Probably a little old-school.
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.