Files
odroid-stamper/menu
Dongjin Kim e20e095691 Drop discontinued OS distributions
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: Icdb69fa229db91dc1c5a7c4be97b3033a9b870bb

Change-Id: Ie769b61b6871b76298510ce49d0459b733bce494
2024-01-20 23:48:55 +09:00

153 lines
4.2 KiB
Bash

do_finish() {
echo ${BOARD}
echo ${DISTRO}-${FLAVOUR}
if [ ! -f distro/${DISTRO}/${FLAVOUR} ]; then
echo XXX
fi
exit 0
}
do_menu_target() {
local n=1
local DEVICE_LIST="File 0"
for disk in $(ls /dev/disk/by-id | grep -v '\-part*' | grep 'mmc\|usb'); do
DEVICE_LIST="${DEVICE_LIST} ${disk} ${n}"
n=$((n+1))
done
CHOICE=$(dialog --clear --title "Devices" \
--menu "X" 16 70 10 \
${DEVICE_LIST} \
2>&1 >/dev/tty)
ret=$?
if [ ${ret} = 0 ]; then
if [ -b /dev/disk/by-id/${CHOICE} ]; then
# TARGET_DEVICE=$(readlink -f /dev/disk/by-id/${CHOICE})
TARGET_DEVICE="/dev/disk/by-id/${CHOICE}"
else
TARGET_DEVICE=${out_dir}/binary.img
fi
fi
}
do_menu_board() {
CHOICE=$(dialog --clear --title "Target model" \
--menu "X" 15 70 10 \
"odroidc2" "Hardkernel ODROID-C2" \
"odroidxu4" "Hardkernel ODROID-XU4" \
"odroidn2" "Hardkernel ODROID-N2" \
"odroidn2l" "Hardkernel ODROID-N2L" \
"odroidn2plus" "Hardkernel ODROID-N2Plus" \
"odroidc4" "Hardkernel ODROID-C4" \
"odroidhc4" "Hardkernel ODROID-HC4" \
"odroidgo2" "Hardkernel ODROID-GO2" \
"odroidm1" "Hardkernel ODROID-M1" \
"odroidm1s" "Hardkernel ODROID-M1S" \
2>&1 >/dev/tty)
ret=$?
if [ ${ret} = 0 ]; then
BOARD=${CHOICE}
case ${BOARD} in
odroidc2)
ARCH=arm64
;;
odroidxu4)
ARCH=armhf
;;
odroidn2 | odroidn2plus | odroidc4 | odroidhc4 | odroidm1)
ARCH=arm64
;;
odroidgo2)
ARCH=arm64
;;
esac
fi
}
do_menu_distro() {
CHOICE=$(dialog --clear --title "Ubuntu/Debian distribution" \
--menu "X" 15 70 10 \
"focal" "Ubuntu Focal (20.04)" \
"jammy" "Ubuntu Jammy (22.04)" \
"mantic" "Ubuntu Mantic (23.10)" \
"buster" "Debian Buster" \
"bullseye" "Debian Bullseye" \
"bookworm" "Debian Bookworm" \
2>&1 >/dev/tty)
ret=$?
if [ ${ret} = 0 ]; then
DISTRO=${CHOICE}
fi
}
do_menu_flavour() {
CHOICE=$(dialog --clear --title "Ubuntu flavour" \
--menu "X" 15 70 10 \
"server" "Server" \
"gnome-desktop" "GNOME" \
"kde-desktop" "KDE Plasma" \
"lxde-desktop" "LXDE" \
"mate-desktop" "MATE" \
"xfce-desktop" "XFCE" \
"weston" "Weston" \
2>&1 >/dev/tty)
ret=$?
if [ ${ret} = 0 ]; then
FLAVOUR=${CHOICE}
fi
}
do_menu_default_user() {
DEFAULT_USER=$(dialog --title "Default user account" --clear \
--inputbox "Enter the default account " 8 60 \
${DEFAULT_USER} 2>&1 >/dev/tty)
}
do_menu_default_user_passwd() {
DEFAULT_PASSWD=$(dialog --title "Default user password" --clear \
--inputbox "Enter the password of default account " 8 60 \
${DEFAULT_PASSWD} 2>&1 >/dev/tty)
}
do_menu() {
while true; do
IMAGE_FILE=$(image_file ${DISTRO} ${FLAVOUR} ${BOARD})
CHOICE=$(dialog --clear --backtitle "ODROID-STAMPER" \
--title "Custom Ubuntu Recipe" \
--extra-button --extra-label "Done" \
--menu "Please customize the installation." 15 70 10 \
0 "Target (${TARGET_DEVICE})" \
1 "Board (${BOARD})" \
2 "Distro (${DISTRO})" \
3 "Flavour (${FLAVOUR})" \
4 "Default user" \
5 "Password of default user" \
2>&1 >/dev/tty)
ret=$?
if [ ${ret} = 3 ]; then
clear
default_config ${DEFAULT_CONFIG}
break
elif [ ${ret} = 0 ]; then
case ${CHOICE} in
0) do_menu_target "Target";;
1) do_menu_board "Board";;
2) do_menu_distro "Distro";;
3) do_menu_flavour "Flavour";;
4) do_menu_default_user;;
5) do_menu_default_user_passwd;;
esac
else
clear
exit 1
fi
done
}
# vim: set ft=sh ts=4 sw=4 expandtab: