FreeBSD on the Raspberry PI 5

I found a reason to install a new FreeBSD machine. It will be driving my new Raspberry PI 5 in a month or so. Seen some reviews about how get it working and since it will be a headless machine I do not see any problems.

It will be used to host Hubzilla, run a family calendar and some other things like maybe pixelfed for some family members.

Anyone aware of pitfalls I might need to know?
 
u-boot is cross platform so that's not the problem (also kboot is said to be working on aarch64 so you can have a linux kernel booting a freebsd loader and then kernel)
problem is if peripheral drivers are the same or close with the pi4 ones
otherwise they have to be written
but you will be better of with a rk3588s board which probably has comparable price, performance and better support right now
also rpi5 will need an accessory for pcie (rockchip boards usually have that built in) and also no emmc
 
I, too, am interested to see the Raspberry Pi 5 supported with a FreeBSD 14.0-STABLE or 15.0-CURRENT port. Yes need hardware for the developers to test, and/or a good register layout with addresses and a data specification sheet. How to make the RP1 chip operate. Maybe reading Raspberry Pi O/S source code could help write the corresponding FreeBSD code.

but you will be better of with a rk3588s board which probably has comparable price, performance and better support right now
Covacat, Can you recommend a specific rk3588s or rk3588 board? Orange Pi 5 Plus Orange Pi 5 plus details, or Radxa ROCK5 ; wiki.radxa.com/rock5 or other rk3588s board you recommend? NanoPC T6 RK3588 SBC, Media Streaming, two 2.5G Ethernet

What rk3566 , rk3568 CPU SBCs are supported? FriendlyElec.com NanoPi 5C IOT board
 
i don't have a rk3588s board but i have an orange pi 3b (rk3566) on order (should arrive soon)
i prefer orange pi because they have good linux support for their boards and have a repository on github with various kernels/u-boot for their boards so you can look at the code
some devices don't have yet linux mainline kernel support and if you need the source code is good to have some place to look for
also at least for allwinner the soc manuals are incomplete so you can't always fix a driver without linux source code
i don't know how good or available rockchip manuals are
also i have no experience with other vendors don't really know how good their support is
 
CovaCat and others; here below is a dump of a collection of URLs Related to FreeBSD/GhostBSD running on ARM64 boards.
Yes, this is a forums.freebsd.org post. I am sharing other code, images to view that may enrich the FreeBSD Arm64 environment.

https://t.me/+ST6N61pnu3Di8zgk
/https://t.me/+ST6N61pnu3Di8zgk ARM Open-Source Telegram channel where I place information about building GhostBSD-arm64 for Raspberry Pi 4B
https://t.me/ghostbsd_dev/24054 GhostBSD Dev ARM64 Development Telegram group
https://t.me/personalbsd SleepWalkers Telegram group
http://ghostbsd-arm64.blogspot.com My blog with many posts on my Journey to compile
https://github.com/GhostBSD/Ghostbsd-src GhostBSD source code
https://github.com/GhostBSD/Ghostbsd-ports ports tree source code for GhostBSD
https://lists.freebsd.org/archives/freebsd-arm/2023-December/003353.html
https://lists.freebsd.org/archives/freebsd-arm/2023-December/003353.html He was Asking about Freebsd on Raspberry Pi 5
https://lists.freebsd.org/archives/freebsd-arm/2023-December/index.html December 2023
https://lists.freebsd.org/archives/freebsd-arm/index.html May 2021 - Dec 2023

So how are you guys doing with your Arm64 SBCs? Maybe this OrangePi5 Plus with SleepWalkers port of GhostBSD and the 2.5Gb ethernet can be a test bed for your Arm64 Thin Client boot over the ethernet Solution. Maybe someone will make Raspi PXE boot work to download a netboot.xyz image

For Raspberry Pi 4B, 3B, 400 I have GhostBSD-Arm64 running from this image in this directory http://76.14.239.229/packages/
Here are the pkg repository configuration files that I use:
pkg -N
pkg search - | wc
cp -p GhostBSD(5).conf /usr/local/etc/pkg/repos/GhostBSD.conf
pkg -d update
pkg search - | wc
cp -p PersonalBSD.conf /usr/local/etc/pkg/repos/PersonalBSD.conf
pkg -d update
pkg search - | wc
cp -p FreeBSD.conf /usr/local/etc/pkg/repos/FreeBSD.conf
pkg -d update
pkg search - | wc
# you should now have access to the GhostBSD pkgs, PersonalBSD pkgs, and FreeBSD pkgs in that order. Over 30,000 pkgs to download and install to your FreeBSD. For purists, just use only the recommended and supported FreeBSD.conf file. Look at these repositories! You get the GhostBSD pkgs, the freshly compiled PersonalBSD pkgs, and the existing FreeBSD pkgs for all others. FreeBSD source code and software engineering is the greatest, superbly engineered Operating System!!

http://ghostbsdarm64.hopto.org/packages/Ghost14_selfbuilt_raspi4b_Dec12_3.img.xz Download and xz --decompress --keep --verbose
that you can burn into a USB Flash Drive and plug into a USB 3.0 connector on the Raspberry Pi 4B.
Then You can adjust file /usr/local/etc/pkg/repos/GhostBSD.conf file to point to either http://ghostbsdarm64.hopto.org/packages/ghostbsd-14-aarch64-ghostbsd_ports/.latest or http://76.14.239.229/packages/ ...

