Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
0726988
[SKIFF] .github: setup CI workflow configurations
paralin Aug 8, 2020
4dee465
[SKIFF] .github: add per-branch upstream file
paralin Aug 20, 2020
6c72410
package/linux-firmware: add option for rockchip dptx
paralin Nov 14, 2020
d463972
package/daemonize: new package
paralin Jan 24, 2021
1109b7b
package/buildah: new package
paralin Jan 27, 2022
bd56a72
package/linux-firmware: add support for ti vpdma
paralin May 10, 2022
f0a88e9
arch/arm: add cortex-a77 armv8.2a core
paralin Jul 11, 2022
6e60056
package/rngd: start rngd early in the boot process
paralin Jul 2, 2020
6006ff2
package/nvidia-driver: add latest version 525.125.06
paralin Aug 16, 2022
f71d665
host-localedef: disable Werror to avoid build failures
paralin May 1, 2021
576efc3
package/genuinetools-img: new host and target package
paralin May 3, 2021
070540a
boot/refind-bin: new package
paralin Jan 23, 2023
1f7ef0f
[SKIFF] download: add additional skiffos mirror site
paralin Jan 30, 2023
bcb29eb
linux: run make prepare before make all
paralin Mar 10, 2023
6bf5062
package/crio: new package
paralin May 12, 2023
96532f5
package/rtklib: new package
sonicpp Feb 20, 2022
abf85dc
linux: add support for building device tree overlays
paralin May 17, 2023
4dfe839
package/linux-firmware: add support for nvidia files
paralin Jun 6, 2020
bd74dad
[WIP] package/mkbootimg: new host package
paralin May 15, 2022
b23bb52
[SKIFF] package/amlogic-boot-fip: copy device directory to images
paralin Oct 2, 2023
436f29a
[SKIFF] package/openvpn: add option to disable DCO features
paralin Jul 3, 2023
f5d729a
package/rtl8812au-aircrack-ng: ignore implicit-int warning
paralin Dec 27, 2023
3d3196e
package/nvidia-driver: bump to version 510.73.05
paralin Aug 23, 2020
febb4b6
package/pkg-cmake.mk: force config version >=3.5
paralin Apr 2, 2025
b757904
package/pkg-golang.mk: make GOPROXY configurable
jameshilliard Oct 28, 2024
22b79f9
boot/refind-bin: update to version 0.14.2
paralin Apr 15, 2025
9a17390
package/docker-engine: add netcgo build tag
paralin Oct 26, 2022
ef42582
package/unzip: bump to Debian patch level -29 to fix GCC 15.x issues
tpetazzoni Sep 7, 2025
343ae91
package/rpi-firmware: bump to latest version
paralin Oct 14, 2025
79aed10
Config.in: fix help text line length at line 345
paralin Nov 4, 2025
db24222
package/linux-firmware: add missing Upstream header to patch
paralin Nov 4, 2025
c51813c
package/rpi-firmware: remove broken 32-bit binary install steps
paralin Feb 20, 2025
97ca037
[SKIFF] package/dbus-forwarding-proxy: new package
paralin Nov 4, 2025
88ce43c
Update all dependencies
renovate[bot] Dec 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/buildroot-upstream
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
upstream/master
21 changes: 21 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
":semanticPrefixFixDepsChoreOthers",
":ignoreModulesAndTests",
"group:all",
"workarounds:all"
],
"forkProcessing": "enabled",
"branchConcurrentLimit": 0,
"ignorePaths": [
"docs/**"
],
"packageRules": [
{
"matchManagers": ["gomod"],
"matchDepTypes": ["replace"],
"enabled": false
}
]
}
65 changes: 65 additions & 0 deletions .github/workflows/buildroot-e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: CI

# Controls when the action will run.
on:
push:
branches: [master, skiff, skiff-next]
pull_request:
branches: [skiff, skiff-next, upstream-master]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

env:
# for add-env below
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'

# Steps represent a sequence of tasks
steps:
# Checks-out the repo under $GITHUB_WORKSPACE
- uses: actions/checkout@v6

- name: Cache build cache and downloads
uses: actions/cache@v5
env:
cache-name: cache-buildroot
with:
path: ~/br-cache/
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('Makefile') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-

# Detect changes vs upstream-master
- name: Detect changes vs upstream
run: |
cd $GITHUB_WORKSPACE
git fetch
git remote add upstream https://github.com/buildroot/buildroot.git
git fetch upstream
export BUILDROOT_UPSTREAM=$(cat .github/buildroot-upstream)
echo "::set-env name=CHANGED_VS_UPSTREAM::$(git diff --diff-filter=ACM --name-only $BUILDROOT_UPSTREAM | xargs)"

# Installing buildroot deps
- name: Install buildroot apt deps
run: |
sudo apt-get install -y libelf-dev python3-magic python3-flake8

# Run check-package on changed files
- name: Run check-package on all changed files and setup env
run: |
cd $GITHUB_WORKSPACE
./utils/check-package $CHANGED_VS_UPSTREAM

# Test a build
- name: Run a generic build
run: |
cd $GITHUB_WORKSPACE
make defconfig BR2_DEFCONFIG=$(pwd)/.github/workflows/buildroot-e2e_defconfig
make -s all legal-info BR2_CCACHE_DIR=${HOME}/br-cache/ccache BR2_DL_DIR=${HOME}/br-cache/dl

21 changes: 21 additions & 0 deletions .github/workflows/buildroot-e2e_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
BR2_x86_64=y
BR2_x86_core_avx2=y
BR2_CCACHE=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_GCC_ENABLE_LTO=n
BR2_INIT_SYSTEMD=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
BR2_SYSTEM_BIN_SH_BASH=y
BR2_ENABLE_LOCALE_WHITELIST="C en_US en_US.UTF-8"
BR2_GENERATE_LOCALE="en_US.UTF-8"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_DELVE=y
BR2_PACKAGE_DOCKER_CLI=y
BR2_PACKAGE_DOCKER_CLI_STATIC=y
BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL=y
BR2_PACKAGE_MENDER=y
BR2_PACKAGE_HOST_MENDER_ARTIFACT=y
2 changes: 1 addition & 1 deletion .github/workflows/repo-lockdown.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
if: github.repository == 'buildroot/buildroot'
runs-on: ubuntu-latest
steps:
- uses: dessant/repo-lockdown@v4
- uses: dessant/repo-lockdown@v5
with:
pr-comment: |
Please do not submit a Pull Request via GitHub. Buildroot makes use of a
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@
*.rej
*~
*.pyc
*.swp
25 changes: 25 additions & 0 deletions Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,16 @@ config BR2_BACKUP_SITE
buildroot will fall back to download package sources from here
if the normal location fails.

config BR2_SKIFFOS_BACKUP_SITE
string "SkiffOS backup download site"
default "https://github.com/skiffos/mirror/raw/master"
help
Backup site to download from. If this option is set then
buildroot will fall back to download package sources from here
if the normal location fails.

This is an additional mirror used by SkiffOS.

config BR2_KERNEL_MIRROR
string "Kernel.org mirror"
default "https://cdn.kernel.org/pub"
Expand Down Expand Up @@ -327,6 +337,21 @@ config BR2_GNU_MIRROR
http://ftp.gnu.org/pub/gnu
http://mirror.aarnet.edu.au/pub/gnu

config BR2_GOPROXY
string "Go module proxy"
default "https://proxy.golang.org,direct"
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
help
The Go module proxy URL used to download Go modules. By
default, it uses the official Go module mirror, falling
back to direct downloads if the module is not found in the
mirror. The value can be one of:
- Comma-separated list of proxy URLs
- "off" to disable all downloads
- "direct" to download directly from source repositories

See https://go.dev/ref/mod#module-proxy

config BR2_LUAROCKS_MIRROR
string "LuaRocks mirror"
default "http://rocks.moonscript.org"
Expand Down
2 changes: 2 additions & 0 deletions DEVELOPERS
Original file line number Diff line number Diff line change
Expand Up @@ -620,6 +620,7 @@ F: package/python-pylibftdi/
N: Christian Stewart <christian@aperture.us>
F: package/balena-engine/
F: package/batman-adv/
F: package/buildah/
F: package/catatonit/
F: package/cni-plugins/
F: package/conmon/
Expand Down Expand Up @@ -1557,6 +1558,7 @@ F: package/microchip-hss-payload-generator/
N: Jan Havran <havran.jan@email.cz>
F: board/pine64/pinecube/
F: configs/pine64_pinecube_defconfig
F: package/rtklib/

N: Jan Heylen <jan.heylen@nokia.com>
F: package/opentracing-cpp/
Expand Down
8 changes: 8 additions & 0 deletions arch/Config.in.arm
Original file line number Diff line number Diff line change
Expand Up @@ -474,6 +474,14 @@ config BR2_cortex_a76_a55
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
config BR2_cortex_a77
bool "cortex-A77"
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
config BR2_cortex_a78
bool "cortex-A78"
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
Expand Down
1 change: 1 addition & 0 deletions boot/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ source "boot/mv-ddr-marvell/Config.in"
source "boot/mxs-bootlets/Config.in"
source "boot/optee-os/Config.in"
source "boot/opensbi/Config.in"
source "boot/refind-bin/Config.in"
source "boot/s500-bootloader/Config.in"
source "boot/shim/Config.in"
source "boot/syslinux/Config.in"
Expand Down
28 changes: 28 additions & 0 deletions boot/refind-bin/Config.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
config BR2_PACKAGE_REFIND_BIN_ARCH_SUPPORTS
bool
default y if BR2_i386
default y if BR2_x86_64
default y if BR2_aarch64
depends on BR2_USE_MMU

