add pika branches and nvidia support
This commit is contained in:
parent
8fff8d93f9
commit
1859f58248
43
.github/workflows/build-canary-v3-iso.yml
vendored
Normal file
43
.github/workflows/build-canary-v3-iso.yml
vendored
Normal 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
|
46
.github/workflows/build-canary-v3-nvidia-iso.yml
vendored
Normal file
46
.github/workflows/build-canary-v3-nvidia-iso.yml
vendored
Normal 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
|
@ -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
|
46
.github/workflows/build-nest-v3-nvidia-iso.yml
vendored
Normal file
46
.github/workflows/build-nest-v3-nvidia-iso.yml
vendored
Normal 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
|
46
.github/workflows/release-canary-v3-iso.yml
vendored
Normal file
46
.github/workflows/release-canary-v3-iso.yml
vendored
Normal 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
|
49
.github/workflows/release-canary-v3-nvidia-iso.yml
vendored
Normal file
49
.github/workflows/release-canary-v3-nvidia-iso.yml
vendored
Normal 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
|
@ -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
|
49
.github/workflows/release-nest-v3-nvidia-iso.yml
vendored
Normal file
49
.github/workflows/release-nest-v3-nvidia-iso.yml
vendored
Normal 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
|
33
generate_roofs_from_nestv3_docker.sh
Executable file
33
generate_roofs_from_nestv3_docker.sh
Executable 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"
|
5
info.sh
5
info.sh
@ -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"
|
||||||
|
15
nvidia-hooks/2-link-uname-to-kernel.chroot
Executable file
15
nvidia-hooks/2-link-uname-to-kernel.chroot
Executable 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)
|
4
nvidia-hooks/3-install-nvidia-driver.chroot
Executable file
4
nvidia-hooks/3-install-nvidia-driver.chroot
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
apt-get install --yes --option Dpkg::Options::="--force-confnew" \
|
||||||
|
nvidia-driver-555
|
Loading…
Reference in New Issue
Block a user