On the Raspi4B running ghostbsd issue this command to load XFCE Desktop Environment:
pkg install xorg xfce xfce4-goodies lightdm (or slim gui login manager)

Robonuggie_XFCE_DE_Raspi400.png

~~~~~ www.youtube.com/@Robonuggie YouTube channel ~~~
https://x.com/RoboNuggie/status/1734619959328714786?s=20

Shows Raspberry Pi 400 running GhostBSD-Arm64 and XFCE Desktop Environment.

~~~~~~~~ SleepWalker at t.me/personalbsd running GhostBSD-Arm64 on FriendlyElec.com NanoPi R6C with Desktop ~~~~
https://t.me/PersonalBSD/11625 Has GhostBSD-Arm64 running on a NanoPi R6C board RK3588S cpu with a MATE or XFCE Desktop.
NanoPi_R6C_GhostBSD_photo_2023-12-14_02-04-57.jpg


https://personalbsd.org Sleep Walker's website with various SBC image file downloads for FreeBSD
https://www.friendlyelec.com/index.php?search=R6C&submit_search=&category_id=0&route=product/search&sub_category=true&description=true Nano Pi R6C sbc description

~~~~~~~~~~~~
Thoughts or comments about the Raspberry Pi 5 SBC with a new FreeBSD Foundation Tier 1 port?
Use the Raspbian Rpi5 ESP EFI FAT32 partition and then test FreeBSD 14.0-RELEASE for Raspi4 in the GPT UFS partition. See what breaks.
https://freebsd.org/where Look at FreeBSD 14.0 Release snapshot for RPI (3/4) to test with Raspi5 or just start with building from the source code using make -j4 buildkernel KERNCONF=GENERIC-RPI5 . Good luck and share your progress with us other interested individuals residing , lounging here in FreeBSD Forums.
 

Attachments

  • FreeBSD.conf
    612 bytes · Views: 66
  • PersonalBSD.conf
    210 bytes · Views: 47
  • GhostBSD(5).conf
    1 KB · Views: 54
Where does that KERNCONF come from? I do not see it in /usr/src/sys/arm64/conf
Because it"GENERIC-RPI5" is something ( a file) you have to create (it does not exist yet), only if it is needed to support some special hardware or operation that is NOT on the Raspberry Pi 4B. For the Raspberry Pi 4B VCHIQ hardware I use make buildkernel KERNCONF=GENERIC-VCHIQ If using the Raspberry Pi 4B "GENERIC" works on the RPi5 then KERNCONF=GENERIC would be acceptable.
 
I do not have an arm64 board.
So studying these discussions on the Forum.
Investigating what is the best for my situation.

Yes, I understand how KERNCONF works. That is why I asked to see the contents of your GENERIC-RPI5. It must contain special setting for the devices specific to the RPI5. Will a generic kernel work for most boards and specific device information come from a dtb file?


make -j8 buildworld TARGET=arm64 TARGET_ARCH=aarch64
make -j8 buildkernel TARGET=arm64 TARGET_ARCH=aarch64
cd release
make TARGET=arm64 TARGET_ARCH=aarch64 -DNOPORTS -DNODOC -DNOPKGS -DNOSRC memstick

I am trying to understand the steps to install on these arm64 boards using UEFI.

My next question has to do with booting. I assume there is a SD card that has uboot info from the board maker.

I was looking at some of these SD card images:
Code:
# gpart show /dev/da0
=>   34  32701  da0  GPT  (58G) [CORRUPT]
    34   2014       - free -  (1.0M)
  2048  16384    1  linux-data  (8.0M)
 18432  14303       - free -  (7.0M)

It appears the image created by the github project--> edk2-porting/edk2-rk3588 compile gets written to the slice at index 1 ?

Is the next step to go and compile the appropriate UEFI image from the github project--> edk2-porting/edk2-rk3588 ?
I see specific configurations for different RK3588 boards.

It appears that I need to take the FreeBSD install image and add a specific dtb file for the appropriate board. So, when I boot to FreeBSD get into the loader and load the kernel then load the dtb file I added to the FreeBSD image.

Something like this?
Code:
escape to the OK prompt
 
OK load /boot/kernel/kernel
 
OK ls /boot/dtb
(look for the right dtb... for example)--> rk3588-orangepi-5-plus.dtb
 
OK load -t dtb /boot/dtb/rk3588-orangepi-5-plus.dtb
OK boot
 
Hello, Will someone with EDK2 experience, answer this question properly?. I too would like to know how to create a EDK2 Tiano core boot image using DTB files and ACPI for the Raspberry Pi 4B (and in the future a Raspberry Pi 5)
https://github.com/tianocore/tianocore.github.io/wiki/Getting-Started-with-EDK-II
https://github.com/tianocore/tianocore.github.io/wiki/OVMF
https://github.com/tianocore/tianocore.github.io/wiki/Build-Instructions
https://github.com/tianocore/tianocore.github.io/wiki/How-to-Build-With-Stuart

HERE IS my examples in blog posts:
https://ghostbsd-arm64.blogspot.com/2023/10/compiling-github-ghostbsd-src-source.html Compiling
GhostBSD source code using make buildworld and make buildkernel command lines
https://ghostbsd-arm64.blogspot.com/2023/11/creating-ghost14-aarch64-arm64-boot.html Creating an bootable image for writing into a USB Flash Drive
I posted the above comment over a https:/t.me/personalbsd https://t.me/PersonalBSD/11781
https://www.personalbsd.org https://www.personalbsd.org/images
 
Back
Top