BTRFS available for EnOS supported ARM devices

It’s official, we now unofficially support btrfs on the EnOS supported Arm devices.
RPi 4b, RPi 5. Odroid N2, and Pinebook Pro laptop.

The subvol names and their associated mount points have been set up as per the default EndeavourOS settings scheme. See this WiKi entry,
https://discovery.endeavouros.com/system-rescue/arch-chroot/2022/12/
Scroll down to this section for details

Other mounting examples

BTRFS filesystem installs

The script that creates the images on github has been enhanced with the ability to create images with btrfs support. At this point in time, brtfs images will not be officially supported due to lack of time and man power. However, if one wants to play around with btrfs, they can easily create btrfs images themselves.

DISCLAIMER I have enhanced the script to include btrfs filesystems. I have tested it for all four EnOS supported ARM devices. I have not tested btrfs as far as daily use. Such as creating snap shots, etc. I am counting on users to use these systems on a daily use and supply feedback with experiences and bugs.

It is easy to create an image as follows.

The script must be run on a ARM device with aarch64 architecture. Such as a RPi 5.
It is suggested that on a supported EnOS ARM device, install your favorite Desktop Environment on a quality and fast uSD card. Only use it for creating images.

In your home directory, make a new folder named exactly “endeavouros-arm”.
In a terminal window,

cd endeavouros-arm
git clone https://github.com/endeavouros-arm/image-build-script.git
mkdir /home/$USER/endeavouros-arm/test-images
cd image-build-script
sudo pacman -S time
time sudo ./script-image-build.sh

You will get this help screen

HELP
Build EndeavourOS ARM Images
options:
 -h  Print this Help.

This option is required
 -p  enter platform: rpi4 rpi5 odn pbp rad srpi sodn

These options are not required.
if -f and/or -c are not entered, the paramaters in () are the defaults
 -f  format type: (e for ext4) or b for btrfs 
 -c  create image: (y) or n
example: sudo ./build-server-image-eos.sh -p rpi4 -f e -c y 

Ensure directory "~/endeavouros-arm/test-images" exists

-p choose platform is required: rpi4 = RPi 4b, rpi5 = RPi 5, odn = Odroid N2,
pbp = Pinebook Pro.

-f format type: e = ext4, b = btrfs, if no -f entry is given it defaults to ext4

-c create a compressed image: y = yes, n = no, no entry defaults to yes

To create an image for a RPi 5, with btrfs, and a compressed image:

time sudo ./script-image-build.sh -p rpi5 -f b -c y

If you are creating a one off image, enter -c n as the parameter
This creates a non-compressed image in

~/endeavouros-arm/image-build-script/test.img

use test.img and flash to a storage device of your choice, uSD, USB3 SSD, etc.

If you want a more permanent image, enter -c y as the parameter
This creates a compressed image and a sha512sum in

~/endeavouros-arm/test-images

enosLinuxARM-rpi5-btrfs-latest.img.xz
enosLinuxARM-rpi5-btrfs-latest.img.xz.sha512sum

With a RPi 5 8 GB RAM on a USB3 SSD I got the following times
RPi 5 create image only 2 min 52 sec
RPi5 create compressed image 8 min 20 sec

Pudge

8 Likes

@Pudge
Have you seen the Pi 5 kits that are pre-assembled with 256 GB or 512 GB internal ssd?

2 Likes

As a side note, they released the Pi 500 as of today.

And it’s quite strange to me, as it’s still based on SD card storage. The tear down on tomshardware reveals that there are unpopulated provisions for mKey cards of various sizes. But the header isn’t soldered on. And thus no easy path to NVMe support. And also eMMC slot, if I’m not mistaken.

They considered it, but didn’t included it. Due to various reasons. Would be nice if they would offer it with an NVMe option from the factory. Even if that would push the price way higher than the actual $90 for the device. The nVME hats for the Pi 5 won’t work directly, due to the different positions of the GPIO headers.

1 Like

I have the Pi 400 and it’s okay although i find it a bit under powered. It works good with eos-xfce on it. Kde not so much. I have it connected to a usb external HD case. It may be better with an ssd external usb case since it would be faster. I’m more interested in the Pi 5 now that has a nvme drive. I think it will be good although a bit pricey since it comes assembled also with Pi OS already installed.

2 Likes

@Pudge
Is the btrfs setup on Arm the same as you get on Eos currently? Same subvolume layout? You can use btrfs-assistant and snapper also in the same manner?

1 Like

Yes, they use the same subvolume layout. I realize the Original Post was TL:DR but here is a snippet from the OP.

Theoretically btrfs-assistant and snapper should work, but I have not tested them.
Hopefully users will test this and report back.

Pudge

2 Likes

snappy is in the Archlinux ARM extra repository and btrfs-assistant is in the AUR and @dalto has it set up to download to ARM aarch64 devices.

Pudge

1 Like