These are the officially supported images. For the downstream / experimental images, check the downstream branch.
To define hardware onto the kernel (like for example to add a temperature sensor) the kernel on ARM systems needs to be explicitly told about the hardware using the kernel device tree.
Currently, there are 2 ways to alter the device tree of a system:
The DTO method is highly recommended since it is much more flexible and does not require recompiling the kernel, which is very time consuming.
Depending on if your device is UEFI or U-Boot enabled, the steps to enable the DTO will be different.
Below are detailed instructions and examples for the DTO method:
The kernel recompilation method is the traditional way to perform changes at the device tree.
Steps:
Build the kernel with makepkg:
makepkg -sr
to pull the kernel source code from the BredOS kernel repository, which is saved in linux-rockchip-rkr3/src/linux-rockchip
.linux-rockchip-rkr3/src/linux-rockchip
.makepkg -srf
to make the kernel package in arch format.Now you have the kernel package. Copy the kernel package to the temp repo /tmp/repo and update the repo database
mkdir /tmp/repo
cp *.pkg.tar.zst /tmp/repo
cd /tmp/repo
repo-add test-repo.db.tar.gz /tmp/repo/*pkg.tar.zst
Add the temp repo to the pacman.conf file under the specific board-cfg folder. For example, for orangepi 5, go to https://github.com/BredOS/images/tree/main/opi5-image and
then to
[test-repo]
SigLevel = Never
Server = file:///tmp/repo
Then just build the image using mkimage.
Instructions for building in each subfolder. Build dependencies:
python-prettytable arch-install-scripts grub parted gptfdisk edk2-rk3588-devel
› To build from x86_64, you need to install:
qemu-user-static-binfmt qemu-user-static
and run:
systemctl restart systemd-binfmt
Also make sure your system has the BredOS gpg keys and mirrorlist.
sudo pacman-key --recv-keys 77193F152BDBE6A6 BF0740F967BA439D DAEAD1E6D799C638 1BEF1BCEBA58EA33
sudo pacman-key --lsign-key 77193F152BDBE6A6 BF0740F967BA439D DAEAD1E6D799C638 1BEF1BCEBA58EA33
echo -e '# --> BredOS Mirrorlist <-- #\n\n# BredOS Main mirror\nServer = https://repo.bredos.org/repo/$repo/$arch\n' |sudo tee /etc/pacman.d/bredos-mirrorlist