Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
40 changes: 36 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,14 @@ on:
workflow_dispatch:

env:
KERNEL_VERSION: 6.12.25
PICORE_VERSION_MAJOR: 16
KERNEL_VERSION: 6.18.28
PICORE_VERSION_MAJOR: 17
PICORE_VERSION_MINOR: 0
PICORE_VERSION_MICRO: 0
PICORE_VERSION_RC: "-beta1"
PICORE_SUFFIX: "zip"
ROOTFS_SUFFIX: "zst"
KERNEL: 6.18.28-piCore-v8

jobs:
build:
Expand Down Expand Up @@ -53,6 +57,10 @@ jobs:
PICORE_VERSION_MAJOR=${{ env.PICORE_VERSION_MAJOR }}
PICORE_VERSION_MINOR=${{ env.PICORE_VERSION_MINOR }}
PICORE_VERSION_MICRO=${{ env.PICORE_VERSION_MICRO }}
PICORE_VERSION_RC=${{ env.PICORE_VERSION_RC }}
PICORE_SUFFIX=${{ env.PICORE_SUFFIX }}
ROOTFS_SUFFIX=${{ env.ROOTFS_SUFFIX }}
KERNEL=${{ env.KERNEL }}
TCEMIRROR=${{ secrets.TCEMIRROR }}
push: false
tags: ${{ steps.meta.outputs.tags }}
Expand All @@ -71,6 +79,10 @@ jobs:
PICORE_VERSION_MAJOR=${{ env.PICORE_VERSION_MAJOR }}
PICORE_VERSION_MINOR=${{ env.PICORE_VERSION_MINOR }}
PICORE_VERSION_MICRO=${{ env.PICORE_VERSION_MICRO }}
PICORE_VERSION_RC=${{ env.PICORE_VERSION_RC }}
PICORE_SUFFIX=${{ env.PICORE_SUFFIX }}
ROOTFS_SUFFIX=${{ env.ROOTFS_SUFFIX }}
KERNEL=${{ env.KERNEL }}
TCEMIRROR=${{ secrets.TCEMIRROR }}
push: false
tags: ${{ steps.meta.outputs.tags }}
Expand All @@ -96,6 +108,10 @@ jobs:
PICORE_VERSION_MAJOR=${{ env.PICORE_VERSION_MAJOR }}
PICORE_VERSION_MINOR=${{ env.PICORE_VERSION_MINOR }}
PICORE_VERSION_MICRO=${{ env.PICORE_VERSION_MICRO }}
PICORE_VERSION_RC=${{ env.PICORE_VERSION_RC }}
PICORE_SUFFIX=${{ env.PICORE_SUFFIX }}
ROOTFS_SUFFIX=${{ env.ROOTFS_SUFFIX }}
KERNEL=${{ env.KERNEL }}
TCEMIRROR=${{ secrets.TCEMIRROR }}
push: false
tags: ${{ steps.meta.outputs.tags }}
Expand All @@ -121,6 +137,10 @@ jobs:
PICORE_VERSION_MAJOR=${{ env.PICORE_VERSION_MAJOR }}
PICORE_VERSION_MINOR=${{ env.PICORE_VERSION_MINOR }}
PICORE_VERSION_MICRO=${{ env.PICORE_VERSION_MICRO }}
PICORE_VERSION_RC=${{ env.PICORE_VERSION_RC }}
PICORE_SUFFIX=${{ env.PICORE_SUFFIX }}
ROOTFS_SUFFIX=${{ env.ROOTFS_SUFFIX }}
KERNEL=${{ env.KERNEL }}
TCEMIRROR=${{ secrets.TCEMIRROR }}
push: false
tags: ${{ steps.meta.outputs.tags }}
Expand All @@ -146,6 +166,10 @@ jobs:
PICORE_VERSION_MAJOR=${{ env.PICORE_VERSION_MAJOR }}
PICORE_VERSION_MINOR=${{ env.PICORE_VERSION_MINOR }}
PICORE_VERSION_MICRO=${{ env.PICORE_VERSION_MICRO }}
PICORE_VERSION_RC=${{ env.PICORE_VERSION_RC }}
PICORE_SUFFIX=${{ env.PICORE_SUFFIX }}
ROOTFS_SUFFIX=${{ env.ROOTFS_SUFFIX }}
KERNEL=${{ env.KERNEL }}
TCEMIRROR=${{ secrets.TCEMIRROR }}
push: false
tags: ${{ steps.meta.outputs.tags }}
Expand All @@ -171,6 +195,10 @@ jobs:
PICORE_VERSION_MAJOR=${{ env.PICORE_VERSION_MAJOR }}
PICORE_VERSION_MINOR=${{ env.PICORE_VERSION_MINOR }}
PICORE_VERSION_MICRO=${{ env.PICORE_VERSION_MICRO }}
PICORE_VERSION_RC=${{ env.PICORE_VERSION_RC }}
PICORE_SUFFIX=${{ env.PICORE_SUFFIX }}
ROOTFS_SUFFIX=${{ env.ROOTFS_SUFFIX }}
KERNEL=${{ env.KERNEL }}
TCEMIRROR=${{ secrets.TCEMIRROR }}
push: false
tags: ${{ steps.meta.outputs.tags }}
Expand All @@ -196,6 +224,10 @@ jobs:
PICORE_VERSION_MAJOR=${{ env.PICORE_VERSION_MAJOR }}
PICORE_VERSION_MINOR=${{ env.PICORE_VERSION_MINOR }}
PICORE_VERSION_MICRO=${{ env.PICORE_VERSION_MICRO }}
PICORE_VERSION_RC=${{ env.PICORE_VERSION_RC }}
PICORE_SUFFIX=${{ env.PICORE_SUFFIX }}
ROOTFS_SUFFIX=${{ env.ROOTFS_SUFFIX }}
KERNEL=${{ env.KERNEL }}
TCEMIRROR=${{ secrets.TCEMIRROR }}
push: false
tags: ${{ steps.meta.outputs.tags }}
Expand All @@ -208,7 +240,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: rootfs-${{matrix.package}}
path: "${{github.workspace}}/artifacts/rootfs-${{matrix.package}}-${{env.PICORE_VERSION_MAJOR}}.${{env.PICORE_VERSION_MINOR}}.gz"
path: "${{github.workspace}}/artifacts/rootfs-${{matrix.package}}-${{env.PICORE_VERSION_MAJOR}}.${{env.PICORE_VERSION_MINOR}}.${{env.ROOTFS_SUFFIX}}"


