mirror of https://github.com/ventoy/Ventoy.git
1.0.26 release
This commit is contained in:
parent
3ebd58c9df
commit
78ab7a0759
|
@ -52,6 +52,12 @@
|
|||
|
||||
#define VTOY_WARNING "!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!"
|
||||
|
||||
#ifdef GRUB_MACHINE_EFI
|
||||
#define VTOY_DUAL_MODE_SUFFIX "uefi"
|
||||
#else
|
||||
#define VTOY_DUAL_MODE_SUFFIX "legacy"
|
||||
#endif
|
||||
|
||||
typedef struct ventoy_initrd_ctx
|
||||
{
|
||||
const char *path_prefix;
|
||||
|
|
|
@ -1184,11 +1184,6 @@ static plugin_entry g_plugin_entries[] =
|
|||
{
|
||||
{ "control", ventoy_plugin_control_entry, ventoy_plugin_control_check },
|
||||
{ "theme", ventoy_plugin_theme_entry, ventoy_plugin_theme_check },
|
||||
#ifdef GRUB_MACHINE_EFI
|
||||
{ "theme_uefi", ventoy_plugin_theme_entry, ventoy_plugin_theme_check },
|
||||
#else
|
||||
{ "theme_legacy", ventoy_plugin_theme_entry, ventoy_plugin_theme_check },
|
||||
#endif
|
||||
{ "auto_install", ventoy_plugin_auto_install_entry, ventoy_plugin_auto_install_check },
|
||||
{ "persistence", ventoy_plugin_persistence_entry, ventoy_plugin_persistence_check },
|
||||
{ "menu_alias", ventoy_plugin_menualias_entry, ventoy_plugin_menualias_check },
|
||||
|
@ -1201,6 +1196,7 @@ static plugin_entry g_plugin_entries[] =
|
|||
static int ventoy_parse_plugin_config(VTOY_JSON *json, const char *isodisk)
|
||||
{
|
||||
int i;
|
||||
char key[128];
|
||||
VTOY_JSON *cur = json;
|
||||
|
||||
grub_snprintf(g_iso_disk_name, sizeof(g_iso_disk_name), "%s", isodisk);
|
||||
|
@ -1209,7 +1205,8 @@ static int ventoy_parse_plugin_config(VTOY_JSON *json, const char *isodisk)
|
|||
{
|
||||
for (i = 0; i < (int)ARRAY_SIZE(g_plugin_entries); i++)
|
||||
{
|
||||
if (grub_strcmp(g_plugin_entries[i].key, cur->pcName) == 0)
|
||||
grub_snprintf(key, sizeof(key), "%s_%s", g_plugin_entries[i].key, VTOY_DUAL_MODE_SUFFIX);
|
||||
if (grub_strcmp(g_plugin_entries[i].key, cur->pcName) == 0 || grub_strcmp(key, cur->pcName) == 0)
|
||||
{
|
||||
debug("Plugin entry for %s\n", g_plugin_entries[i].key);
|
||||
g_plugin_entries[i].entryfunc(cur, isodisk);
|
||||
|
@ -1240,7 +1237,7 @@ grub_err_t ventoy_cmd_load_plugin(grub_extcmd_context_t ctxt, int argc, char **a
|
|||
}
|
||||
|
||||
debug("json configuration file size %d\n", (int)file->size);
|
||||
|
||||
|
||||
buf = grub_malloc(file->size + 1);
|
||||
if (!buf)
|
||||
{
|
||||
|
@ -1263,6 +1260,9 @@ grub_err_t ventoy_cmd_load_plugin(grub_extcmd_context_t ctxt, int argc, char **a
|
|||
ret = vtoy_json_parse(json, buf);
|
||||
if (ret)
|
||||
{
|
||||
grub_env_set("VTOY_PLUGIN_SYNTAX_ERROR", "1");
|
||||
grub_env_export("VTOY_PLUGIN_SYNTAX_ERROR");
|
||||
|
||||
debug("Failed to parse json string %d\n", ret);
|
||||
grub_free(buf);
|
||||
return 1;
|
||||
|
@ -1601,6 +1601,7 @@ grub_err_t ventoy_cmd_plugin_check_json(grub_extcmd_context_t ctxt, int argc, ch
|
|||
int i = 0;
|
||||
int ret = 0;
|
||||
char *buf = NULL;
|
||||
char key[128];
|
||||
grub_file_t file;
|
||||
VTOY_JSON *node = NULL;
|
||||
VTOY_JSON *json = NULL;
|
||||
|
@ -1643,9 +1644,10 @@ grub_err_t ventoy_cmd_plugin_check_json(grub_extcmd_context_t ctxt, int argc, ch
|
|||
goto end;
|
||||
}
|
||||
|
||||
grub_snprintf(key, sizeof(key), "%s_%s", args[1], VTOY_DUAL_MODE_SUFFIX);
|
||||
for (node = json->pstChild; node; node = node->pstNext)
|
||||
{
|
||||
if (grub_strcmp(node->pcName, args[1]) == 0)
|
||||
if (grub_strcmp(node->pcName, args[1]) == 0 || grub_strcmp(node->pcName, key) == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
|
Binary file not shown.
|
@ -19,27 +19,6 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json {
|
|||
unset pager
|
||||
}
|
||||
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
menuentry 'Check legacy theme plugin configuration' --class=debug_theme_legacy {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path theme_legacy $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
else
|
||||
menuentry 'Check uefi theme plugin configuration' --class=debug_theme_uefi {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path theme_uefi $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
fi
|
||||
|
||||
|
||||
menuentry 'Check auto install plugin configuration' --class=debug_autoinstall {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path auto_install $vtoy_iso_part
|
||||
|
|
|
@ -1344,7 +1344,7 @@ function img_unsupport_menuentry {
|
|||
#############################################################
|
||||
#############################################################
|
||||
|
||||
set VENTOY_VERSION="1.0.25"
|
||||
set VENTOY_VERSION="1.0.26"
|
||||
|
||||
#ACPI not compatible with Window7/8, so disable by default
|
||||
set VTOY_PARAM_NO_ACPI=1
|
||||
|
@ -1384,7 +1384,7 @@ if [ "$vtoy_dev" = "tftp" ]; then
|
|||
loadfont ascii
|
||||
|
||||
if [ -f $vtoy_iso_part/ventoy/ventoy.json ]; then
|
||||
set vt_plugin_path=$vtoy_iso_part
|
||||
set vt_plugin_path=$vtoy_iso_part
|
||||
else
|
||||
set vt_plugin_path=$prefix
|
||||
vt_load_plugin $vt_plugin_path
|
||||
|
@ -1471,6 +1471,15 @@ else
|
|||
terminal_output gfxterm
|
||||
fi
|
||||
|
||||
|
||||
if [ -n "$VTOY_PLUGIN_SYNTAX_ERROR" ]; then
|
||||
clear
|
||||
echo -e "\n Syntax error detected in ventoy.json, please check! \n"
|
||||
echo -e " ventoy.json 文件中有语法错误,所有配置都不会生效,请检查!\n"
|
||||
echo -e "\n press ENTER to continue (请按 回车 键继续) ..."
|
||||
read vtInputKey
|
||||
fi
|
||||
|
||||
#export necessary variable
|
||||
export theme
|
||||
export gfxmode
|
||||
|
|
Binary file not shown.
|
@ -63,7 +63,11 @@ if ! [ -b "$DISK" ]; then
|
|||
fi
|
||||
|
||||
if [ -e /sys/class/block/${DISK#/dev/}/start ]; then
|
||||
vterr "$DISK is a partition, please use the whole disk"
|
||||
vterr "$DISK is a partition, please use the whole disk."
|
||||
echo "For example:"
|
||||
vterr " sudo sh Ventoy2Disk.sh -i /dev/sdX1 <=== This is wrong"
|
||||
vtinfo " sudo sh Ventoy2Disk.sh -i /dev/sdX <=== This is right"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue