Create overlay file in initramfs stage (#391)

* Create overlay file in initramfs stage

when the filesystem is that of the installed system (not the livecd).

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Remove bootargs.cfg

because it is needed before any stages are run.

Relevant PR: https://github.com/kairos-io/kairos/pull/1756

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Bump package version to rebuild

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Co-authored-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
This commit is contained in:
Dimitris Karakasilis 2023-08-22 12:38:53 +03:00 committed by GitHub
parent 70966f5462
commit e30b71b0ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 74 deletions

View File

@ -1,59 +0,0 @@
name: "Creation of bootargs.cfg file"
stages:
after-install:
- &createfile
name: "Install bootargs.cfg file"
commands:
- |
export COMMON_RECOVERY_OPTS="console=tty1 root=live:LABEL=\$recoverylabel rd.live.dir=/ rd.live.squashimg=\$img panic=5"
export COMMON_OPTS="console=tty1 root=LABEL=\$label cos-img/filename=\$img panic=5 rd.cos.oemlabel=COS_OEM"
# Model based options:
# Raspberry
if [ -f "/sys/firmware/devicetree/base/model" ] && grep Raspberry "/sys/firmware/devicetree/base/model"; then
COMMON_RECOVERY_OPTS="$COMMON_RECOVERY_OPTS console=ttyS0,115200 net.ifnames=1 modprobe.blacklist=vc4 rd.cos.oemtimeout=10"
COMMON_OPTS="$COMMON_OPTS console=ttyS0,115200 net.ifnames=1 security=selinux selinux=1 modprobe.blacklist=vc4 rd.cos.oemtimeout=10"
# Nvidia
# TODO: Test this out on an nvidia board. Does that file even exist?
elif [ -f "/sys/firmware/devicetree/base/model" ] && grep -i nvidia "/sys/firmware/devicetree/base/model"; then
COMMON_RECOVERY_OPTS="$COMMON_RECOVERY_OPTS console=ttyTCU0,115200 security=selinux selinux=1 net.ifnames=1 rd.cos.oemtimeout=10"
COMMON_OPTS="$COMMON_OPTS console=ttyTCU0,115200 net.ifnames=1 security=selinux selinux=1 rd.cos.oemtimeout=10"
# All other cases
else
COMMON_RECOVERY_OPTS="$COMMON_RECOVERY_OPTS console=ttyS0 rd.cos.oemlabel=COS_OEM"
COMMON_OPTS="$COMMON_OPTS console=ttyS0 net.ifnames=1"
fi
# OS based options:
if $(grep -i -E '(fedora|almalinux|rockylinux)' /etc/os-release); then
COMMON_RECOVERY_OPTS="$COMMON_RECOVERY_OPTS selinux=0"
# NOTE: This may conflict with model settings above!
COMMON_OPTS="$COMMON_OPTS selinux=0"
elif $(grep -i -E '(debian|ubuntu)' /etc/os-release); then
COMMON_RECOVERY_OPTS="$COMMON_RECOVERY_OPTS"
COMMON_OPTS="$COMMON_OPTS security=selinux selinux=1 rd.neednet=0 vga=795"
else
COMMON_RECOVERY_OPTS="$COMMON_RECOVERY_OPTS net.ifnames=1"
COMMON_OPTS="$COMMON_OPTS rd.emergency=reboot rd.shell=0 security=selinux selinux=1 fsck.mode=force fsck.repair=yes systemd.crash_reboot=yes"
fi
cat << EOF > /etc/cos/bootargs.cfg
set kernel=/boot/vmlinuz
if [ -n "\$recoverylabel" ]; then
# Boot arguments when the image is used as recovery
set kernelcmd="$COMMON_RECOVERY_OPTS"
else
# Boot arguments when the image is used as active/passive
set kernelcmd="$COMMON_OPTS"
fi
set initramfs=/boot/initrd
EOF
chmod 0600 /etc/cos/bootargs.cfg
after-upgrade:
- <<: *createfile
after-reset:
- <<: *createfile

View File

@ -1,10 +1,9 @@
name: "Nvidia jetson specific files"
stages:
after-install:
- &createfiles
name: "Create files"
initramfs:
- name: "Create files"
if: |
[ -f "/sys/firmware/devicetree/base/model" ] && grep -i nvidia "/sys/firmware/devicetree/base/model"
[ -f "/sys/firmware/devicetree/base/model" ] && grep -i jetson "/sys/firmware/devicetree/base/model"
files:
- path: /etc/dracut.conf.d/iscsi.conf
content: |
@ -63,7 +62,3 @@ stages:
permissions: 0600
owner: 0
group: 0
after-upgrade:
- <<: *createfiles
after-reset:
- <<: *createfiles

View File

@ -1,8 +1,7 @@
name: "Create openrc services"
stages:
after-install:
- &createfiles
name: "Create files"
initramfs:
- name: "Create files"
if: |
grep -i alpine "/etc/os-release"
files:
@ -61,7 +60,3 @@ stages:
permissions: 0600
owner: 0
group: 0
after-upgrade:
- <<: *createfiles
after-reset:
- <<: *createfiles