FreeBSD-14.2 on a Raspberry Pi4B - Post Install Steps

The information on the RPi4B is pretty straight forward. Write FreeBSD-X.Y-RELEASE-arm64-aarch64-RPI.img to an SD card and system just boots. The WIKI - arm/Raspberry Pi page highlights what does/does not work out-of-the-box. The suggestion to tweak RPI config.txt to get HDMI output was quite useful, enabling a hi-def console output on boot with a 1080p capable monitor attached. Almost a pleasant experience.

Now the fun part of configuring the setup...
I tend to write things down for later reference. It's pedantic, short pencil being better than a long memory. I need to have a listing of "these are my steps..." to refer to later. I'm at the point of hardening the RPI. I was able to review the the install script sources to correlate selections to system changes. I've gained an appreciation for how much work the installer performs during its execution. It helps I can poke about a live system.

In documenting my efforts, I've tripped over a few things I need to square away in my head:

1) In configuring an RPi system, I'm completing install steps manually. In poking around what was available, I found both bsdinstaller and bsdconfig. From past experience, using bsdinstaller after installation is rather a dangerous prospect. Answer may seem obvious, in my head bsdconfig is the preferred method method for adjusting the system post-install. Is this correct?

2) It feels danagerous to leave bsdinstaller on a live system. Can this be removed, and if so what is the best way to perform?

3) RPi releases a firmware update, when necessary. I could not find details of for RPi firmware handling on the forums past ~2021/2022.
sysutils/rpi-firmware is shown having pkgs available for multiple FreeBSD releases but the port itself has not been updated since 2023. What is the best practices for RPi firmware updates under FreeBSD?
 
It feels danagerous to leave bsdinstaller on a live system.
It can also be used to install a system for a jail.
Code:
     jail destination  Sets up a new chroot system at destination, suitable
                       for use with jail(8).  Behavior is generally similar to
                       auto, except that disk partitioning and network setup
                       are skipped and a kernel is not installed into the new
                       system.

There are plenty of other tools that would be considered "dangerous" on a running system. UNIX and FreeBSD in particular isn't going to stop you from shooting yourself in the foot.
 
Most of us around here probably manually configure our new installations.

But on Arm Images I find bsdconfig to be nice for setting time zone.
bsdconfig timezone
 
Answer may seem obvious, in my head bsdconfig is the preferred method method for adjusting the system post-install. Is this correct?
Don't think there's a single preferred method actually. bsdconfig(8) was created because newbie FreeBSD users kept destroying their system trying to configure it post-install with bsdinstall(8). Seasoned FreeBSD users rarely touched it because we already know how and where to change all of those settings. Is bsdconfig(8) preferred over bsdinstall(8)? Most definitely, if only because bsdinstall(8) has a tendency to really mess up your system if you're not careful enough.

But you'd do well not to rely on either tool, and figure out how to make those changes "by hand". In most cases it simply means editing /etc/rc.conf. Another "newish" tool that's very useful for this is sysrc(8).
 
But you'd do well not to rely on either tool, and figure out how to make those changes "by hand". In most cases it simply means editing /etc/rc.conf. Another "newish" tool that's very useful for this is sysrc(8).
And manual changes was what I was documenting for my setup. I needed to make sure that steps I was taking were not too pedantic, or otherwise easily completed with something else.

So, having identified the install steps and method of change, I can go ahead with putting fingers to keyboard.

Still need a bit of clarification on RPi firmware.
 
If the firmware works why do you need to update it? I have no RPi>3A so I cannot help. A bin is a bin. If it boots it boots.

Have you looked at the EDK2-UEFI booting method for RPI4? It is pretty deluxe versus u-boot.
 
It feels danagerous to leave bsdinstaller on a live system. Can this be removed, and if so what is the best way to perform?
It is just a script.

rm /usr/sbin/bsdinstall

It will respawn in your next OS upgrade.

You really should enjoy FreeBSD and don't worry about bsdinstall. It won't bite you.
 
Still need a bit of clarification on RPi firmware.
I do the RPi4B firmware updates from within RPiOS this way:

works as of 20241021

install 2024-07-04-raspios-bookworm-arm64-lite.img.xz on microSD card
done from RPi website
load microSD card into RPi4B slot
Boot to CLI
setup user, login
type 'sudo rpi-eeprom-update' to show current eeprom version and if
any updates available.
type 'sudo rpi-eeprom-config' to run configurator and use updater
exit
reboot, login
type 'sudo rpi-eeprom-update', if nothing changed then,
type 'sudo rpi-eeprom-update -a'
reboot
reboot, login
type 'sudo rpi-eeprom-update', new version should show as installed
shutdown, remove the microSD card
 
Back
Top