menuconfig BR2_TARGET_REFIND_BIN
bool "refind-bin"
depends on BR2_PACKAGE_REFIND_BIN_ARCH_SUPPORTS
help
rEFInd presents a user-friendly GUI for boot selection.

For additional notes on using rEFInd with Buildroot, see
boot/refind/readme.txt

This is the pre-compiled binary variant.

https://www.rodsbooks.com/refind/

if BR2_TARGET_REFIND_BIN

config BR2_TARGET_REFIND_BIN_RENAME_TO_BOOT
bool "rename refind efi files to BOOT"
help
Move refind EFI directory to the default BOOT path.

endif
42 changes: 42 additions & 0 deletions boot/refind-bin/readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
Notes on using rEFInd
=============================================

1. Create a disk image
dd if=/dev/zero of=disk.img bs=1M count=32
2. Partition it (either legacy or GPT style partitions work)
- Create one fat16 partition, labeled BOOT, flags boot, lba.
- Create one ext4 partition, type Linux, for the root fs.
3. Setup loop device and loop partitions
sudo losetup -f disk.img
sudo partx -a /dev/loop0
4. Prepare the partition contents
sudo mkfs.fat -F 16 -L BOOT /dev/loop0p1
sudo mkfs.ext4 -L root /dev/loop0p2
sudo mount /dev/loop0p1 /mnt
sudo tar -C /mnt -xf output/images/refind.tar
sudo umount /mnt
sudo mount /dev/loop0p2 /mnt
sudo tar -C /mnt -xf output/images/rootfs.tar
sudo umount /mnt
5. Cleanup loop device
sudo partx -d /dev/loop0
sudo losetup -d /dev/loop0
6. Your disk.img is ready!

Configuring rEFInd
=============================================

rEFInd will search for refind_linux.conf files.

Place a refind_linux.conf file in the same location as your initrd:

"Boot Buildroot" "initrd=/boot/initrd-%v root=/dev/initrd ro earlyprintk"

rEFInd will find all files with prefix initrd- and display options on screen,
defaulting to the most recent build version.

Example contents of /boot:

bzImage-buildroot-2022.05.1-104-1
initrd-buildroot-2022.05.1-104-1
refind_linux.conf
5 changes: 5 additions & 0 deletions boot/refind-bin/refind-bin.hash
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Locally computed
sha256 410c7828c4fec2f2179bd956073522415831d27c00416381b8f71153c190a311 refind-bin-0.14.2.zip
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.txt
sha256 cebbc60079d3e79a1d94bf7c63482ca27d8ce58739d28c5e209bbd378337729b LICENSE.txt
sha256 4748f03ed2dbcc14cde6ebc30799899c403e356a7465dc30fcf2b80c45fc0059 docs/refind/FDL-1.3.txt
63 changes: 63 additions & 0 deletions boot/refind-bin/refind-bin.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
################################################################################
#
# refind-bin
#
################################################################################

REFIND_BIN_VERSION = 0.14.2
REFIND_BIN_SITE = http://downloads.sourceforge.net/project/refind/$(REFIND_BIN_VERSION)
REFIND_BIN_SOURCE = refind-bin-$(REFIND_BIN_VERSION).zip
REFIND_BIN_LICENSE = GPL-3.0+, GFDL-1.3+ (docs)
REFIND_BIN_LICENSE_FILES = COPYING.txt LICENSE.txt docs/refind/FDL-1.3.txt
REFIND_BIN_INSTALL_IMAGES = YES

ifeq ($(BR2_x86_64),y)
REFIND_BIN_ARCH = x86_64
REFIND_BIN_PLATFORM = x64
else ifeq ($(BR2_aarch64),y)
REFIND_BIN_ARCH = aarch64
REFIND_BIN_PLATFORM = aa64
else
REFIND_BIN_ARCH = ia32
REFIND_BIN_PLATFORM = ia32
endif

REFIND_BIN_EFI_PART_DIR = $(BINARIES_DIR)/efi-part
REFIND_BIN_BINARIES_DIR = $(REFIND_BIN_EFI_PART_DIR)/EFI/refind

REFIND_BIN_EXTRACT_CMDS = \
bsdtar --strip-components=1 \
-C $(REFIND_BIN_DIR) \
$(TAR_OPTIONS) $(REFIND_BIN_DL_DIR)/$(REFIND_BIN_SOURCE) -

