#!/bin/sh # 10-parse-cmdline.sh — Parse boot parameters from /proc/cmdline for arg in $(cat /proc/cmdline); do case "$arg" in kubesolo.data=*) KUBESOLO_DATA_DEV="${arg#kubesolo.data=}" ;; kubesolo.debug) KUBESOLO_DEBUG=1; set -x ;; kubesolo.shell) KUBESOLO_SHELL=1 ;; kubesolo.nopersist) KUBESOLO_NOPERSIST=1 ;; kubesolo.cloudinit=*) KUBESOLO_CLOUDINIT="${arg#kubesolo.cloudinit=}" ;; kubesolo.flags=*) KUBESOLO_EXTRA_FLAGS="${arg#kubesolo.flags=}" ;; kubesolo.edge_id=*) KUBESOLO_PORTAINER_EDGE_ID="${arg#kubesolo.edge_id=}" ;; kubesolo.edge_key=*) KUBESOLO_PORTAINER_EDGE_KEY="${arg#kubesolo.edge_key=}" ;; kubesolo.nomodlock) KUBESOLO_NOMODLOCK=1 ;; kubesolo.noapparmor) KUBESOLO_NOAPPARMOR=1 ;; esac done export KUBESOLO_NOMODLOCK export KUBESOLO_NOAPPARMOR if [ -z "$KUBESOLO_DATA_DEV" ] && [ "$KUBESOLO_NOPERSIST" != "1" ]; then log_warn "No kubesolo.data= specified and kubesolo.nopersist not set" log_warn "Attempting auto-detection of data partition (label: KSOLODATA)" KUBESOLO_DATA_DEV=$(blkid -L KSOLODATA 2>/dev/null || true) if [ -z "$KUBESOLO_DATA_DEV" ]; then log_warn "No data partition found. Running in RAM-only mode." KUBESOLO_NOPERSIST=1 else log "Auto-detected data partition: $KUBESOLO_DATA_DEV" fi fi log "Config: data=$KUBESOLO_DATA_DEV debug=$KUBESOLO_DEBUG nopersist=$KUBESOLO_NOPERSIST"