get_board() { if [ -f /proc/device-tree/model ]; then model=$(cat /proc/device-tree/model) case ${model} in "Hardkernel ODROID-N2") echo "odroidn2" ;; "Hardkernel ODROID-N2L") echo "odroidn2l" ;; "Hardkernel ODROID-N2Plus") echo "odroidn2plus" ;; "Hardkernel ODROID-C4") echo "odroidc4" ;; "Hardkernel ODROID-C5") echo "odroidc5" ;; "Hardkernel ODROID-HC4") echo "odroidhc4" ;; "ODROID-GO2*") echo "odroidgo2" ;; "ODROID-M1") echo "odroidm1" ;; "ODROID-M1S") echo "odroidm1s" ;; "ODROID-M2") echo "odroidm2" ;; *) echo "odroidn2plus" ;; esac fi } get_arch() { case ${1} in odroidc2 | odroidn2* | odroidc4 | odroidc5 | odroidhc4 | odroidgo2 | odroidm1 | odroidm1s | odroidm2) echo "arm64" ;; odroidxu4) echo "armhf" ;; esac } default_distro() { [ -z ${DISTRO} ] && DISTRO="focal" echo ${DISTRO} } default_flavour() { [ -z ${FLAVOUR} ] && FLAVOUR="server" echo ${FLAVOUR} } default_target_device() { echo ${TARGET_DEVICE} } allow_root_login() { echo true } default_user() { [ -z ${DEFAULT_USER} ] && DEFAULT_USER="odroid" echo ${DEFAULT_USER} } default_user_passwd() { [ -z ${DEFAULT_PASSWD} ] && DEFAULT_PASSWD="odroid" echo ${DEFAULT_PASSWD} } default_config() { [ "x${BOARD}" = "x" ] && BOARD=$(get_board) cat>${1}<<__EOF BOARD=${BOARD} ARCH=$(get_arch ${BOARD}) DISTRO=$(default_distro) FLAVOUR=$(default_flavour) TARGET_DEVICE=$(default_target_device) DEFAULT_USER=$(default_user) DEFAULT_PASSWD=$(default_user_passwd) ALLOW_ROOT_LOGIN=$(allow_root_login) __EOF } osname() { case $1 in focal | jammy | noble) echo "ubuntu" ;; buster | bullseye | bookworm) echo "debian" ;; *) echo "unknown" ;; esac } osversion () { case $1 in focal) echo "20.04" ;; jammy) echo "22.04" ;; noble) echo "24.04" ;; buster) echo "buster" ;; bullseye) echo "bullseye" ;; bookworm) echo "bookworm" ;; esac } image_file() { if [ "x${OSNAME}" != "x" ]; then IMAGE_FILE_PREFIX="${OSNAME}-${BOARD}" else IMAGE_FILE_PREFIX="$(osname ${1})-$(osversion ${1})-${2}-${3}" fi echo "${IMAGE_FILE_PREFIX}-`date +%Y%m%d`" } # vim: set ft=sh ts=4 sw=4 expandtab: