Bundle alpine kernel+initrd (#258)

This commit is contained in:
Itxaka 2023-05-31 12:33:49 +00:00 committed by GitHub
parent 6e09abc71c
commit 834e456b56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 49 additions and 69 deletions

View File

@ -0,0 +1,40 @@
{{ if eq .Values.name "alpine-rpi" }}
{{ if .Values.arch }}
{{ if eq .Values.arch "arm64" }}
image: alpine
# Arm + rpi
package_dir: "/package"
prelude:
- apk update
- apk add linux-rpi4 mkinitfs linux-firmware-none udev lvm2 findmnt rsync parted
steps:
- kernel=$(ls /lib/modules | head -n1) && depmod -a "${kernel}"
- mkdir -p /package/boot
- mkdir -p /package/lib/modules
- cp /boot/vmlinuz-rpi4 /package/boot/vmlinuz
- cp -rfv /lib/modules/* /package/lib/modules
# generate initramfs
- cp files/immucore.files /etc/mkinitfs/features.d/immucore.files
- kernel=$(ls /lib/modules | head -n1) && mkinitfs -o /package/boot/initrd -i files/initramfs-init -c files/mkinitfs.conf $kernel
{{end}}
{{end}}
{{else}}
image: alpine
# x86 + arm + no rpi path
package_dir: "/package"
prelude:
- apk update
- apk add linux-lts linux-firmware-none mkinitfs udev lvm2 findmnt rsync parted
steps:
- kernel=$(ls /lib/modules | head -n1) && depmod -a "${kernel}"
- mkdir -p /package/boot
- mkdir -p /package/lib/modules
# TODO: Add firmware files
- cp /boot/vmlinuz-lts /package/boot/vmlinuz
- cp -rfv /lib/modules/* /package/lib/modules
# generate initramfs
- cp files/immucore.files /etc/mkinitfs/features.d/immucore.files
- kernel=$(ls /lib/modules | head -n1) && mkinitfs -o /package/boot/initrd -i files/initramfs-init -c files/mkinitfs.conf $kernel
{{end}}

View File

@ -0,0 +1,9 @@
packages:
- name: "alpine"
category: "distro-kernel"
version: "0.1.2"
description: "Provides kernel and custom initrd for alpine"
- name: "alpine-rpi"
category: "distro-kernel"
version: "0.1.2"
description: "Provides kernel and custom initrd for alpine"

View File

@ -1,62 +0,0 @@
{{ if eq .Values.name "alpine-rpi" }}
{{ if .Values.arch }}
{{ if eq .Values.arch "arm64" }}
image: alpine
copy:
- package:
category: "system"
name: "immucore"
version: ">=0"
source: "/usr/bin/immucore"
destination: "/usr/bin/immucore"
- package:
category: "system"
name: "kairos-agent"
version: ">=0"
source: "/usr/bin/kairos-agent"
destination: "/usr/bin/kairos-agent"
# Arm + rpi
prelude:
- apk update
- apk add linux-rpi4 mkinitfs linux-firmware-none udev lvm2 findmnt rsync parted
- rm /boot/initramfs-rpi4 || true
steps:
- /usr/bin/immucore version
- cp files/immucore.files /etc/mkinitfs/features.d/immucore.files
- kernel=$(ls /lib/modules | head -n1) && mkinitfs -o /boot/initrd -i files/initramfs-init -c files/mkinitfs.conf $kernel
include:
- ^/boot/initrd$
{{end}}
{{end}}
{{else}}
image: alpine
copy:
- package:
category: "system"
name: "immucore"
version: ">=0"
source: "/usr/bin/immucore"
destination: "/usr/bin/immucore"
- package:
category: "system"
name: "kairos-agent"
version: ">=0"
source: "/usr/bin/kairos-agent"
destination: "/usr/bin/kairos-agent"
# x86 + arm + no rpi path
prelude:
- apk update
- apk add linux-lts mkinitfs linux-firmware-none udev lvm2 findmnt rsync parted
- rm /boot/initramfs-lts || true
steps:
- /usr/bin/immucore version
- cp files/immucore.files /etc/mkinitfs/features.d/immucore.files
- kernel=$(ls /lib/modules | head -n1) && mkinitfs -o /boot/initrd -i files/initramfs-init -c files/mkinitfs.conf $kernel
include:
- ^/boot/initrd$
{{end}}

View File

@ -1,7 +0,0 @@
packages:
- name: "alpine"
category: "distro-initrd"
version: "0.1.2"
- name: "alpine-rpi"
category: "distro-initrd"
version: "0.1.2"