test:
Expand Down Expand Up @@ -248,7 +280,7 @@ jobs:
docker create --name rpi-kernel --platform linux/arm64/v8 ghcr.io/asssaf/rpi-kernel:${{ env.KERNEL_VERSION }}-default true
docker cp rpi-kernel:/Image-${{ env.KERNEL_VERSION }} .

scripts/run-tc.sh |& tee qemu.out &
CPU="cortex-a72" SMP="2" MEM="1G" scripts/run-tc.sh |& tee qemu.out &

until sshpass -p piCore ssh -o StrictHostKeychecking=no -p 2223 tc@127.0.0.1 echo hi
do
Expand Down
16 changes: 10 additions & 6 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,18 @@ ARG PACKAGE
ARG PICORE_VERSION_MAJOR
ARG PICORE_VERSION_MINOR
ARG PICORE_VERSION_MICRO
ARG PICORE_VERSION_RC
ARG PICORE_SUFFIX
ARG ROOTFS_SUFFIX
ARG _7Z="7zz"

ENV ARCH="${PACKAGE/*piCore64*/aarch64}"
ENV ARCH="${ARCH/*piCore*/armhf}"
ENV PACKAGE_VERSION="${PACKAGE}-${PICORE_VERSION_MAJOR}.${PICORE_VERSION_MINOR}.${PICORE_VERSION_MICRO}"
ENV PACKAGE_VERSION="${PACKAGE}-${PICORE_VERSION_MAJOR}.${PICORE_VERSION_MINOR}.${PICORE_VERSION_MICRO}${PICORE_VERSION_RC}"

RUN curl -sLo "/${PACKAGE_VERSION}.img.gz" "http://tinycorelinux.net/${PICORE_VERSION_MAJOR}.x/${ARCH}/release/RPi/${PACKAGE_VERSION}.img.gz"
RUN curl -sLo "/${PACKAGE_VERSION}.${PICORE_SUFFIX}" "http://tinycorelinux.net/${PICORE_VERSION_MAJOR}.x/${ARCH}/release${PICORE_VERSION_RC:+_candidates}/RPi/${PACKAGE_VERSION}.${PICORE_SUFFIX}"

RUN $_7Z x "${PACKAGE_VERSION}.img.gz"
RUN $_7Z x "${PACKAGE_VERSION}.${PICORE_SUFFIX}"
RUN $_7Z x "${PACKAGE_VERSION}.img"

