36 lines
1.1 KiB
Bash
36 lines
1.1 KiB
Bash
#!/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
|