Commit ba5978d2 authored by longpanda's avatar longpanda
Browse files

1.0.66 release

parent c57717ae
......@@ -41,6 +41,11 @@ sh build.sh
sh pack.sh
cd -
cd ../Vlnk
sh build.sh
sh pack.sh
cd -
LOOP=$(losetup -f)
......@@ -118,6 +123,7 @@ rm -f $tmpdir/ENROLL_THIS_KEY_IN_MOKMANAGER.cer
cp $OPT Ventoy2Disk.sh $tmpdir/
cp $OPT VentoyWeb.sh $tmpdir/
cp $OPT VentoyPlugson.sh $tmpdir/
cp $OPT VentoyVlnk.sh $tmpdir/
cp $OPT VentoyGUI* $tmpdir/
......@@ -128,6 +134,7 @@ cp $OPT ExtendPersistentImg.sh $tmpdir/
dos2unix -q $tmpdir/Ventoy2Disk.sh
dos2unix -q $tmpdir/VentoyWeb.sh
dos2unix -q $tmpdir/VentoyPlugson.sh
dos2unix -q $tmpdir/VentoyVlnk.sh
dos2unix -q $tmpdir/CreatePersistentImg.sh
......@@ -167,6 +174,7 @@ find $tmpdir/ -type f -exec chmod 644 "{}" +
chmod +x $tmpdir/Ventoy2Disk.sh
chmod +x $tmpdir/VentoyWeb.sh
chmod +x $tmpdir/VentoyPlugson.sh
chmod +x $tmpdir/VentoyVlnk.sh
chmod +x $tmpdir/VentoyGUI*
cp $OPT $LANG_DIR/languages.json $tmpdir/tool/
......@@ -183,6 +191,7 @@ rm -f ventoy-${curver}-windows.zip
cp $OPT Ventoy2Disk.exe $tmpdir/
cp $OPT VentoyPlugson.exe $tmpdir/
cp $OPT VentoyVlnk.exe $tmpdir/
cp $OPT FOR_X64_ARM.txt $tmpdir/
mkdir -p $tmpdir/altexe
cp $OPT Ventoy2Disk_*.exe $tmpdir/altexe/
......
......@@ -2504,6 +2504,64 @@
"STR_PART_RESIZE_FAILED":"Hi ha hagut un error durant el procés d'instal·lació no destructiva, comproveu el fitxer log.txt per a més detalls.",
"STR_PART_RESIZE_UNSUPPORTED":"La instal·lació no destructiva de Ventoy no ha estat possible perquè els requeriments no es compleixen. Comproveu el fitxer log.txt per a més detalls.",
"STRXXX":""
},
{
"name":"Georgian (ქართული)",
"FontFamily":"Courier New",
"FontSize":16,
"Author":"Levan Baindurashvili",
"STR_ERROR":"შეცდომა",
"STR_WARNING":"გაფრთხილება",
"STR_INFO":"ინფორმაცია",
"STR_INCORRECT_DIR":"გთხოვთ, გაუშვით სხვა კატალოგში!",
"STR_INCORRECT_TREE_DIR":"ნუ გამიშვებ აქ, გთხოვთ გადმოწეროთ გამოშვებული ინსტალაციის პაკეტი და გაუშვათ სხვაგან.",
"STR_DEVICE":"მოწყობილობა",
"STR_LOCAL_VER":"Ventoy პაკეტში",
"STR_DISK_VER":"Ventoy მოწყობილობაზე",
"STR_STATUS":"სტატუსი - მზადაა",
"STR_INSTALL":"დაყენება",
"STR_UPDATE":"განახლება",
"STR_UPDATE_TIP":"განახლება უსაფრთხოა და ISO ფაილები უცვლელი დარჩება.#@გაგრძელება?",
"STR_INSTALL_TIP":"დისკი დაფორმატდება და ყველა მონაცემი დაიკარგება.#@გსურთ გააგრძელოთ?",
"STR_INSTALL_TIP2":"დისკი დაფორმატდება და ყველა მონაცემი დაიკარგება.#@ ნამდვილად გსურთ გაგრძელება?",
"STR_INSTALL_SUCCESS":"გილოცავთ!#@Ventoy წარმატებით დაინსტალირდა თქვენს მოწყობილობაზე.",
"STR_INSTALL_FAILED":"Ventoy-ის ინსტალაციისას მოხდა შეცდომა. ხელახლა შეაერთეთ თქვენი მოწყობილობა და სცადეთ ხელახლა. შეამოწმეთ log.txt შეცდომებისთვის.",
"STR_UPDATE_SUCCESS":"გილოცავთ!#@Ventoy წარმატებით განახლდა თქვენს მოწყობილობაზე.",
"STR_UPDATE_FAILED":"Ventoy-ის განახლებისას მოხდა შეცდომა. ხელახლა შეაერთეთ თქვენი მოწყობილობა და სცადეთ ხელახლა. შეამოწმეთ log.txt შეცდომებისთვის.",
"STR_WAIT_PROCESS":"პროცესი დაიწყო, გთხოვთ დაელოდოთ...",
"STR_MENU_OPTION":"Პარამეტრები",
"STR_MENU_SECURE_BOOT":"Secure Boot-ის მხარდაჭერა",
"STR_MENU_PART_CFG":"დამატებითი განყოფილება",
"STR_BTN_OK":"ОК",
"STR_BTN_CANCEL":"უარყოფა",
"STR_PRESERVE_SPACE":"შექმენით დამატებითი დანაყოფი დისკის ბოლოს",
"STR_SPACE_VAL_INVALID":"დანაყოფის ზომა არასწორია",
"STR_MENU_CLEAR":"Ventoy-ს წაშლა",
"STR_CLEAR_SUCCESS":"Ventoy წარმატებით წაიშალა მოწყობილობიდან.",
"STR_CLEAR_FAILED":"Ventoy-ის დეინსტალაციისას მოხდა შეცდომა. ხელახლა შეაერთეთ თქვენი მოწყობილობა და სცადეთ ხელახლა. შეამოწმეთ log.txt შეცდომებზე.",
"STR_MENU_PART_STYLE":"განყოფილების განლაგების სტილი",
"STR_DISK_2TB_MBR_ERROR":"გთხოვთ, აირჩიოთ GPT 2 ტბაიტზე მეტი დისკებისთვის",
"STR_SHOW_ALL_DEV":"ყველა მოწყობილობის ჩვენება",
"STR_PART_ALIGN_4KB":"ტიხრების გასწორება 4 KB ზომით",
"STR_WEB_COMMUNICATION_ERR":"დაკავშირების შეცდომა:",
"STR_WEB_REMOTE_ABNORMAL":"კომუნიკაციის შეცდომა: დისტანციური კავშირი არასწორია",
"STR_WEB_REQUEST_TIMEOUT":"კომუნიკაციის შეცდომა: მოთხოვნის დრო ამოიწურა",
"STR_WEB_SERVICE_UNAVAILABLE":"კომუნიკაციის შეცდომა: სერვისი მიუწვდომელია",
"STR_WEB_TOKEN_MISMATCH":"დემონის სტატუსი განახლებულია. გთხოვთ სცადოთ მოგვიანებით.",
"STR_WEB_SERVICE_BUSY":"სერვისი დაკავებულია, გთხოვთ, სცადოთ მოგვიანებით.",
"STR_MENU_VTSI_CREATE":"VTSI ფაილის შექმნა",
"STR_VTSI_CREATE_TIP":"ამჯერად Ventoy არ დაინსტალირდება მოწყობილობაზე, მაგრამ შეიქმნება მხოლოდ VTSI ფაილი#@გაგრძელება?",
"STR_VTSI_CREATE_SUCCESS":"VTSI ფაილი წარმატებით შეიქმნა!#@შეგიძლიათ გამოიყენოთ Rufus(3.15+) ჩაწეროთ მოწყობილობაზე Ventoy ინსტალაციის დასასრულებლად.",
"STR_VTSI_CREATE_FAILED":"VTSI ფაილის შექმნის შეცდომა.",
"STR_MENU_PART_RESIZE":"Non-destructive Install",
"STR_PART_RESIZE_TIP":"Ventoy will try non-destructive installation if possible. #@Continue?",
"STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
"STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STRXXX":""
}
]
......@@ -485,6 +485,7 @@ void ventoy_data_default_control(data_control *data)
{
memset(data, 0, sizeof(data_control));
data->default_menu_mode = 1;
data->filter_dot_underscore = 1;
data->max_search_level = -1;
data->menu_timeout = 0;
......
#!/bin/sh
print_usage() {
echo 'Usage: sudo sh VentoyVlnk.sh CMD FILE'
echo ' CMD:'
echo ' -c FILE create vlnk for FILE'
echo ' -l VLNK parse vlnk file'
echo ' -v print verbose info'
echo ' -h print this help'
echo ''
}
verbose_flag=0
vlog() {
if [ $verbose_flag -eq 1 ]; then
echo "$@"
fi
}
vlnk_suffix() {
echo $1 | egrep -q '.*(.vlnk.iso|.vlnk.img|.vlnk.wim|.vlnk.vhd|.vlnk.vhdx|.vlnk.efi|.vlnk.vtoy|.vlnk.dat)$'
}
uid=$(id -u)
if [ $uid -ne 0 ]; then
echo "Please use sudo or run the script as root."
exit 1
fi
#check system tools used bellow
for t in 'mountpoint' 'readlink' 'xzcat'; do
if ! which "$t" > /dev/null 2>&1; then
echo "$t command not found in current system!"
exit 1
fi
done
machine=$(uname -m)
if echo $machine | egrep -q 'aarch64|arm64'; then
TOOLDIR=aarch64
elif echo $machine | egrep -q 'x86_64|amd64'; then
TOOLDIR=x86_64
elif echo $machine | egrep -q 'mips64'; then
TOOLDIR=mips64el
elif echo $machine | egrep -q 'i[3-6]86'; then
TOOLDIR=i386
else
echo "Unsupported machine type $machine"
exit 1
fi
fullsh=$(readlink -f "$0")
vtoydir=${fullsh%/*}
if [ -f "$vtoydir/tool/$TOOLDIR/vlnk.xz" ]; then
xzcat "$vtoydir/tool/$TOOLDIR/vlnk.xz" > "$vtoydir/tool/$TOOLDIR/vlnk"
rm -f "$vtoydir/tool/$TOOLDIR/vlnk.xz"
fi
if [ -f "$vtoydir/tool/$TOOLDIR/vlnk" ]; then
chmod +x "$vtoydir/tool/$TOOLDIR/vlnk"
else
echo "$vtoydir/tool/$TOOLDIR/vlnk does not exist! "
exit 1
fi
PATH="$vtoydir/tool/$TOOLDIR":$PATH
VLNKCMD=vlnk
while [ -n "$1" ]; do
if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
print_usage
exit 0
elif [ "$1" = "-c" ]; then
shift
CMD='c'
IMG="$1"
elif [ "$1" = "-o" ]; then
shift
OUT="$1"
elif [ "$1" = "-l" ]; then
shift
CMD='l'
VLNK="$1"
elif [ "$1" = "-v" ]; then
verbose_flag=1
VLNKCMD="vlnk -v"
else
echo "invalid option $1"
exit 1
fi
shift
done
if [ "$CMD" = "c" ]; then
vlog "Create vlnk for $IMG"
if [ ! -f "$IMG" ]; then
echo "$IMG does not exist!"
exit 1
fi
if echo $IMG | egrep -q -i '.*(.iso|.img|.wim|.vhd|.vhdx|.efi|.vtoy|.dat)$'; then
:
else
echo "This file is not supported for vlnk!"
exit 1
fi
if vlnk_suffix "$IMG"; then
echo "This is already a vlnk file!"
exit 1
fi
if $VLNKCMD -t "$IMG"; then
echo "This is already a vlnk file!"
exit 1
fi
FULLIMG=$(readlink -f "$IMG")
if [ ! -f "$FULLIMG" ]; then
echo "$FULLIMG does not exist!"
exit 1
fi
vlog "Full file path is $FULLIMG"
#check img file position is a valid mountpoint
FULLDIR=${FULLIMG%/*}
while [ -n "${FULLDIR}" ]; do
if mountpoint -q "${FULLDIR}"; then
break
fi
FULLDIR="${FULLDIR%/*}"
done
if [ -z "${FULLDIR}" ]; then
FULLDIR=/
IMGPATH="${FULLIMG}"
else
IMGPATH="${FULLIMG#$FULLDIR}"
fi
IMGFILE=$(basename "$IMGPATH")
vlog "IMGPATH=$IMGPATH IMGFILE=$IMGFILE"
mntdev=$(mountpoint -d "${FULLDIR}")
vlog "mountpoint is ${FULLDIR} dev $mntdev"
#check fs
if grep -q " ${FULLDIR} " /proc/mounts; then
FS=$(grep " ${FULLDIR} " /proc/mounts | awk '{print $3}')
vlog "File system is $FS"
if echo $FS | egrep -q "ext2|ext3|ext4|exfat|vfat|fat32|fat16|fat12|ntfs|xfs|udf"; then
vlog "FS OK"
else
echo "$FS is not supported!"
exit 1
fi
else
echo "${FULLDIR} not found in /proc/mounts"
exit 1
fi
Major=$(echo $mntdev | awk -F: '{print $1}')
Minor=$(echo $mntdev | awk -F: '{print $2}')
vlog "Major=$Major Minor=$Minor"
IMGPARTITION=""
while read line; do
M1=$(echo $line | awk '{print $1}')
M2=$(echo $line | awk '{print $2}')
if [ "$Major" = "$M1" -a "$Minor" = "$M2" ]; then
IMGPARTITION=$(echo $line | awk '{print $4}')
vlog "disk partition is $IMGPARTITION"
break
fi
done < /proc/partitions
if [ -z "$IMGPARTITION" ]; then
echo "Disk partition not found for $FULLDIR"
grep " $FULLDIR " /proc/mounts
exit 1
fi
if [ -f "/sys/class/block/$IMGPARTITION/start" ]; then
PARTSTART=$(cat "/sys/class/block/$IMGPARTITION/start")
if echo $IMGPARTITION | egrep -q 'mmc|nbd|nvme'; then
DISK=$(echo /dev/$IMGPARTITION | sed "s/^\(.*\)p[0-9][0-9]*$/\1/")
else
DISK=$(echo /dev/$IMGPARTITION | sed "s/^\(.*[^0-9]\)[0-9][0-9]*$/\1/")
fi
if [ ! -b $DISK ]; then
echo "Device $DISK not exist!"
exit 1
fi
vlog "PARTSTART=$PARTSTART DISK=$DISK"
else
if echo $IMGPARTITION | grep -q '^dm-[0-9][0-9]*'; then
echo "LVM/DM is not supported!"
fi
echo "/sys/class/block/$IMGPARTITION/start not exist!"
exit 1
fi
if [ -n "$OUT" ]; then
lowersuffix=$(echo ${IMG##*.} | tr 'A-Z' 'a-z')
OUT="${OUT}.vlnk.${lowersuffix}"
else
name=${IMGFILE%.*}
lowersuffix=$(echo ${IMGFILE##*.} | tr 'A-Z' 'a-z')
OUT="${name}.vlnk.${lowersuffix}"
fi
echo "Output VLNK file is $OUT"
[ -f "${OUT}" ] && rm -f "${OUT}"
touch "${OUT}"
if [ -f "${OUT}" ]; then
rm -f "${OUT}"
else
echo "Failed to create ${OUT}"
exit 1
fi
if $VLNKCMD -c "$IMGPATH" -d $DISK -p $PARTSTART -o "${OUT}"; then
echo "====== Vlnk file create success ========="
echo ""
else
echo "====== Vlnk file create failed ========="
echo ""
exit 1
fi
elif [ "$CMD" = "l" ]; then
vlog "Parse vlnk for $VLNK"
if [ ! -f "$VLNK" ]; then
echo "$VLNK does not exist!"
exit 1
fi
if vlnk_suffix "$VLNK"; then
:
else
echo "Invalid vlnk file suffix!"
exit 1
fi
if $VLNKCMD -t "$VLNK"; then
vlog "Vlnk data check OK"
else
echo "This is not a valid vlnk file!"
exit 1
fi
$VLNKCMD -l "$VLNK"
echo ""
else
echo "invalid cmd"
print_usage
exit 1
fi
#!/bin/sh
rm -f vlnk_64
rm -f vlnk_32
rm -f vlnk_aa64
rm -f vlnk_m64e
SRCS="src/crc32.c src/main_linux.c src/vlnk.c"
gcc -specs "/usr/local/musl/lib/musl-gcc.specs" -Os -static -D_FILE_OFFSET_BITS=64 $SRCS -Isrc -o vlnk_64
/opt/diet32/bin/diet -Os gcc -D_FILE_OFFSET_BITS=64 -m32 -static $SRCS -Isrc -o vlnk_32
aarch64-buildroot-linux-uclibc-gcc -static -O2 -D_FILE_OFFSET_BITS=64 $SRCS -Isrc -o vlnk_aa64
mips64el-linux-musl-gcc -mips64r2 -mabi=64 -static -O2 -D_FILE_OFFSET_BITS=64 $SRCS -Isrc -o vlnk_m64e
if [ -e vlnk_64 ] && [ -e vlnk_32 ] && [ -e vlnk_aa64 ] && [ -e vlnk_m64e ]; then
echo -e "\n===== success =======\n"
strip --strip-all vlnk_32
strip --strip-all vlnk_64
aarch64-buildroot-linux-uclibc-strip --strip-all vlnk_aa64
mips64el-linux-musl-strip --strip-all vlnk_m64e
[ -d ../INSTALL/tool/i386/ ] && mv vlnk_32 ../INSTALL/tool/i386/vlnk
[ -d ../INSTALL/tool/x86_64/ ] && mv vlnk_64 ../INSTALL/tool/x86_64/vlnk
[ -d ../INSTALL/tool/aarch64/ ] && mv vlnk_aa64 ../INSTALL/tool/aarch64/vlnk
[ -d ../INSTALL/tool/mips64el/ ] && mv vlnk_m64e ../INSTALL/tool/mips64el/vlnk
else
echo -e "\n===== failed =======\n"
exit 1
fi
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment