Можно все модификации производить в data разделе, тогда при сбросе на заводские настройки консоль придет в начальное состояние.
Запуск кода с data раздела без модификации roots:
Основано на том что скрипт /usr/sbin/clover-ui запускает приложение из /var/lib/clover/ui если оно там есть.
- монтируем rootfs и data раздел
- копируем ui в /var/lib/clover/ui
uiroot=/newroot/var/lib/clover/ui
config="/newroot/etc/clover/ui"
GUI=$(cat "$config")
cp -R "/newroot/usr/share/ui/$GUI" "$uiroot"
- копируем полезную нагрузку в дата раздел, к примеру будет скрипт /newroot/var/lib/sbin/start
- модифицируем main.lua в ui
cp "$uiroot/resources/scripts/main.lua" "$uiroot/resources/scripts/main.orig.lua"
echo "os.execute('/var/lib/sbin/start')" > "$uiroot/resources/scripts/main.lua"
echo "dofile('/var/lib/clover/ui/resources/scripts/main.orig.lua')" >> "$uiroot/resources/scripts/main.lua"
Основано на изучении SNES mini 2017 года.
Можно все модификации производить в data разделе, тогда при сбросе на заводские настройки консоль придет в начальное состояние.
Запуск кода с data раздела без модификации roots:
Основано на том что скрипт /usr/sbin/clover-ui запускает приложение из /var/lib/clover/ui если оно там есть.
Основано на изучении SNES mini 2017 года.