add pika branches and nvidia support

This commit is contained in:
Ward from fusion-voyager-3 2024-08-10 17:20:06 +03:00
parent 8fff8d93f9
commit 1859f58248
13 changed files with 346 additions and 8 deletions

View File

@ -0,0 +1,43 @@
name: Build Canary amd64-v3 ISO
on:
push:
branches:
- main
paths:
- '.github/build-canary-v3-iso'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ubuntu:latest
volumes:
- /proc:/proc
options: --privileged -it --cap-add=sys_admin --cap-add mknod --device=/dev/fuse --security-opt seccomp=unconfined --security-opt label=disable
steps:
- name: Install Some essentials
run: apt-get update -y && apt-get install -y wget npm rsync nodejs
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Set ISO Info
run: sed "s/#DISTNAME#/PikaOS-Canary/g" -i ./info.sh && sed "s/#ARCH#/amd64-v3/g" -i ./info.sh
- name: Get ISO Build Dependencies
run: ./get_iso_build_dep.sh
- name: Generate Image ROOTFS from PikaOS Docker image
run: ./generate_roofs_from_canaryv3_docker.sh
- name: Build ISO
run: ./build.sh

View File

@ -0,0 +1,46 @@
name: Build Canary NVIDIA amd64-v3 ISO
on:
push:
branches:
- main
paths:
- '.github/build-canary-v3-nvidia-iso'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ubuntu:latest
volumes:
- /proc:/proc
options: --privileged -it --cap-add=sys_admin --cap-add mknod --device=/dev/fuse --security-opt seccomp=unconfined --security-opt label=disable
steps:
- name: Install Some essentials
run: apt-get update -y && apt-get install -y wget npm rsync nodejs
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Set ISO Info
run: sed "s/#DISTNAME#/PikaOS-Canary-NVIDIA/g" -i ./info.sh && sed "s/#ARCH#/amd64-v3/g" -i ./info.sh
- name: Get ISO Build Dependencies
run: ./get_iso_build_dep.sh
- name: Enable NVIDIA hooks
run: cp -vf ./nvidia-hooks/* ./hooks/
- name: Generate Image ROOTFS from PikaOS Docker image
run: ./generate_roofs_from_canaryv3_docker.sh
- name: Build ISO
run: ./build.sh

View File

@ -1,11 +1,11 @@
name: Build ISO name: Build Nest amd64-v3 ISO
on: on:
push: push:
branches: branches:
- main - main
paths: paths:
- '.github/build-iso' - '.github/build-nest-v3-iso'
jobs: jobs:
build: build:
@ -30,11 +30,14 @@ jobs:
known_hosts: ${{ secrets.KNOWN_HOSTS }} known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace if_key_exists: replace
- name: Set ISO Info
run: sed "s/#DISTNAME#/PikaOS-Nest/g" -i ./info.sh && sed "s/#ARCH#/amd64-v3/g" -i ./info.sh
- name: Get ISO Build Dependencies - name: Get ISO Build Dependencies
run: ./get_iso_build_dep.sh run: ./get_iso_build_dep.sh
- name: Generate Image ROOTFS from PikaOS Docker image - name: Generate Image ROOTFS from PikaOS Docker image
run: ./generate_roofs_from_docker.sh run: ./generate_roofs_from_nestv3_docker.sh
- name: Build ISO - name: Build ISO
run: ./build.sh run: ./build.sh

View File

@ -0,0 +1,46 @@
name: Build Nest NVIDIA amd64-v3 ISO
on:
push:
branches:
- main
paths:
- '.github/build-nest-v3-nvidia-iso'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ubuntu:latest
volumes:
- /proc:/proc
options: --privileged -it --cap-add=sys_admin --cap-add mknod --device=/dev/fuse --security-opt seccomp=unconfined --security-opt label=disable
steps:
- name: Install Some essentials
run: apt-get update -y && apt-get install -y wget npm rsync nodejs
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Set ISO Info
run: sed "s/#DISTNAME#/PikaOS-Nest-NVIDIA/g" -i ./info.sh && sed "s/#ARCH#/amd64-v3/g" -i ./info.sh
- name: Get ISO Build Dependencies
run: ./get_iso_build_dep.sh
- name: Enable NVIDIA hooks
run: cp -vf ./nvidia-hooks/* ./hooks/
- name: Generate Image ROOTFS from PikaOS Docker image
run: ./generate_roofs_from_nestv3_docker.sh
- name: Build ISO
run: ./build.sh

View File

@ -0,0 +1,46 @@
name: Release Canary amd64-v3 ISO
on:
push:
branches:
- main
paths:
- '.github/release-canary-v3-iso'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ubuntu:latest
volumes:
- /proc:/proc
options: --privileged -it --cap-add=sys_admin --cap-add mknod --device=/dev/fuse --security-opt seccomp=unconfined --security-opt label=disable
steps:
- name: Install Some essentials
run: apt-get update -y && apt-get install -y wget npm rsync nodejs
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Set ISO Info
run: sed "s/#DISTNAME#/PikaOS-Canary/g" -i ./info.sh && sed "s/#ARCH#/amd64-v3/g" -i ./info.sh
- name: Get ISO Build Dependencies
run: ./get_iso_build_dep.sh
- name: Generate Image ROOTFS from PikaOS Docker image
run: ./generate_roofs_from_canaryv3_docker.sh
- name: Build ISO
run: ./build.sh
- name: Release ISO
run: ./release.sh

View File

@ -0,0 +1,49 @@
name: Release Canary NVIDIA amd64-v3 ISO
on:
push:
branches:
- main
paths:
- '.github/release-canary-v3-nvidia-iso'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ubuntu:latest
volumes:
- /proc:/proc
options: --privileged -it --cap-add=sys_admin --cap-add mknod --device=/dev/fuse --security-opt seccomp=unconfined --security-opt label=disable
steps:
- name: Install Some essentials
run: apt-get update -y && apt-get install -y wget npm rsync nodejs
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Set ISO Info
run: sed "s/#DISTNAME#/PikaOS-Canary-NVIDIA/g" -i ./info.sh && sed "s/#ARCH#/amd64-v3/g" -i ./info.sh
- name: Get ISO Build Dependencies
run: ./get_iso_build_dep.sh
- name: Enable NVIDIA hooks
run: cp -vf ./nvidia-hooks/* ./hooks/
- name: Generate Image ROOTFS from PikaOS Docker image
run: ./generate_roofs_from_canaryv3_docker.sh
- name: Build ISO
run: ./build.sh
- name: Release ISO
run: ./release.sh

View File

@ -1,11 +1,11 @@
name: Release ISO name: Release Nest amd64-v3 ISO
on: on:
push: push:
branches: branches:
- main - main
paths: paths:
- '.github/release-iso' - '.github/release-nest-v3-iso'
jobs: jobs:
build: build:
@ -30,11 +30,14 @@ jobs:
known_hosts: ${{ secrets.KNOWN_HOSTS }} known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace if_key_exists: replace
- name: Set ISO Info
run: sed "s/#DISTNAME#/PikaOS-Nest/g" -i ./info.sh && sed "s/#ARCH#/amd64-v3/g" -i ./info.sh
- name: Get ISO Build Dependencies - name: Get ISO Build Dependencies
run: ./get_iso_build_dep.sh run: ./get_iso_build_dep.sh
- name: Generate Image ROOTFS from PikaOS Docker image - name: Generate Image ROOTFS from PikaOS Docker image
run: ./generate_roofs_from_docker.sh run: ./generate_roofs_from_nestv3_docker.sh
- name: Build ISO - name: Build ISO
run: ./build.sh run: ./build.sh

View File

@ -0,0 +1,49 @@
name: Release Nest NVIDIA amd64-v3 ISO
on:
push:
branches:
- main
paths:
- '.github/release-nest-v3-nvidia-iso'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ubuntu:latest
volumes:
- /proc:/proc
options: --privileged -it --cap-add=sys_admin --cap-add mknod --device=/dev/fuse --security-opt seccomp=unconfined --security-opt label=disable
steps:
- name: Install Some essentials
run: apt-get update -y && apt-get install -y wget npm rsync nodejs
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Set ISO Info
run: sed "s/#DISTNAME#/PikaOS-Nest-NVIDIA/g" -i ./info.sh && sed "s/#ARCH#/amd64-v3/g" -i ./info.sh
- name: Get ISO Build Dependencies
run: ./get_iso_build_dep.sh
- name: Enable NVIDIA hooks
run: cp -vf ./nvidia-hooks/* ./hooks/
- name: Generate Image ROOTFS from PikaOS Docker image
run: ./generate_roofs_from_nestv3_docker.sh
- name: Build ISO
run: ./build.sh
- name: Release ISO
run: ./release.sh

View File

@ -0,0 +1,33 @@
#! /bin/bash
set -e
source ./info.sh
mkdir -p "$ROOTFS_PATH"
mkdir -p "$LIVE_BOOT_DATA_PATH"
mkdir -p "$LIVE_BOOT_LIVE_PATH"
# Pull and mount docker image
podman --storage-driver=vfs pull ghcr.io/pikaos-linux/pikaos-base:nestv3
podman --storage-driver=vfs image mount pikaos-linux/pikaos-base:nestv3 > ./docker-merged-path
DOCKER_MERGED_PATH=$(cat ./docker-merged-path)
# Safely Copy merged path contents to rootfs
rsync -av $DOCKER_MERGED_PATH/* $ROOTFS_PATH/
# Clean up Docker specific things
rm -rfv $ROOTFS_PATH/etc/apt/preferences.d/*docker*
rm -rfv $ROOTFS_PATH/etc/dpkg/dpkg.cfg.d/*docker*
# Setup hostname
echo $LIVE_HOSTNAME | tee "$ROOTFS_PATH/etc/hostname"

View File

@ -5,8 +5,9 @@ export LIVE_BOOT_DATA_PATH="$LIVE_BOOT_PATH/data"
export LIVE_BOOT_LIVE_PATH="$LIVE_BOOT_DATA_PATH/live" export LIVE_BOOT_LIVE_PATH="$LIVE_BOOT_DATA_PATH/live"
export ROOTFS_PATH="$LIVE_BOOT_PATH/rootfs" export ROOTFS_PATH="$LIVE_BOOT_PATH/rootfs"
export LIVE_HOSTNAME="pikaos" export LIVE_HOSTNAME="pikaos"
export ISO_DISTNAME="PikaOS" export ISO_DISTNAME="#DISTNAME#"
export ISO_ARCH="amd64-v3" export ISO_KERNEL="6.10-pikaos"
export ISO_ARCH="#ARCH#"
export ISO_RELEASE="4.0" export ISO_RELEASE="4.0"
export ISO_DESKTOP="GNOME" export ISO_DESKTOP="GNOME"
export ISO_PATCH="4" export ISO_PATCH="4"

View File

@ -0,0 +1,15 @@
#!/bin/bash
. /chroot_scripts/info.sh
if [ -z $ISO_KERNEL ]
then
exit 1
fi
echo "Workaround: Link chroot kernel to host kernel..."
ln -sfv /boot/config-$ISO_KERNEL /boot/config-$(uname -r)
ln -sfv /boot/initrd.img-$ISO_KERNEL /boot/initrd.img-$(uname -r)
ln -sfv /usr/src/linux-headers-$ISO_KERNEL /usr/src/linux-headers-$(uname -r)
ln -sfv /boot/System.map-$ISO_KERNEL /boot/System.map-$(uname -r)
ln -sfv /boot/vmlinuz-$ISO_KERNEL /boot/vmlinuz-$(uname -r)

View File

@ -0,0 +1,4 @@
#!/bin/bash
apt-get install --yes --option Dpkg::Options::="--force-confnew" \
nvidia-driver-555