mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-09-17 09:21:15 +00:00
Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
af69cb7f44 | ||
|
7bb13fc18a | ||
|
7fce7e0aba | ||
|
2a435084c2 | ||
|
c0c454a436 | ||
|
63924fa8bd | ||
|
3e47f5e8de | ||
|
b5eb347244 | ||
|
9225c940a6 | ||
|
a8edb99d28 |
@@ -1047,5 +1047,11 @@ int ventoy_chain_file_read(const char *path, int offset, int len, void *buf);
|
||||
#define vtoy_theme_random_boot_day 1
|
||||
#define vtoy_theme_random_boot_month 2
|
||||
|
||||
#define ventoy_env_export(env, name) \
|
||||
{\
|
||||
grub_env_set((env), (name));\
|
||||
grub_env_export(env);\
|
||||
}
|
||||
|
||||
#endif /* __VENTOY_DEF_H__ */
|
||||
|
||||
|
@@ -304,7 +304,7 @@ static int ventoy_plugin_theme_entry(VTOY_JSON *json, const char *isodisk)
|
||||
}
|
||||
|
||||
debug("vtoy_theme %s\n", filepath);
|
||||
grub_env_set("vtoy_theme", filepath);
|
||||
ventoy_env_export("vtoy_theme", filepath);
|
||||
grub_snprintf(g_theme_single_file, sizeof(g_theme_single_file), "%s", filepath);
|
||||
}
|
||||
else
|
||||
@@ -346,7 +346,7 @@ static int ventoy_plugin_theme_entry(VTOY_JSON *json, const char *isodisk)
|
||||
}
|
||||
}
|
||||
|
||||
grub_env_set("vtoy_theme", "random");
|
||||
ventoy_env_export("vtoy_theme", "random");
|
||||
value = vtoy_json_get_string_ex(json->pstChild, "random");
|
||||
if (value)
|
||||
{
|
||||
@@ -370,39 +370,39 @@ static int ventoy_plugin_theme_entry(VTOY_JSON *json, const char *isodisk)
|
||||
if (value)
|
||||
{
|
||||
debug("vtoy_gfxmode %s\n", value);
|
||||
grub_env_set("vtoy_gfxmode", value);
|
||||
ventoy_env_export("vtoy_gfxmode", value);
|
||||
}
|
||||
|
||||
value = vtoy_json_get_string_ex(json->pstChild, "display_mode");
|
||||
if (value)
|
||||
{
|
||||
debug("display_mode %s\n", value);
|
||||
grub_env_set("vtoy_display_mode", value);
|
||||
ventoy_env_export("vtoy_display_mode", value);
|
||||
}
|
||||
|
||||
value = vtoy_json_get_string_ex(json->pstChild, "serial_param");
|
||||
if (value)
|
||||
{
|
||||
debug("serial_param %s\n", value);
|
||||
grub_env_set("vtoy_serial_param", value);
|
||||
ventoy_env_export("vtoy_serial_param", value);
|
||||
}
|
||||
|
||||
value = vtoy_json_get_string_ex(json->pstChild, "ventoy_left");
|
||||
if (value)
|
||||
{
|
||||
grub_env_set("VTLE_LFT", value);
|
||||
ventoy_env_export("VTLE_LFT", value);
|
||||
}
|
||||
|
||||
value = vtoy_json_get_string_ex(json->pstChild, "ventoy_top");
|
||||
if (value)
|
||||
{
|
||||
grub_env_set("VTLE_TOP", value);
|
||||
ventoy_env_export("VTLE_TOP", value);
|
||||
}
|
||||
|
||||
value = vtoy_json_get_string_ex(json->pstChild, "ventoy_color");
|
||||
if (value)
|
||||
{
|
||||
grub_env_set("VTLE_CLR", value);
|
||||
ventoy_env_export("VTLE_CLR", value);
|
||||
}
|
||||
|
||||
node = vtoy_json_find_item(json->pstChild, JSON_TYPE_ARRAY, "fonts");
|
||||
@@ -2488,16 +2488,25 @@ const char * ventoy_plugin_get_menu_class(int type, const char *name, const char
|
||||
continue;
|
||||
}
|
||||
|
||||
if (node->parent)
|
||||
if (node->parent == 0)
|
||||
{
|
||||
if ((node->patlen < pathlen) && ventoy_plugin_is_parent(node->pattern, node->patlen, path))
|
||||
if ((node->patlen < namelen) && grub_strstr(name, node->pattern))
|
||||
{
|
||||
return node->class;
|
||||
}
|
||||
}
|
||||
else
|
||||
}
|
||||
|
||||
for (node = g_menu_class_head; node; node = node->next)
|
||||
{
|
||||
if ((node->patlen < namelen) && grub_strstr(name, node->pattern))
|
||||
if (node->type != type)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (node->parent)
|
||||
{
|
||||
if ((node->patlen < pathlen) && ventoy_plugin_is_parent(node->pattern, node->patlen, path))
|
||||
{
|
||||
return node->class;
|
||||
}
|
||||
|
@@ -36,6 +36,10 @@ done
|
||||
$BUSYBOX_PATH/umount /vtmnt && $BUSYBOX_PATH/rm -rf /vtmnt
|
||||
$BUSYBOX_PATH/cp -a /ventoy /ventoy_rdroot
|
||||
|
||||
if [ -f /etc/default/cdlinux ]; then
|
||||
echo "CDL_WAIT=60" >> /etc/default/cdlinux
|
||||
fi
|
||||
|
||||
echo 'echo "CDL_DEV=/dev/mapper/ventoy" >>"$VAR_FILE"' >> /ventoy_rdroot/etc/rc.d/rc.var
|
||||
|
||||
ventoy_set_rule_dir_prefix /ventoy_rdroot
|
||||
|
@@ -31,10 +31,11 @@ done
|
||||
|
||||
ventoy_extract_vtloopex ${vtdiskname}2 crux
|
||||
|
||||
|
||||
vtKver=$(uname -r)
|
||||
vtLoopExDir=$VTOY_PATH/vtloopex/crux/vtloopex
|
||||
$BUSYBOX_PATH/xz -d $vtLoopExDir/dm-mod/$(uname -r)/64/dax.ko.xz
|
||||
$BUSYBOX_PATH/xz -d $vtLoopExDir/dm-mod/$(uname -r)/64/dm-mod.ko.xz
|
||||
$BUSYBOX_PATH/insmod $vtLoopExDir/dm-mod/$(uname -r)/64/dax.ko
|
||||
$BUSYBOX_PATH/insmod $vtLoopExDir/dm-mod/$(uname -r)/64/dm-mod.ko
|
||||
|
||||
ventoy_check_install_module_xz $vtLoopExDir/dm-mod/$vtKver/64/dax.ko
|
||||
ventoy_check_install_module_xz $vtLoopExDir/dm-mod/$vtKver/64/dm-mod.ko
|
||||
|
||||
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2"
|
||||
|
@@ -610,3 +610,10 @@ ventoy_extract_vtloopex() {
|
||||
|
||||
cd $vtCurPwd
|
||||
}
|
||||
|
||||
ventoy_check_install_module_xz() {
|
||||
if [ -f "${1}.xz" ]; then
|
||||
$BUSYBOX_PATH/xz -d "${1}.xz"
|
||||
$BUSYBOX_PATH/insmod "$1"
|
||||
fi
|
||||
}
|
||||
|
@@ -34,9 +34,19 @@ else
|
||||
vtBit=32
|
||||
fi
|
||||
|
||||
if grep -q "device-mapper" /proc/devices; then
|
||||
vtlog "device-mapper enabled by system"
|
||||
else
|
||||
if [ -f $VTOY_PATH/vtloopex/dm-mod/$vtKerVer/$vtBit/dax.ko.xz ]; then
|
||||
xz -d $VTOY_PATH/vtloopex/dm-mod/$vtKerVer/$vtBit/dax.ko.xz
|
||||
insmod $VTOY_PATH/vtloopex/dm-mod/$vtKerVer/$vtBit/dax.ko
|
||||
fi
|
||||
|
||||
if [ -f $VTOY_PATH/vtloopex/dm-mod/$vtKerVer/$vtBit/dm-mod.ko.xz ]; then
|
||||
xz -d $VTOY_PATH/vtloopex/dm-mod/$vtKerVer/$vtBit/dm-mod.ko.xz
|
||||
insmod $VTOY_PATH/vtloopex/dm-mod/$vtKerVer/$vtBit/dm-mod.ko
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
wait_for_usb_disk_ready
|
||||
|
||||
|
BIN
IMG/vtloopex/lakka/vtloopex/dm-mod/5.10.35/64/dax.ko.xz
Normal file
BIN
IMG/vtloopex/lakka/vtloopex/dm-mod/5.10.35/64/dax.ko.xz
Normal file
Binary file not shown.
BIN
IMG/vtloopex/lakka/vtloopex/dm-mod/5.10.35/64/dm-mod.ko.xz
Normal file
BIN
IMG/vtloopex/lakka/vtloopex/dm-mod/5.10.35/64/dm-mod.ko.xz
Normal file
Binary file not shown.
@@ -1796,7 +1796,7 @@ function img_unsupport_menuentry {
|
||||
#############################################################
|
||||
#############################################################
|
||||
|
||||
set VENTOY_VERSION="1.0.45"
|
||||
set VENTOY_VERSION="1.0.46"
|
||||
|
||||
#ACPI not compatible with Window7/8, so disable by default
|
||||
set VTOY_PARAM_NO_ACPI=1
|
||||
|
Binary file not shown.
@@ -1354,6 +1354,15 @@ static int int13_load_eltorito ( unsigned int drive, struct segoff *address ) {
|
||||
DBG ( "INT13 drive %02x El Torito boot image loads at %04x:%04x\n",
|
||||
drive, address->segment, address->offset );
|
||||
|
||||
if (catalog.boot.length > 256)
|
||||
{
|
||||
if (g_debug)
|
||||
{
|
||||
printf("trim length from %d to 4\n", catalog.boot.length);
|
||||
}
|
||||
catalog.boot.length = 4;
|
||||
}
|
||||
|
||||
/* Use INT 13, 42 to read the boot image */
|
||||
eltorito_address.bufsize =
|
||||
offsetof ( typeof ( eltorito_address ), buffer_phys );
|
||||
|
@@ -473,47 +473,47 @@
|
||||
"name":"French (Français)",
|
||||
"FontFamily":"Courier New",
|
||||
"FontSize":16,
|
||||
"Author":"vboucard",
|
||||
"Author":"vboucard, Silejonu",
|
||||
|
||||
"STR_ERROR":"Erreur",
|
||||
"STR_WARNING":"Avertissement",
|
||||
"STR_INFO":"Info",
|
||||
"STR_INCORRECT_DIR":"Ce programme doit s'exécuter dans le bon répertoire !",
|
||||
"STR_INCORRECT_DIR":"Ce programme doit s'exécuter dans le bon répertoire !",
|
||||
"STR_INCORRECT_TREE_DIR":"Ne me lancez pas d'ici, veuillez télécharger le programme d'installation et relancez-le.",
|
||||
"STR_DEVICE":"Périphérique",
|
||||
"STR_LOCAL_VER":"Ventoy en local",
|
||||
"STR_DISK_VER":"Ventoy sur le périphérique",
|
||||
"STR_STATUS":"Etat - prêt",
|
||||
"STR_STATUS":"État - prêt",
|
||||
"STR_INSTALL":"Installation",
|
||||
"STR_UPDATE":"Mise à jour",
|
||||
"STR_UPDATE_TIP":"La mise à jour est sûre, les fichiers ISO ne seront pas modifiés.#@Continuer?",
|
||||
"STR_INSTALL_TIP":"Le disque va être formaté et toutes ses données seront perdues.#@Continuer?",
|
||||
"STR_INSTALL_TIP2":"Le disque va être formaté et toutes ses données seront perdues.#@Continuer? (confirmation)",
|
||||
"STR_INSTALL_SUCCESS":"Félicitations !#@Ventoy a été correctement installé sur le périphérique.",
|
||||
"STR_INSTALL_FAILED":"Une erreur est survenue durant l'installation. Vous pouvez rebrancher le périphérique USB et réessayer. Vérifiez le fichier log.txt pour plus de détails.",
|
||||
"STR_UPDATE_SUCCESS":"Félicitations !#@Ventoy a été correctement mis à jour sur le périphérique.",
|
||||
"STR_UPDATE_FAILED":"Une erreur est survenue durant la mise à jour. Vous pouvez rebrancher le périphérique USB et réessayer. Vérifiez le fichier log.txt pour plus de détails.",
|
||||
"STR_UPDATE_TIP":"La mise à jour est sûre, les fichiers ISO ne seront pas modifiés.#@Continuer ?",
|
||||
"STR_INSTALL_TIP":"Le disque va être formaté et toutes ses données seront perdues.#@Continuer ?",
|
||||
"STR_INSTALL_TIP2":"Le disque va être formaté et toutes ses données seront perdues.#@Continuer ? (Confirmation)",
|
||||
"STR_INSTALL_SUCCESS":"Félicitations !#@Ventoy a été correctement installé sur le périphérique.",
|
||||
"STR_INSTALL_FAILED":"Une erreur est survenue durant l'installation. Vous pouvez rebrancher le périphérique et réessayer. Consultez le fichier log.txt pour plus de détails.",
|
||||
"STR_UPDATE_SUCCESS":"Félicitations !#@Ventoy a été correctement mis à jour sur le périphérique.",
|
||||
"STR_UPDATE_FAILED":"Une erreur est survenue durant la mise à jour. Vous pouvez rebrancher le périphérique et réessayer. Consultez le fichier log.txt pour plus de détails.",
|
||||
"STR_WAIT_PROCESS":"Une opération est en cours, veuillez patienter...",
|
||||
"STR_MENU_OPTION":"Option",
|
||||
"STR_MENU_SECURE_BOOT":"Secure Boot",
|
||||
"STR_MENU_PART_CFG":"Configuration de partition",
|
||||
"STR_BTN_OK":"D'accord",
|
||||
"STR_MENU_PART_CFG":"Configuration des partitions",
|
||||
"STR_BTN_OK":"Valider",
|
||||
"STR_BTN_CANCEL":"Annuler",
|
||||
"STR_PRESERVE_SPACE":"Préservez de l'espace au bas du disque",
|
||||
"STR_SPACE_VAL_INVALID":"Valeur non valide pour l'espace réservé",
|
||||
"STR_PRESERVE_SPACE":"Réservez de l'espace à la fin du disque",
|
||||
"STR_SPACE_VAL_INVALID":"Valeur de l'espace réservé invalide",
|
||||
"STR_MENU_CLEAR":"Effacer Ventoy",
|
||||
"STR_CLEAR_SUCCESS":"Ventoy a été enlevé du périphérique avec succès.",
|
||||
"STR_CLEAR_FAILED":"Une erreur est survenue pendant la suppression de Ventoy. Vous pouvez rebrancher le périphérique USB. Vérifiez le fichier log.txt pour plus de détails.",
|
||||
"STR_CLEAR_SUCCESS":"Ventoy a été retiré du périphérique avec succès.",
|
||||
"STR_CLEAR_FAILED":"Une erreur est survenue pendant la suppression de Ventoy. Vous pouvez rebrancher le périphérique et réessayer. Consultez le fichier log.txt pour plus de détails.",
|
||||
"STR_MENU_PART_STYLE":"Type de partition",
|
||||
"STR_DISK_2TB_MBR_ERROR":"Sélectionnez le type GPT pour les disques de plus de 2TO",
|
||||
"STR_SHOW_ALL_DEV":"Afficher tous les appareils",
|
||||
"STR_PART_ALIGN_4KB":"Alignez les partitions avec 4 KO",
|
||||
"STR_WEB_COMMUNICATION_ERR":"Communication error:",
|
||||
"STR_WEB_REMOTE_ABNORMAL":"Communication error: remote abnormal",
|
||||
"STR_WEB_REQUEST_TIMEOUT":"Communication error: Request timed out",
|
||||
"STR_WEB_SERVICE_UNAVAILABLE":"Communication error: Service Unavailable",
|
||||
"STR_WEB_TOKEN_MISMATCH":"Daemon status updated, please retry later.",
|
||||
"STR_WEB_SERVICE_BUSY":"Service is busy, please retry later.",
|
||||
"STR_DISK_2TB_MBR_ERROR":"Sélectionnez le type GPT pour les disques de plus de 2 To",
|
||||
"STR_SHOW_ALL_DEV":"Afficher tous les périphériques",
|
||||
"STR_PART_ALIGN_4KB":"Alignez les partitions sur 4 ko",
|
||||
"STR_WEB_COMMUNICATION_ERR":"Erreur de communication :",
|
||||
"STR_WEB_REMOTE_ABNORMAL":"Erreur de communication : anomalie sur le serveur",
|
||||
"STR_WEB_REQUEST_TIMEOUT":"Erreur de communication : délai d'attente dépassé",
|
||||
"STR_WEB_SERVICE_UNAVAILABLE":"Erreur de communication : service inaccessible",
|
||||
"STR_WEB_TOKEN_MISMATCH":"Statut du démon mis à jour, veuillez réessayer plus tard.",
|
||||
"STR_WEB_SERVICE_BUSY":"Service surchargé, veuillez réessayer plus tard.",
|
||||
"STRXXX":""
|
||||
},
|
||||
{
|
||||
@@ -1371,21 +1371,21 @@
|
||||
"STR_ERROR":"Грешка",
|
||||
"STR_WARNING":"Предупредување",
|
||||
"STR_INFO":"Инфо",
|
||||
"STR_INCORRECT_DIR":"Ве молам покренете ме коректниот фолдер!",
|
||||
"STR_INCORRECT_DIR":"Ве молам покренете ме коректната папка!",
|
||||
"STR_INCORRECT_TREE_DIR":"Не покренувајте ме овде, ве молам превземете ја последната верзија и покренете ме таму.",
|
||||
"STR_DEVICE":"Уред",
|
||||
"STR_LOCAL_VER":"Ventoy Во Пакетот",
|
||||
"STR_DISK_VER":"Ventoy Во Уредот",
|
||||
"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_TIP":"УСБ уредот ќе биде форматиран и сите податоци ќе бидат уништени.#@Продолжи?",
|
||||
"STR_INSTALL_TIP2":"УСБ уредот ќе биде форматиран и сите податоци ќе бидат уништени.#@Продолжи? (Двојна проверка)",
|
||||
"STR_INSTALL_SUCCESS":"Честитки!#@Ventoy е успешно инсталиран на уредот.",
|
||||
"STR_INSTALL_FAILED":"Се појави грешка при инсталацијата. Отстранете го УСБ драјвот и пробајте повторно. Проверете го log.txt за детали.",
|
||||
"STR_INSTALL_FAILED":"Се појави грешка при инсталацијата. Отстранете го УСБ уредот и пробајте повторно. Проверете го log.txt за детали.",
|
||||
"STR_UPDATE_SUCCESS":"Честитки!#@Ventoy е успешно ажуриран на уредот.",
|
||||
"STR_UPDATE_FAILED":"Се појави грешка при ажурирањето. Отстранете го УСБ драјвот и пробајте повторно. Проверете го log.txt за детали.",
|
||||
"STR_UPDATE_FAILED":"Се појави грешка при ажурирањето. Отстранете го УСБ уредот и пробајте повторно. Проверете го log.txt за детали.",
|
||||
"STR_WAIT_PROCESS":"Процесот е вклучен, ве молиме почекајте...",
|
||||
"STR_MENU_OPTION":"Опции",
|
||||
"STR_MENU_SECURE_BOOT":"Secure Boot Поддршка",
|
||||
@@ -1396,17 +1396,17 @@
|
||||
"STR_SPACE_VAL_INVALID":"Невалидна вредност за резервираното место",
|
||||
"STR_MENU_CLEAR":"Отстрани го Ventoy",
|
||||
"STR_CLEAR_SUCCESS":"Ventoy е успешно отстранет од уредот.",
|
||||
"STR_CLEAR_FAILED":"Се појави грешка при отстранувањето на Ventoy од уредот. Отстранете го УСБ драјвот и пробајте повторно. Проверете го log.txt за детали.",
|
||||
"STR_CLEAR_FAILED":"Се појави грешка при отстранувањето на Ventoy од уредот. Отстранете го УСБ уредот и пробајте повторно. Проверете го log.txt за детали.",
|
||||
"STR_MENU_PART_STYLE":"Тип на партиција",
|
||||
"STR_DISK_2TB_MBR_ERROR":"Ве молиме изберете GPT за дискови поголеми од 2TB",
|
||||
"STR_SHOW_ALL_DEV":"Show All Devices",
|
||||
"STR_PART_ALIGN_4KB":"Align partitions with 4KB",
|
||||
"STR_WEB_COMMUNICATION_ERR":"Communication error:",
|
||||
"STR_WEB_REMOTE_ABNORMAL":"Communication error: remote abnormal",
|
||||
"STR_WEB_REQUEST_TIMEOUT":"Communication error: Request timed out",
|
||||
"STR_WEB_SERVICE_UNAVAILABLE":"Communication error: Service Unavailable",
|
||||
"STR_WEB_TOKEN_MISMATCH":"Daemon status updated, please retry later.",
|
||||
"STR_WEB_SERVICE_BUSY":"Service is busy, please retry later.",
|
||||
"STR_DISK_2TB_MBR_ERROR":"Ве молиме изберете GPT за уредот поголеми од 2TB",
|
||||
"STR_SHOW_ALL_DEV":"Прикажи ги сите уреди",
|
||||
"STR_PART_ALIGN_4KB":"Порамнете ги партициите со 4KB",
|
||||
"STR_WEB_COMMUNICATION_ERR":"Комуникациска грешка:",
|
||||
"STR_WEB_REMOTE_ABNORMAL":"Комуникациска грешка: Абнормално далечинско управување",
|
||||
"STR_WEB_REQUEST_TIMEOUT":"Комуникациска грешка: Барањето е истечено",
|
||||
"STR_WEB_SERVICE_UNAVAILABLE":"Комуникациска грешка: Недостапен сервис",
|
||||
"STR_WEB_TOKEN_MISMATCH":"Ажуриран статус на даемонот, молиме обидете се подоцна.",
|
||||
"STR_WEB_SERVICE_BUSY":"Сервисот е зафатен, молиме обидете се подоцна.",
|
||||
"STRXXX":""
|
||||
},
|
||||
{
|
||||
|
Reference in New Issue
Block a user