Merge branch 'Recovery' of github.com:FunKey-Project/FunKey-OS into Recovery

This commit is contained in:
Vincent-FK 2020-11-01 17:06:50 +01:00
commit ac5656f970
4 changed files with 80 additions and 37 deletions

View File

@ -10,5 +10,9 @@ rm -f ${TARGET_DIR}/etc/init.d/S01syslogd ${TARGET_DIR}/etc/init.d/S02klogd
# Change dropbear init sequence
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
${HOST_DIR}/bin/mkenvimage -p 0x0 -s 0x20000 -o ${BINARIES_DIR}/u-boot-env.img ${TARGET_DIR}/etc/u-boot.env

View File

@ -2,6 +2,12 @@
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
menu_display () {
local entry=${1}
@ -13,54 +19,54 @@ menu_display () {
# USB mount/unmount
mount | grep -q /dev/mmcblk0p3
if [ $? -eq 0 ]; then
message="USB mount"
message=" USB mount"
else
message="USB unmount"
message=" USB unmount"
fi
;;
1)
# USB check
message="USB check"
message=" USB check"
;;
2)
# USB format
message="USB format"
message=" USB format"
;;
3)
# Network enable/disable
if [ -e /mnt/usbnet ]; then
message="Network disable"
message=" Network disable"
else
message="Network enable"
message=" Network enable"
fi
;;
4)
# QR code
message="QR code"
message=" QR code"
;;
5)
# Factory tests enable/disable
if [ -e /mnt/.assembly_tests ]; then
message="Factory tests disable"
message=" Factory tests disable"
else
message="Factory tests enable"
message=" Factory tests enable"
fi
;;
6)
# Exit Recovery
message="Exit Recovery"
message=" Exit Recovery"
;;
esac
notif "${message}"
@ -81,7 +87,7 @@ menu_run () {
if [ $? -ne 0 ]; then
notif "${message}...^Cannot mount USB!"
else
message="USB unmount"
message=" USB unmount"
notif "${message}"
fi
else
@ -97,7 +103,7 @@ menu_run () {
break
fi
done
message="USB mount"
message=" USB mount"
notif "${message}"
fi
fi
@ -133,15 +139,30 @@ menu_run () {
# USB format
mount | grep -q /dev/mmcblk0p3
if [ $? -eq 0 ]; then
notif "${message}..."
umount /mnt &&
mkfs.vfat /dev/mmcblk0p3 &&
mount /mnt
if [ $? -ne 0 ]; then
notif "${message}...^Cannot format USB!"
else
notif "${message} done"
fi
notif "${message}...^Press A to confirm"
while true; do
case $(getkey) in
1e0001|1e0002)
umount /mnt &&
mkfs.vfat /dev/mmcblk0p3 &&
mount /mnt
if [ $? -ne 0 ]; then
notif "${message}...^Cannot format USB!"
else
notif "${message} done"
fi
break
;;
1e0000)
;;
*)
notif "${message}...^Aborted!"
break
;;
esac
done
else
notif "${message}...^Cannot format USB when mounted!"
fi
@ -150,38 +171,48 @@ menu_run () {
3)
# Network enable/disable
if [ -e /mnt/usbnet ]; then
rm -f /mnt/usbnet
message="Network enable"
mount | grep -q /dev/mmcblk0p3
if [ $? -eq 0 ]; then
if [ -e /mnt/usbnet ]; then
rm -f /mnt/usbnet
message=" Network enable"
else
touch /mnt/usbnet
message=" Network disable"
fi
notif "${message}"
else
touch /mnt/usbnet
message="Network disable"
notif "${message}...^Cannot change net if mounted!"
fi
notif "${message}"
;;
4)
# 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
;;
5)
# Factory tests enable/disable
if [ -e /mnt/.assembly_tests ]; then
rm -f /mnt/.assembly_tests
message="Factory tests enable"
mount | grep -q /dev/mmcblk0p3
if [ $? -eq 0 ]; then
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
touch /mnt/.assembly_tests
message="Factory tests disable"
notif "${message}...^Cannot test if mounted!"
fi
notif "${message}"
;;
6)
notif "^^^^^^^^ RESTARTING...^^^^^^^^"
notif "^^^^^^^^ RESTARTING...^^^^^^^^"
normal_mode
;;
esac
@ -195,13 +226,15 @@ menu_display ${entry}
while true; do
# Get key events
key=$(dd if=/dev/input/event0 bs=32 count=1 status=none | xxd -p -c 32 | cut -b 21-26)
case ${key} in
case $(getkey) in
160001|160002)
# Key UP pressed or repeat
let entry=${entry}-1
let entry=${entry}%7
if [ ${entry} -eq -1 ]; then
entry=6
fi
menu_display ${entry}
;;

View File

@ -0,0 +1,3 @@
#!/bin/sh
mount / -o remount,ro

View File

@ -0,0 +1,3 @@
#!/bin/sh
mount / -o remount,rw