mirror of
https://github.com/FunKey-Project/FunKey-OS.git
synced 2025-12-14 08:38:52 +01:00
Merge branch 'Recovery' of github.com:FunKey-Project/FunKey-OS into Recovery
This commit is contained in:
commit
ac5656f970
@ -10,5 +10,9 @@ rm -f ${TARGET_DIR}/etc/init.d/S01syslogd ${TARGET_DIR}/etc/init.d/S02klogd
|
|||||||
# Change dropbear init sequence
|
# Change dropbear init sequence
|
||||||
mv ${TARGET_DIR}/etc/init.d/S50dropbear ${TARGET_DIR}/etc/init.d/S42dropbear
|
mv ${TARGET_DIR}/etc/init.d/S50dropbear ${TARGET_DIR}/etc/init.d/S42dropbear
|
||||||
|
|
||||||
|
# Redirect drobear keys to /tmp
|
||||||
|
rm ${TARGET_DIR}/etc/dropbear
|
||||||
|
ln -s /tmp ${TARGET_DIR}/etc/dropbear
|
||||||
|
|
||||||
# Generate U-Boot environment
|
# Generate U-Boot environment
|
||||||
${HOST_DIR}/bin/mkenvimage -p 0x0 -s 0x20000 -o ${BINARIES_DIR}/u-boot-env.img ${TARGET_DIR}/etc/u-boot.env
|
${HOST_DIR}/bin/mkenvimage -p 0x0 -s 0x20000 -o ${BINARIES_DIR}/u-boot-env.img ${TARGET_DIR}/etc/u-boot.env
|
||||||
|
|||||||
@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
source /usr/local/lib/utils
|
source /usr/local/lib/utils
|
||||||
|
|
||||||
|
# Get a key
|
||||||
|
getkey() {
|
||||||
|
local key=$(dd if=/dev/input/event0 bs=32 count=1 status=none | xxd -p -c 32 | cut -b 21-26)
|
||||||
|
echo ${key}
|
||||||
|
}
|
||||||
|
|
||||||
# Display meny item
|
# Display meny item
|
||||||
menu_display () {
|
menu_display () {
|
||||||
local entry=${1}
|
local entry=${1}
|
||||||
@ -13,54 +19,54 @@ menu_display () {
|
|||||||
# USB mount/unmount
|
# USB mount/unmount
|
||||||
mount | grep -q /dev/mmcblk0p3
|
mount | grep -q /dev/mmcblk0p3
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
message="USB mount"
|
message=" USB mount"
|
||||||
else
|
else
|
||||||
message="USB unmount"
|
message=" USB unmount"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
1)
|
1)
|
||||||
|
|
||||||
# USB check
|
# USB check
|
||||||
message="USB check"
|
message=" USB check"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
2)
|
2)
|
||||||
|
|
||||||
# USB format
|
# USB format
|
||||||
message="USB format"
|
message=" USB format"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
3)
|
3)
|
||||||
|
|
||||||
# Network enable/disable
|
# Network enable/disable
|
||||||
if [ -e /mnt/usbnet ]; then
|
if [ -e /mnt/usbnet ]; then
|
||||||
message="Network disable"
|
message=" Network disable"
|
||||||
else
|
else
|
||||||
message="Network enable"
|
message=" Network enable"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
4)
|
4)
|
||||||
|
|
||||||
# QR code
|
# QR code
|
||||||
message="QR code"
|
message=" QR code"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
5)
|
5)
|
||||||
|
|
||||||
# Factory tests enable/disable
|
# Factory tests enable/disable
|
||||||
if [ -e /mnt/.assembly_tests ]; then
|
if [ -e /mnt/.assembly_tests ]; then
|
||||||
message="Factory tests disable"
|
message=" Factory tests disable"
|
||||||
else
|
else
|
||||||
message="Factory tests enable"
|
message=" Factory tests enable"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
6)
|
6)
|
||||||
|
|
||||||
# Exit Recovery
|
# Exit Recovery
|
||||||
message="Exit Recovery"
|
message=" Exit Recovery"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
notif "${message}"
|
notif "${message}"
|
||||||
@ -81,7 +87,7 @@ menu_run () {
|
|||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
notif "${message}...^Cannot mount USB!"
|
notif "${message}...^Cannot mount USB!"
|
||||||
else
|
else
|
||||||
message="USB unmount"
|
message=" USB unmount"
|
||||||
notif "${message}"
|
notif "${message}"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
@ -97,7 +103,7 @@ menu_run () {
|
|||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
message="USB mount"
|
message=" USB mount"
|
||||||
notif "${message}"
|
notif "${message}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -133,15 +139,30 @@ menu_run () {
|
|||||||
# USB format
|
# USB format
|
||||||
mount | grep -q /dev/mmcblk0p3
|
mount | grep -q /dev/mmcblk0p3
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
notif "${message}..."
|
notif "${message}...^Press A to confirm"
|
||||||
umount /mnt &&
|
while true; do
|
||||||
mkfs.vfat /dev/mmcblk0p3 &&
|
case $(getkey) in
|
||||||
mount /mnt
|
1e0001|1e0002)
|
||||||
if [ $? -ne 0 ]; then
|
umount /mnt &&
|
||||||
notif "${message}...^Cannot format USB!"
|
mkfs.vfat /dev/mmcblk0p3 &&
|
||||||
else
|
mount /mnt
|
||||||
notif "${message} done"
|
if [ $? -ne 0 ]; then
|
||||||
fi
|
notif "${message}...^Cannot format USB!"
|
||||||
|
else
|
||||||
|
notif "${message} done"
|
||||||
|
fi
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
|
||||||
|
1e0000)
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
notif "${message}...^Aborted!"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
else
|
else
|
||||||
notif "${message}...^Cannot format USB when mounted!"
|
notif "${message}...^Cannot format USB when mounted!"
|
||||||
fi
|
fi
|
||||||
@ -150,38 +171,48 @@ menu_run () {
|
|||||||
3)
|
3)
|
||||||
|
|
||||||
# Network enable/disable
|
# Network enable/disable
|
||||||
if [ -e /mnt/usbnet ]; then
|
mount | grep -q /dev/mmcblk0p3
|
||||||
rm -f /mnt/usbnet
|
if [ $? -eq 0 ]; then
|
||||||
message="Network enable"
|
if [ -e /mnt/usbnet ]; then
|
||||||
|
rm -f /mnt/usbnet
|
||||||
|
message=" Network enable"
|
||||||
|
else
|
||||||
|
touch /mnt/usbnet
|
||||||
|
message=" Network disable"
|
||||||
|
fi
|
||||||
|
notif "${message}"
|
||||||
else
|
else
|
||||||
touch /mnt/usbnet
|
notif "${message}...^Cannot change net if mounted!"
|
||||||
message="Network disable"
|
|
||||||
fi
|
fi
|
||||||
notif "${message}"
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
4)
|
4)
|
||||||
|
|
||||||
# QR code
|
# QR code
|
||||||
qrencode -o /tmp/qrcode.png "https://tinyurl.com/y63qlwzu/$(get_sid)"
|
qrencode -o /tmp/qrcode.png "https://www.funkey-project.com/_functions/qrcode/$(get_sid)"
|
||||||
fbv -e /tmp/qrcode.png -d 1
|
fbv -e /tmp/qrcode.png -d 1
|
||||||
;;
|
;;
|
||||||
|
|
||||||
5)
|
5)
|
||||||
|
|
||||||
# Factory tests enable/disable
|
# Factory tests enable/disable
|
||||||
if [ -e /mnt/.assembly_tests ]; then
|
mount | grep -q /dev/mmcblk0p3
|
||||||
rm -f /mnt/.assembly_tests
|
if [ $? -eq 0 ]; then
|
||||||
message="Factory tests enable"
|
if [ -e /mnt/.assembly_tests ]; then
|
||||||
|
rm -f /mnt/.assembly_tests
|
||||||
|
message=" Factory tests enable"
|
||||||
|
else
|
||||||
|
touch /mnt/.assembly_tests
|
||||||
|
message=" Factory tests disable"
|
||||||
|
fi
|
||||||
|
notif "${message}"
|
||||||
else
|
else
|
||||||
touch /mnt/.assembly_tests
|
notif "${message}...^Cannot test if mounted!"
|
||||||
message="Factory tests disable"
|
|
||||||
fi
|
fi
|
||||||
notif "${message}"
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
6)
|
6)
|
||||||
notif "^^^^^^^^ RESTARTING...^^^^^^^^"
|
notif "^^^^^^^^ RESTARTING...^^^^^^^^"
|
||||||
normal_mode
|
normal_mode
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -195,13 +226,15 @@ menu_display ${entry}
|
|||||||
while true; do
|
while true; do
|
||||||
|
|
||||||
# Get key events
|
# Get key events
|
||||||
key=$(dd if=/dev/input/event0 bs=32 count=1 status=none | xxd -p -c 32 | cut -b 21-26)
|
case $(getkey) in
|
||||||
case ${key} in
|
|
||||||
160001|160002)
|
160001|160002)
|
||||||
|
|
||||||
# Key UP pressed or repeat
|
# Key UP pressed or repeat
|
||||||
let entry=${entry}-1
|
let entry=${entry}-1
|
||||||
let entry=${entry}%7
|
let entry=${entry}%7
|
||||||
|
if [ ${entry} -eq -1 ]; then
|
||||||
|
entry=6
|
||||||
|
fi
|
||||||
menu_display ${entry}
|
menu_display ${entry}
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
|||||||
3
Recovery/board/funkey/rootfs-overlay/usr/local/sbin/ro
Executable file
3
Recovery/board/funkey/rootfs-overlay/usr/local/sbin/ro
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
mount / -o remount,ro
|
||||||
3
Recovery/board/funkey/rootfs-overlay/usr/local/sbin/rw
Executable file
3
Recovery/board/funkey/rootfs-overlay/usr/local/sbin/rw
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
mount / -o remount,rw
|
||||||
Loading…
x
Reference in New Issue
Block a user