define REFIND_BIN_INSTALL_IMAGES_CMDS
if [ -d $(REFIND_BIN_BINARIES_DIR) ]; then \
rm -rf $(REFIND_BIN_BINARIES_DIR); \
fi
$(INSTALL) -m 0755 -D $(@D)/refind/refind_$(REFIND_BIN_PLATFORM).efi \
$(REFIND_BIN_BINARIES_DIR)/refind_$(REFIND_BIN_PLATFORM).efi
cp -r $(@D)/refind/drivers_$(REFIND_BIN_PLATFORM) \
$(REFIND_BIN_BINARIES_DIR)/drivers_$(REFIND_BIN_PLATFORM)
echo "refind_$(REFIND_BIN_PLATFORM).efi,rEFInd Boot Manager,,Entry for rEFInd" > \
$(REFIND_BIN_BINARIES_DIR)/BOOT.CSV
echo "# rEFInd configuration\ntimeout 20\n" > \
$(REFIND_BIN_BINARIES_DIR)/refind.conf
cp -r $(@D)/refind/icons $(REFIND_BIN_BINARIES_DIR)/icons
cp -r $(@D)/{fonts,banners,keys} $(REFIND_BIN_BINARIES_DIR)/
endef

ifeq ($(BR2_TARGET_REFIND_BIN_RENAME_TO_BOOT),y)
define REFIND_BIN_IMAGES_RENAME_TO_BOOT
if [ -d $(REFIND_BIN_EFI_PART_DIR)/EFI/BOOT ]; then \
rm -rf $(REFIND_BIN_EFI_PART_DIR)/EFI/BOOT; \
fi
mv $(REFIND_BIN_BINARIES_DIR)/ $(REFIND_BIN_EFI_PART_DIR)/EFI/BOOT/
mv $(REFIND_BIN_EFI_PART_DIR)/EFI/BOOT/refind_$(REFIND_BIN_PLATFORM).efi \
$(REFIND_BIN_EFI_PART_DIR)/EFI/BOOT/BOOT$(REFIND_BIN_PLATFORM).EFI
echo "BOOT$(REFIND_BIN_PLATFORM).EFI,rEFInd Boot Manager,,Entry for rEFInd" > \
$(REFIND_BIN_EFI_PART_DIR)/EFI/BOOT/BOOT.CSV
endef
REFIND_BIN_POST_INSTALL_IMAGES_HOOKS += REFIND_BIN_IMAGES_RENAME_TO_BOOT
endif

$(eval $(generic-package))
19 changes: 19 additions & 0 deletions linux/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -499,6 +499,25 @@ config BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT
Choose this option to support Device Tree overlays
on the target system.

if BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT

config BR2_LINUX_KERNEL_INTREE_DTS_OVERLAY_NAME
string "In-tree Device Tree Overlay Source file names"
help
Name of in-tree device tree source file, without
the trailing .dts. You can provide a list of
dts overlay files to build, separated by spaces.

config BR2_LINUX_KERNEL_CUSTOM_DTS_OVERLAY_PATH
string "Out-of-tree Device Tree Overlay Source file paths"
help
Paths to out-of-tree Device Tree Source (.dts) and Device Tree
Source Include (.dtsi) files, separated by spaces. These files
will be copied to the kernel sources and the .dts files will
be compiled from there to dtb overlays (.dtbo).

endif

endif

config BR2_LINUX_KERNEL_INSTALL_TARGET
Expand Down
6 changes: 6 additions & 0 deletions linux/linux.mk
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,11 @@ endif

LINUX_DTBS = $(addsuffix .dtb,$(LINUX_DTS_NAME)) $(addsuffix .dtbo,$(LINUX_DTSO_NAMES))

LINUX_DTS_OVERLAY_NAME += $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_OVERLAY_NAME))
LINUX_DTS_OVERLAY_NAME += $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_OVERLAY_PATH)))))

LINUX_DTBS += $(addsuffix .dtbo,$(LINUX_DTS_OVERLAY_NAME))

ifeq ($(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM),y)
LINUX_IMAGE_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_NAME))
LINUX_TARGET_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_TARGET_NAME))
Expand Down Expand Up @@ -548,6 +553,7 @@ define LINUX_BUILD_CMDS
cp -f $(dts) $(LINUX_ARCH_PATH)/boot/dts/
)
$(LINUX_COPY_CUSTOM_DTS_FILES)
$(LINUX_MAKE_ENV) $(BR2_MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) prepare
$(LINUX_MAKE_ENV) $(BR2_MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) all
$(LINUX_MAKE_ENV) $(BR2_MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME)
$(LINUX_BUILD_DTB)
Expand Down
Loading
Loading