123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #!/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"
- }
|