Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking: skiff vs upstream-master #19

Draft
wants to merge 36 commits into
base: upstream-master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
921c9a5
github: setup CI workflow configurations
paralin Aug 8, 2020
063de89
.github: add per-branch upstream file
paralin Aug 20, 2020
23935c9
package/linux-firmware: add option for rockchip dptx
paralin Nov 14, 2020
cc94658
package/daemonize: new package
paralin Jan 24, 2021
ad72a50
package/buildah: new package
paralin Jan 27, 2022
3589653
package/linux-firmware: add support for ti vpdma
paralin May 10, 2022
ab420c0
arch/arm: add cortex-a77 armv8.2a core
paralin Jul 11, 2022
fb9da53
package/rngd: start rngd early in the boot process
paralin Jul 2, 2020
2f4e996
package/podman: new package
paralin Jul 24, 2022
7faa943
package/nvidia-driver: add latest version 525.125.06
paralin Aug 16, 2022
1266e87
host-localedef: disable Werror to avoid build failures
paralin May 1, 2021
4665354
boot/refind: new package
paralin Sep 2, 2022
b1dd399
package/docker-engine: increase containerd startup timeout period
paralin Nov 18, 2020
4abdc2e
boot/refind-bin: new package
paralin Jan 23, 2023
5a7eb30
[SKIFF] download: add additional skiffos mirror site
paralin Jan 30, 2023
7c1eacd
linux: run make prepare before make all
paralin Mar 10, 2023
50a4eaa
package/docker-engine: add netcgo build tag
paralin Oct 26, 2022
c5f760f
package/crio: new package
paralin May 12, 2023
d8c6f21
package/rtklib: new package
sonicpp Feb 20, 2022
0d7fec4
linux: add support for building device tree overlays
paralin May 17, 2023
df5408f
package/linux-firmware: add support for nvidia files
paralin Jun 6, 2020
1fd618e
package/containerd: fix infinite nofile ulimit
paralin Mar 25, 2023
56f8d34
[WIP] package/mkbootimg: new host package
paralin May 15, 2022
292a87b
[SKIFF] package/amlogic-boot-fip: copy device directory to images
paralin Oct 2, 2023
da09977
[SKIFF] package/openvpn: add option to disable DCO features
paralin Jul 3, 2023
1480f3d
package/rtl8812au-aircrack-ng: ignore implicit-int warning
paralin Dec 27, 2023
fe3a9e8
[SKIFF] package/go: use host compiler when go-bootstrap unsupported
paralin Jun 22, 2021
ab7996d
package/irqbalance: update to latest 20240229 version
paralin Mar 1, 2024
6aa7d02
package/rtl8821au: update to latest commit 455e6e
paralin Feb 22, 2021
bfdd352
package/rpi-firmware: update to latest
paralin Aug 19, 2024
3190290
package/nvidia-driver: bump to version 510.73.05
paralin Aug 23, 2020
ec76f99
package/pkg-golang.mk: make GOPROXY configurable
jameshilliard Oct 28, 2024
9fdd494
package/tini: configure libpod with init-path
paralin May 22, 2023
241d980
package/containerd: bump to version v2.0.2
paralin Jan 29, 2025
d08c6e7
package/docker-compose: bump version to v2.32.4
paralin Feb 5, 2025
fc67cc3
package/genuinetools-img: new host and target package
paralin May 3, 2021
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
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@v2

- name: Cache build cache and downloads
uses: actions/cache@v2
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
30 changes: 30 additions & 0 deletions Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,10 @@ config BR2_HOST_GCC_AT_LEAST_11
# When adding new entries above, be sure to update
# the HOSTCC_MAX_VERSION variable in the Makefile.

# Hidden boolean selected if bootstrapping Go w/ GCC is not supported.
config BR2_NEEDS_HOST_GO
bool

# Hidden boolean selected by packages in need of Java in order to build
# (example: kodi)
config BR2_NEEDS_HOST_JAVA
Expand Down Expand Up @@ -277,6 +281,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 @@ -307,6 +321,22 @@ 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
4 changes: 4 additions & 0 deletions DEVELOPERS
Original file line number Diff line number Diff line change
Expand Up @@ -619,8 +619,10 @@ N: Christian Kellermann <[email protected]>
F: package/python-pylibftdi/

N: Christian Stewart <[email protected]>
F: boot/refind/
F: package/balena-engine/
F: package/batman-adv/
F: package/buildah/
F: package/catatonit/
F: package/cni-plugins/
F: package/conmon/
Expand All @@ -639,6 +641,7 @@ F: package/moby-buildkit/
F: package/mosh/
F: package/nerdctl/
F: package/pkg-golang.mk
F: package/podman/
F: package/rtl8821au/
F: package/rtl8821cu/
F: package/runc/
Expand Down Expand Up @@ -1556,6 +1559,7 @@ F: package/microchip-hss-payload-generator/
N: Jan Havran <[email protected]>
F: board/pine64/pinecube/
F: configs/pine64_pinecube_defconfig
F: package/rtklib/

N: Jan Heylen <[email protected]>
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
2 changes: 2 additions & 0 deletions boot/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ 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/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 44a981538cf06e683bc095e11694ce8508826fcc6ca6229e116938575e7c4c54 refind-bin-0.13.3.1.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.13.3.1
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))
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
From 1ab4b8b448f87167d512222e0de92c0fb2e73b0e Mon Sep 17 00:00:00 2001
From: Christian Stewart <[email protected]>
Date: Fri, 2 Sep 2022 00:41:13 -0700
Subject: [PATCH] Make.common: use environment variables for toolchain

Use the environment specified CC, LD, etc.

Signed-off-by: Christian Stewart <[email protected]>
---
Make.common | 30 ------------------------------
1 file changed, 30 deletions(-)

diff --git a/Make.common b/Make.common
index 95a3a97..62c1059 100644
--- a/Make.common
+++ b/Make.common
@@ -17,38 +17,8 @@
# used to compile rEFInd....
#

-EFIINC = /usr/include/efi
-GNUEFILIB = /usr/lib
-EFILIB = /usr/lib
-EFICRT0 = /usr/lib
-
-# Comment out above and uncomment below if using locally-compiled GNU-EFI....
-#EFIINC = /usr/local/include/efi
-#GNUEFILIB = /usr/local/lib
-#EFILIB = /usr/local/lib
-#EFICRT0 = /usr/local/lib
-
-HOSTARCH = $(shell uname -m | sed s,i[3456789]86,ia32,)
-ARCH ?= $(HOSTARCH)
-
# Note: TIANOBASE is defined in master Makefile and exported
GENFW = $(TIANOBASE)/BaseTools/Source/C/bin/GenFw
-prefix = /usr/bin/
-ifeq ($(ARCH),aarch64)
- CC = $(prefix)aarch64-linux-gnu-gcc
- AS = $(prefix)aarch64-linux-gnu-as
- LD = $(prefix)aarch64-linux-gnu-ld
- AR = $(prefix)aarch64-linux-gnu-ar
- RANLIB = $(prefix)aarch64-linux-gnu-ranlib
- OBJCOPY = $(prefix)aarch64-linux-gnu-objcopy
-else
- CC = $(prefix)gcc
- AS = $(prefix)as
- LD = $(prefix)ld
- AR = $(prefix)ar
- RANLIB = $(prefix)ranlib
- OBJCOPY = $(prefix)objcopy
-endif

ifeq ($(MAKEWITH),TIANO)
# Below file defines TARGET (RELEASE or DEBUG) and TOOL_CHAIN_TAG (GCC44, GCC45, GCC46, or GCC47)
--
2.37.2

Loading
Loading