add build image

This commit is contained in:
tiopex
2023-03-13 13:28:06 +01:00
parent f6dbd54c41
commit fa8b4b1683
3784 changed files with 6309 additions and 122 deletions

View File

@@ -0,0 +1,39 @@
# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
#
# Note: BusyBox init doesn't support runlevels. The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id == tty to run on, or empty for /dev/console
# runlevels == ignored
# action == one of sysinit, respawn, askfirst, wait, and once
# process == program to run
# Startup the system
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,ro /
::sysinit:/bin/mkdir -p /dev/pts
::sysinit:/bin/mkdir -p /dev/shm
::sysinit:/bin/mount -a
::sysinit:/bin/hostname -F /etc/hostname
::sysinit:/bin/mount /dev/mmcblk0p4 /mnt -t vfat -o rw,sync,utf8
::sysinit:/bin/mount /dev/mmcblk0p1 /boot -t vfat -o ro,exec,sync,utf8
::sysinit:/sbin/swapon /dev/mmcblk0p3
# now run any rc scripts
#::sysinit:/etc/init.d/rcS
tty1::respawn:/etc/main
::respawn:/sbin/getty -L ttyAM0 115200 vt100
::respawn:/sbin/getty -L ttyGS0 115200 vt100
# Stuff to do for the 3-finger salute
#::ctrlaltdel:/sbin/reboot
# Stuff to do before rebooting
#::shutdown:/etc/init.d/rcK
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r

136
board/miyoo/rootfs/etc/main Executable file
View File

@@ -0,0 +1,136 @@
#!/bin/busybox sh
BOOTLOGO="boot-logo"
export HOME=/mnt
export SDL_NOMOUSE=1
START="${HOME}/autoexec.sh"
BOOTDIR=/boot # we expect /dev/mmcblk0p1 has been mounted here read only, from inittab
LOGS=/dev/null
#LOGS=/mnt/log.txt
# can use /mnt/log.txt here, but note that this prevents clean shutdowns - so only use this for debugging
export LOGS # so that subshells can use this as well
# try to read what handheld we're on
if test -r "${BOOTDIR}/console.cfg"; then
source "${BOOTDIR}/console.cfg"
fi
# sanity checks - we default to V90/Q90
if test -z "${CONSOLE_VARIANT}"; then
CONSOLE_VARIANT="v90_q90"
fi
export CONSOLE_VARIANT
# check if it's first boot and turn on messages if yes
if test -r "${BOOTDIR}/firstboot"; then
DEBUG_MSG="yes"
fi
if test "x${DEBUG_MSG}" == "xyes"; then
echo -e "\e[0m" # normal foreground colour
export DEBUG_MSG # set it globally for further programs
else
echo -e "\e[30m" # black foreground colour
fi
# load kernel modules
modprobe "g_acm_ms" file=/dev/mmcblk0p4,/dev/mmcblk0p1,/dev/mmcblk0p2 removable=1,1 ro=0,0 >> "${LOGS}" 2>&1
# just load the expected ones (screen driver) from here
# do it directly and not rely on modprobe trying to find them
# automatically in rootfs/lib/modules/VERSION
# (also because with custom kernels the VERSION will be different.
#
# the uEnv.txt is autogenerated by u-boot from HW which outputs
# environmental variables needed for ID of screen type
video=`cat ${BOOTDIR}/uEnv.txt |grep -a "CONSOLE_VIDEO" | cut -d "=" -f 2 | cut -d "." -f 1`
params=`cat ${BOOTDIR}/uEnv.txt |grep -a "CONSOLE_PARAMETERS" | cut -d "=" -f 2-`
# TVout scripting backend
tvout=`cat ${HOME}/tvout`
if ((test -r "${HOME}/tvout")); then
echo 0 >/sys/class/backlight/backlight/brightness
echo 0 > /sys/class/vtconsole/vtcon1/bind
modprobe -r $video
if (grep -q TVMODE\=\1 "${HOME}/options.cfg"); then
modprobe miyoo-tvout tvmode=1
else
modprobe miyoo-tvout
fi
echo 1 > /sys/class/vtconsole/vtcon1/bind
modprobe -r $video
else
# MODULES_CUSTOM scripting
if ((test -r "${BOOTDIR}/modules.custom.sh") && !(grep -q MODULES_CUSTOM\=\0 "${HOME}/options.cfg")); then
(cd "${BOOTDIR}" && sh modules.custom.sh ) >> "${LOGS}" 2>&1
else
# Load video module read from uEnv.txt & defined by variant in console.cfg
if (grep -q FLIP\=\1 "${HOME}/options.cfg"); then
modprobe $video $params flip=1
else
modprobe $video $params
fi
fi
fi
# check if it's first boot and defer to the firstboot script if yes
if test -r "${BOOTDIR}/firstboot"; then
exec sh "${BOOTDIR}/firstboot"
fi
if !(grep -q FAT_CHECK\=\0 "${HOME}/options.cfg"); then
##Check if fat32 is flagged as "dirty", and if so unmount, repair, remount
if dmesg | grep "mmcblk0p4" > /dev/null; then
echo -e "\e[31mUnclean shutdown detected.\e[0m"
echo -e "\e[32mChecking FAT32 partition...\e[0m"
umount /dev/mmcblk0p4
fsck.vfat -y /dev/mmcblk0p4 > /dev/null;
mount /dev/mmcblk0p4 "${HOME}" -t vfat -o rw,sync,utf8
echo -e "\e[32mCheck complete.\e[0m"
fi
fi
clear
echo "Boot!" >> "${LOGS}"
echo "Handheld type is ${CONSOLE_VARIANT}" >> "${LOGS}"
# run any custom commands ('daemon' expected to be run from there)
if test -r "${BOOTDIR}/normalboot.custom.sh" ; then
(cd "${BOOTDIR}" && sh normalboot.custom.sh) # don't redirect, want output on screen
else
# at least run 'daemon'
daemon >> "${LOGS}" 2>&1
fi
# run boot logo animation
if (!(grep -q BOOT_LOGO\=\0 "${HOME}/options.cfg")); then
${BOOTLOGO} >> "${LOGS}" 2>&1
#st7789s video driver long initialization fix
elif (lsmod | grep -q st7789s); then
sleep 1
fi
# can't unmount boot because 'daemon' runs from it - but it's mounted read-only
# so it's fine
## umount /dev/mmcblk0p1
if test "x${DEBUG_MSG}" == "xyes"; then
echo "(Waiting 5 seconds before proceeding...)"
sleep 5
dmesg > /mnt/dmesg.txt
fi
while [ 1 ]
do
if test -f "${START}"; then
source "${START}"
else
cd "${HOME}"/gmenu2x;
./gmenu2x >> "${LOGS}" 2>&1;
fi
clear
done