mirror of
git://soft.sys114.com/odroid-stamper
synced 2025-12-19 01:48:42 +09:00
Change-Id: Ic30b08536608f9336e17854e29387dcba4177182 Signed-off-by: Dongjin Kim <tobetter@gmail.com>
154 lines
4.3 KiB
Bash
154 lines
4.3 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)" \
|
|
"noble" "Ubuntu Mantic (24.04)" \
|
|
"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:
|