RUN ( mkdir fat \
Expand All @@ -24,7 +27,7 @@ RUN ( mkdir fat \

RUN ( mkdir rootfs \
&& cd rootfs \
&& zcat ../fat/rootfs-${PACKAGE}-${PICORE_VERSION_MAJOR}.${PICORE_VERSION_MINOR}.gz | cpio -idv )
&& $_7Z x -so ../fat/rootfs-${PACKAGE}-${PICORE_VERSION_MAJOR}.${PICORE_VERSION_MINOR}.${ROOTFS_SUFFIX} | cpio -idv )

RUN $_7Z x 1.img
RUN touch /tce/copy2fs.flg
Expand Down Expand Up @@ -69,7 +72,7 @@ RUN chmod u+s /usr/bin/sudo

RUN usr/local/tce.installed/ca-certificates

ARG KERNEL=6.12.25-piCore-v8
ARG KERNEL

RUN rm /bin/uname && echo -e "#!/bin/sh\necho $KERNEL" > /bin/uname && chmod +x /bin/uname

Expand Down Expand Up @@ -121,8 +124,9 @@ FROM scratch AS rootfs
ARG PACKAGE
ARG PICORE_VERSION_MAJOR
ARG PICORE_VERSION_MINOR
ARG ROOTFS_SUFFIX

COPY --from=extract /fat/rootfs-${PACKAGE}-${PICORE_VERSION_MAJOR}.${PICORE_VERSION_MINOR}.gz /
COPY --from=extract /fat/rootfs-${PACKAGE}-${PICORE_VERSION_MAJOR}.${PICORE_VERSION_MINOR}.${ROOTFS_SUFFIX} /


FROM debian:bookworm AS build-images
Expand Down
11 changes: 10 additions & 1 deletion scripts/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,17 @@
set -eux

: ${PACKAGE:=piCore64}
: ${PICORE_VERSION_MAJOR:=16}
: ${PICORE_VERSION_MAJOR:=17}
: ${PICORE_VERSION_MINOR:=0}
: ${PICORE_VERSION_MICRO:=0}
: ${PICORE_VERSION_RC:=-beta1}
: ${PICORE_SUFFIX:=zip}
: ${ROOTFS_SUFFIX:=zst}
: ${PLATFORM:=linux/arm64/v8}
: ${TARGET:=install}
: ${IMAGE:=asssaf/picore}
: ${TCEMIRROR:=}
: ${KERNEL=6.18.28-piCore-v8}

if [ "$(uname -m)" = "x86_64" ]
then
Expand All @@ -30,6 +34,11 @@ docker build --platform=${PLATFORM} --target=${TARGET} \
--build-arg PICORE_VERSION_MAJOR=${PICORE_VERSION_MAJOR} \
--build-arg PICORE_VERSION_MINOR=${PICORE_VERSION_MINOR} \
--build-arg PICORE_VERSION_MICRO=${PICORE_VERSION_MICRO} \
--build-arg PICORE_VERSION_RC=${PICORE_VERSION_RC} \
--build-arg PICORE_SUFFIX=${PICORE_SUFFIX} \
--build-arg ROOTFS_SUFFIX=${ROOTFS_SUFFIX} \
--build-arg TCEMIRROR=${TCEMIRROR} \
--build-arg KERNEL=${KERNEL} \
--network host \
-t ${IMAGE} \
-f docker/Dockerfile "$@" .
12 changes: 8 additions & 4 deletions scripts/run-tc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,21 @@
set -euxo pipefail

: ${BASE:=./}
: ${KERNEL_VERSION:=6.12.25}
: ${KERNEL_VERSION:=6.18.28}
: ${PACKAGE:=piCore64}
: ${PICORE_VERSION_MAJOR:=16}
: ${PICORE_VERSION_MAJOR:=17}
: ${PICORE_VERSION_MINOR=0}
: ${PICORE_VERSION_MICRO=0}
: ${ROOTFS_SUFFIX:=zst}
: ${CPU:=max}
: ${SMP:=4}
: ${MEM:=2G}

KERNEL="${BASE}/Image-${KERNEL_VERSION}"
INITRD="${BASE}/rootfs-${PACKAGE}-${PICORE_VERSION_MAJOR}.${PICORE_VERSION_MINOR}.gz"
INITRD="${BASE}/rootfs-${PACKAGE}-${PICORE_VERSION_MAJOR}.${PICORE_VERSION_MINOR}.${ROOTFS_SUFFIX}"
IMAGE="${BASE}/firmware-with-tce-disk-${PACKAGE}.img"
CMDLINE="console=ttyAMA0,115200 console=ttyGS0,115200 text root=/dev/ram0 nortc rootwait loglevel=3 tce=LABEL=RECOVERY tz=PST+8PDT,M3.2.0/2,M11.1.0/2 debug=y nozswap"
qemu-system-aarch64 -machine virt -cpu max -smp 4 -m 2G \
qemu-system-aarch64 -machine virt -cpu ${CPU} -smp ${SMP} -m ${MEM} \
-kernel "$KERNEL" -append "$CMDLINE" \
-initrd "$INITRD" \
-nographic \
Expand Down
Loading