diff --git a/IMG/cpio/ventoy/hook/manjaro/ventoy-disk.sh b/IMG/cpio/ventoy/hook/manjaro/ventoy-disk.sh index c1765376..e325eabf 100644 --- a/IMG/cpio/ventoy/hook/manjaro/ventoy-disk.sh +++ b/IMG/cpio/ventoy/hook/manjaro/ventoy-disk.sh @@ -59,7 +59,11 @@ else vtlog "vtLABEL is $vtLABEL from cmdline" fi - ln -s /dev/$vtDM "/dev/disk/by-label/$vtLABEL" + if [ -e "/dev/disk/by-label/$vtLABEL" ]; then + vtlog "/dev/disk/by-label/$vtLABEL already exist" + else + ln -s /dev/$vtDM "/dev/disk/by-label/$vtLABEL" + fi fi # OK finish diff --git a/IMG/mkcpio.sh b/IMG/mkcpio.sh index 5daded7f..0fc88baf 100644 --- a/IMG/mkcpio.sh +++ b/IMG/mkcpio.sh @@ -142,6 +142,12 @@ rm -rf cpio_tmp echo '======== SUCCESS =============' -rm -f $VENTOY_PATH/INSTALL/ventoy/ventoy*.cpio -cp -a ventoy*.cpio $VENTOY_PATH/INSTALL/ventoy/ +rm -f $VENTOY_PATH/INSTALL/ventoy/ventoy.cpio +rm -f $VENTOY_PATH/INSTALL/ventoy/ventoy_x86.cpio +rm -f $VENTOY_PATH/INSTALL/ventoy/ventoy_arm64.cpio +rm -f $VENTOY_PATH/INSTALL/ventoy/ventoy_mips64.cpio +cp -a ventoy.cpio $VENTOY_PATH/INSTALL/ventoy/ +cp -a ventoy_x86.cpio $VENTOY_PATH/INSTALL/ventoy/ +cp -a ventoy_arm64.cpio $VENTOY_PATH/INSTALL/ventoy/ +cp -a ventoy_mips64.cpio $VENTOY_PATH/INSTALL/ventoy/ diff --git a/INSTALL/README b/INSTALL/README index db836ce6..c90d1896 100644 --- a/INSTALL/README +++ b/INSTALL/README @@ -21,6 +21,8 @@ Please refer https://www.ventoy.net/en/doc_start.html for details. 1. sudo sh VentoyWeb.sh 2. open your browser and visit http://127.0.0.1:24680 +========== VentoyWebDeepin.sh =============== +1. sudo sh VentoyWebDeepin.sh ========== CreatePersistentImg.sh =============== diff --git a/INSTALL/Ventoy2Disk.sh b/INSTALL/Ventoy2Disk.sh index fb499a95..5b1d6f4c 100644 --- a/INSTALL/Ventoy2Disk.sh +++ b/INSTALL/Ventoy2Disk.sh @@ -16,6 +16,8 @@ if uname -m | egrep -q 'aarch64|arm64'; then export TOOLDIR=aarch64 elif uname -m | egrep -q 'x86_64|amd64'; then export TOOLDIR=x86_64 +elif uname -m | egrep -q 'mips64'; then + export TOOLDIR=mips64el else export TOOLDIR=i386 fi diff --git a/INSTALL/VentoyWeb.sh b/INSTALL/VentoyWeb.sh index 4c811e00..061120b8 100644 --- a/INSTALL/VentoyWeb.sh +++ b/INSTALL/VentoyWeb.sh @@ -27,6 +27,8 @@ if uname -m | egrep -q 'aarch64|arm64'; then TOOLDIR=aarch64 elif uname -m | egrep -q 'x86_64|amd64'; then TOOLDIR=x86_64 +elif uname -m | egrep -q 'mips64'; then + TOOLDIR=mips64el else TOOLDIR=i386 fi diff --git a/INSTALL/VentoyWebDeepin.sh b/INSTALL/VentoyWebDeepin.sh new file mode 100644 index 00000000..c17607e6 --- /dev/null +++ b/INSTALL/VentoyWebDeepin.sh @@ -0,0 +1,192 @@ +#!/bin/sh + +print_usage() { + echo 'Usage: VentoyWebDeepin.sh [ OPTION ]' + echo ' OPTION: (optional)' + echo ' -H x.x.x.x http server IP address (default is 127.0.0.1)' + echo ' -p PORT http server PORT (default is 24680)' + echo ' -h print this help' + echo '' +} + +print_err() { + echo "" + echo "$*" + echo "" +} + + +get_user() { + name=$(logname) + if [ -n "$name" -a "$name" != "root" ]; then + echo $name; return + fi + + name=${HOME#/home/} + if [ -n "$name" -a "$name" != "root" ]; then + echo $name; return + fi +} + + +uid=$(id -u) +if [ $uid -ne 0 ]; then + exec sudo sh $0 $* +fi + +OLDDIR=$(pwd) + +if uname -m | egrep -q 'aarch64|arm64'; then + TOOLDIR=aarch64 +elif uname -m | egrep -q 'x86_64|amd64'; then + TOOLDIR=x86_64 +elif uname -m | egrep -q 'mips64'; then + TOOLDIR=mips64el +else + TOOLDIR=i386 +fi + +if [ ! -f ./tool/$TOOLDIR/V2DServer ]; then + if [ -f ${0%VentoyWebDeepin.sh}/tool/$TOOLDIR/V2DServer ]; then + cd ${0%VentoyWebDeepin.sh} + fi +fi + +PATH=./tool/$TOOLDIR:$PATH + +if [ ! -f ./boot/boot.img ]; then + if [ -d ./grub ]; then + echo "Don't run VentoyWebDeepin.sh here, please download the released install package, and run the script in it." + else + echo "Please run under the correct directory!" + fi + exit 1 +fi + +HOST="127.0.0.1" +PORT=24680 + +while [ -n "$1" ]; do + if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then + print_usage + exit 0 + elif [ "$1" = "-H" ]; then + shift + if echo $1 | grep -q '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*'; then + HOST="$1" + else + print_err "Invalid host $1" + exit 1 + fi + elif [ "$1" = "-p" ]; then + shift + if [ $1 -gt 0 -a $1 -le 65535 ]; then + PORT="$1" + else + print_err "Invalid port $1" + exit 1 + fi + fi + + shift +done + + +if ps -ef | grep "V2DServer.*$HOST.*$PORT" | grep -q -v grep; then + print_err "Another ventoy server is running now, please close it first." + exit 1 +fi + +VUSER=$(get_user) + +LOGFILE=log.txt +if [ -e $LOGFILE ]; then + chown $VUSER $LOGFILE +else + su $VUSER -c "touch $LOGFILE" +fi + +#delete the log.txt if it's more than 8MB +if [ -f $LOGFILE ]; then + logsize=$(stat -c '%s' $LOGFILE) + if [ $logsize -gt 8388608 ]; then + rm -f $LOGFILE + fi +fi + + +if [ -f ./tool/$TOOLDIR/V2DServer.xz ]; then + xz -d ./tool/$TOOLDIR/V2DServer.xz + chmod +x ./tool/$TOOLDIR/V2DServer +fi + +rm -rf ./*_VTMPDIR +vtWebTmpDir=$(mktemp -d -p ./ --suffix=_VTMPDIR) +chown $VUSER $vtWebTmpDir + + +V2DServer "$HOST" "$PORT" & +V2DPid=$! +sleep 1 + +su $VUSER -c "browser --window-size=550,400 --app=\"http://${HOST}:${PORT}/index.html?chrome-app\" --user-data-dir=$vtWebTmpDir >> $LOGFILE 2>&1" & +WebPid=$! + + +vtoy_trap_exit() { + + [ -d /proc/$V2DPid ] && kill -2 $V2DPid + [ -d /proc/$WebPid ] && kill -9 $WebPid + + while [ -n "1" ]; do + curPid=$(ps -ef | grep -m1 "$vtWebTmpDir" | egrep -v '\sgrep\s' | awk '{print $2}') + if [ -z "$curPid" ]; then + break + fi + + if [ -d /proc/$curPid ]; then + kill -9 $curPid + fi + done + + [ -d $vtWebTmpDir ] && rm -rf $vtWebTmpDir + + if [ -n "$OLDDIR" ]; then + CURDIR=$(pwd) + if [ "$CURDIR" != "$OLDDIR" ]; then + cd "$OLDDIR" + fi + fi + + exit 1 +} + +trap vtoy_trap_exit HUP INT QUIT TSTP +sleep 1 + + +vtVer=$(cat ventoy/version) +echo "" +echo "==================================================" +if [ "$LANG" = "zh_CN.UTF-8" ]; then + echo " Ventoy Server $vtVer 已经启动 ..." +else + echo " Ventoy Server $vtVer is running ..." +fi +echo "==================================================" +echo "" +echo "########### Press Ctrl + C to exit ###############" +echo "" + +wait $WebPid + +[ -d /proc/$V2DPid ] && kill -2 $V2DPid + +[ -d $vtWebTmpDir ] && rm -rf $vtWebTmpDir + +if [ -n "$OLDDIR" ]; then + CURDIR=$(pwd) + if [ "$CURDIR" != "$OLDDIR" ]; then + cd "$OLDDIR" + fi +fi diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index 3513df39..85a630a1 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -1584,7 +1584,7 @@ function img_unsupport_menuentry { ############################################################# ############################################################# -set VENTOY_VERSION="1.0.36" +set VENTOY_VERSION="1.0.37" #ACPI not compatible with Window7/8, so disable by default set VTOY_PARAM_NO_ACPI=1 diff --git a/INSTALL/ventoy_pack.sh b/INSTALL/ventoy_pack.sh index 8c2655c3..8a5ad705 100644 --- a/INSTALL/ventoy_pack.sh +++ b/INSTALL/ventoy_pack.sh @@ -94,11 +94,15 @@ cp $OPT ./tool $tmpdir/ rm -f $tmpdir/ENROLL_THIS_KEY_IN_MOKMANAGER.cer cp $OPT Ventoy2Disk.sh $tmpdir/ cp $OPT VentoyWeb.sh $tmpdir/ +cp $OPT VentoyWebDeepin.sh $tmpdir/ +#cp $OPT Ventoy.desktop $tmpdir/ cp $OPT README $tmpdir/ cp $OPT plugin $tmpdir/ cp $OPT CreatePersistentImg.sh $tmpdir/ dos2unix -q $tmpdir/Ventoy2Disk.sh dos2unix -q $tmpdir/VentoyWeb.sh +dos2unix -q $tmpdir/VentoyWebDeepin.sh +#dos2unix -q $tmpdir/Ventoy.desktop dos2unix -q $tmpdir/CreatePersistentImg.sh cp $OPT ../LinuxGUI/WebUI $tmpdir/ @@ -130,6 +134,8 @@ find $tmpdir/ -type d -exec chmod 755 "{}" + find $tmpdir/ -type f -exec chmod 644 "{}" + chmod +x $tmpdir/Ventoy2Disk.sh chmod +x $tmpdir/VentoyWeb.sh +chmod +x $tmpdir/VentoyWebDeepin.sh +#chmod +x $tmpdir/Ventoy.desktop chmod +x $tmpdir/CreatePersistentImg.sh tar -czvf ventoy-${curver}-linux.tar.gz $tmpdir diff --git a/LANGUAGES/languages.ini b/LANGUAGES/languages.ini index 091bc27c..fdf6949b 100644 Binary files a/LANGUAGES/languages.ini and b/LANGUAGES/languages.ini differ diff --git a/LinuxGUI/WebUI/index.html b/LinuxGUI/WebUI/index.html index 8b166927..2ebdff29 100644 --- a/LinuxGUI/WebUI/index.html +++ b/LinuxGUI/WebUI/index.html @@ -171,7 +171,7 @@ -
+