46 lines
1.1 KiB
Bash
46 lines
1.1 KiB
Bash
#!/bin/sh
|
|
|
|
# defaults
|
|
SUNXI_BOARD_NAME="generic sunxi"
|
|
SUNXI_BOARD_MODEL="generic sunxi"
|
|
SUNXI_ENV_DEV=/dev/mmcblk0
|
|
|
|
#Helper functions
|
|
get_cmdline_opt()
|
|
{
|
|
cat /proc/cmdline | awk -F$1= '{print $2}' | awk '{print $1}'
|
|
}
|
|
|
|
#Since fw_getenv doesn't work with blockdevs let's make a hack
|
|
uboot_getenv()
|
|
{
|
|
dd if=$SUNXI_ENV_DEV bs=1024 skip=544 count=128 2>dev/null |\strings|grep $1|cut -d"=" -f2
|
|
}
|
|
|
|
#Actual routines go below
|
|
sunxi_env_dev()
|
|
{
|
|
local dev
|
|
dev=`get_cmdline_opt root|cut -d"p" -f1`
|
|
SUNXI_ENV_DEV=$dev
|
|
echo "probing $dev for uboot env data"
|
|
}
|
|
|
|
sunxi_board_detect() {
|
|
local board
|
|
local model
|
|
sunxi_env_dev
|
|
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
|
|
board="`uboot_getenv wrt_board`"
|
|
model="`uboot_getenv wrt_model`"
|
|
if [ "$board" != "" ]; then
|
|
SUNXI_BOARD_NAME="$board"
|
|
fi
|
|
if [ "$model" != "" ]; then
|
|
SUNXI_BOARD_MODEL="$model"
|
|
fi
|
|
echo "$SUNXI_BOARD_NAME" > /tmp/sysinfo/board_name
|
|
echo "$SUNXI_BOARD_MODEL" > /tmp/sysinfo/model
|
|
echo "Detected $SUNXI_BOARD_NAME // $SUNXI_BOARD_MODEL"
|
|
}
|