| #!/bin/sh |
| #This script parse /proc/cmdline and set "cmdline" UCI |
| |
| UCI_TMP_DIR=/var/config |
| UCI_FILE=cmdline |
| mkdir -p $UCI_TMP_DIR |
| touch $UCI_TMP_DIR/$UCI_FILE |
| |
| CMDLINE=/proc/cmdline |
| CMDLINE="$(cat "$CMDLINE" | tr -s " ")" |
| COUNTER=1 |
| CMD=`echo "$CMDLINE" | cut -d " " -f$COUNTER` |
| |
| while [ -n "$CMD" ]; do |
| KEY=`echo $CMD | cut -d "=" -f1` |
| VALUE=`echo $CMD | cut -d "=" -f2` |
| # If KEY contains "." the uci set will fail |
| uci -c $UCI_TMP_DIR set $UCI_FILE.$KEY=$VALUE 2> /dev/null |
| let COUNTER+=1 |
| CMD=`echo "$CMDLINE" | cut -d " " -f$COUNTER` |
| done |
| |
| uci -c $UCI_TMP_DIR commit $UCI_FILE |
| mv $UCI_TMP_DIR/$UCI_FILE /etc/config/$UCI_FILE |