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
cb65a61
github: setup CI workflow configurations
paralin Aug 8, 2020
036bef0
.github: add per-branch upstream file
paralin Aug 20, 2020
67cff43
package/linux-firmware: add option for rockchip dptx
paralin Nov 14, 2020
5230512
package/genuinetools-img: new host and target package
paralin May 3, 2021
c94ccbe
package/daemonize: new package
paralin Jan 24, 2021
3b507fc
package/buildah: new package
paralin Jan 27, 2022
4c7c94d
package/linux-firmware: add support for ti vpdma
paralin May 10, 2022
a3bd95c
package/nvidia-driver: bump to version 510.73.05
paralin Aug 23, 2020
77803c3
[WIP] package/mkbootimg: new host package
paralin May 15, 2022
c061e04
arch/arm: add cortex-a77 armv8.2a core
paralin Jul 11, 2022
ae5a7ba
package/podman: new package
paralin Jul 24, 2022
3392ad3
package/nvidia-driver: add latest version 525.125.06
paralin Aug 16, 2022
efffed4
host-localedef: disable Werror to avoid build failures
paralin May 1, 2021
cf58ee2
boot/refind: new package
paralin Sep 2, 2022
67a244b
package/docker-engine: increase containerd startup timeout period
paralin Nov 18, 2020
4da1c87
boot/refind-bin: new package
paralin Jan 23, 2023
d3d7914
[SKIFF] download: add additional skiffos mirror site
paralin Jan 30, 2023
ca0f371
linux: run make prepare before make all
paralin Mar 10, 2023
611976b
package/docker-engine: add netcgo build tag
paralin Oct 26, 2022
b8b53d7
package/crio: new package
paralin May 12, 2023
e8dfaed
package/rtklib: new package
sonicpp Feb 20, 2022
6302b0f
linux: add support for building device tree overlays
paralin May 17, 2023
19080c5
package/linux-firmware: add support for nvidia files
paralin Jun 6, 2020
b34f5ab
package/tini: configure libpod with init-path
paralin May 22, 2023
158e83d
package/containerd: fix infinite nofile ulimit
paralin Mar 25, 2023
970ddbf
[SKIFF] package/amlogic-boot-fip: copy device directory to images
paralin Oct 2, 2023
34b9b74
[SKIFF] package/openvpn: add option to disable DCO features
paralin Jul 3, 2023
fb71fc2
package/rtl8812au-aircrack-ng: ignore implicit-int warning
paralin Dec 27, 2023
54d11d8
package/go: use host compiler when go-bootstrap unsupported
paralin Jun 22, 2021
b9516e8
package/irqbalance: update to latest 20240229 version
paralin Mar 1, 2024
02979e3
package/rtl8821au: update to latest commit 455e6e
paralin Feb 22, 2021
e902ed1
package/rpi-firmware: update to latest
paralin Aug 19, 2024
47fb2f8
[SKIFF] package/procps-ng: disable systemd integration
paralin Aug 19, 2024
6d9228c
[WIP] package/android-tools: update to version 5.1.1.r38
paralin Jul 11, 2022
30d40e3
package/go: security bump to version go1.22.7
paralin Sep 11, 2024
78df376
package/rngd: start rngd early in the boot process
paralin Jul 2, 2020
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
14 changes: 14 additions & 0 deletions Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,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 @@ -268,6 +272,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
4 changes: 4 additions & 0 deletions DEVELOPERS
Original file line number Diff line number Diff line change
Expand Up @@ -613,8 +613,10 @@ N: Christian Kellermann <christian.kellermann@solectrix.de>
F: package/python-pylibftdi/

N: Christian Stewart <christian@aperture.us>
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 @@ -633,6 +635,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 @@ -1544,6 +1547,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 @@ -465,6 +465,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_9
config BR2_neoverse_n1
bool "neoverse-N1 (aka ares)"
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 <christian@paral.in>
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 <christian@paral.in>
---
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

27 changes: 27 additions & 0 deletions boot/refind/Config.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
config BR2_PACKAGE_REFIND_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
bool "refind"
depends on BR2_PACKAGE_REFIND_ARCH_SUPPORTS
select BR2_PACKAGE_GNU_EFI
help
rEFInd presents a user-friendly GUI for boot selection.

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

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

if BR2_TARGET_REFIND

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

endif
Loading
Loading