#!/bin/sh # Init for provisioning initramfs: bring up minimal env and run provisioning-client.sh. # PROVISIONING_SERVER can be set via kernel cmdline: provisioning_server=http://10.20.50.1:5000 set -e export PATH=/bin:/usr/bin export LD_LIBRARY_PATH=/lib echo "=== CM4 provisioning initramfs ===" # Minimal filesystem mount -t proc none /proc mount -t sysfs none /sys mount -t devtmpfs none /dev mkdir -p /dev/pts mount -t devpts none /dev/pts # Kernel might have brought up eth0 via ip=dhcp; ensure we have an IP if ! ip addr show | grep -q 'inet .* scope global'; then echo "Getting DHCP lease..." udhcpc -f -q -i eth0 -n 2>/dev/null || true fi # Allow kernel cmdline to override: provisioning_server=http://10.20.50.1:5000 for arg in $(cat /proc/cmdline); do case "$arg" in provisioning_server=*) export PROVISIONING_SERVER="${arg#*=}"; ;; esac done PROVISIONING_SERVER="${PROVISIONING_SERVER:-http://10.20.50.1:5000}" export PROVISIONING_SERVER echo "Provisioning server: $PROVISIONING_SERVER" echo "Running provisioning client..." exec /bin/sh /provisioning-client.sh