Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
dadigang
Ventoy
Commits
b1d52370
Commit
b1d52370
authored
Feb 03, 2021
by
longpanda
Browse files
1.0.34 release
parent
a37c6af8
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
339 additions
and
6 deletions
+339
-6
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c
+69
-2
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h
+16
-0
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c
+210
-0
GRUB2/MOD_SRC/grub-2.04/install.sh
GRUB2/MOD_SRC/grub-2.04/install.sh
+2
-2
INSTALL/grub/grub.cfg
INSTALL/grub/grub.cfg
+42
-2
No files found.
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c
View file @
b1d52370
...
@@ -1160,7 +1160,7 @@ static int ventoy_check_ignore_flag(const char *filename, const struct grub_dirh
...
@@ -1160,7 +1160,7 @@ static int ventoy_check_ignore_flag(const char *filename, const struct grub_dirh
return
0
;
return
0
;
}
}
static
int
ventoy_colect_img_files
(
const
char
*
filename
,
const
struct
grub_dirhook_info
*
info
,
void
*
data
)
static
int
ventoy_col
l
ect_img_files
(
const
char
*
filename
,
const
struct
grub_dirhook_info
*
info
,
void
*
data
)
{
{
//int i = 0;
//int i = 0;
int
type
=
0
;
int
type
=
0
;
...
@@ -1281,6 +1281,15 @@ static int ventoy_colect_img_files(const char *filename, const struct grub_dirho
...
@@ -1281,6 +1281,15 @@ static int ventoy_colect_img_files(const char *filename, const struct grub_dirho
{
{
type
=
img_type_vtoy
;
type
=
img_type_vtoy
;
}
}
else
if
(
len
>=
9
&&
0
==
grub_strcasecmp
(
filename
+
len
-
5
,
".vcfg"
))
{
if
(
filename
[
len
-
9
]
==
'.'
||
(
len
>=
10
&&
filename
[
len
-
10
]
==
'.'
))
{
grub_snprintf
(
g_img_swap_tmp_buf
,
sizeof
(
g_img_swap_tmp_buf
),
"%s%s"
,
node
->
dir
,
filename
);
ventoy_plugin_add_custom_boot
(
g_img_swap_tmp_buf
);
}
return
0
;
}
else
else
{
{
return
0
;
return
0
;
...
@@ -2027,7 +2036,7 @@ static grub_err_t ventoy_cmd_list_img(grub_extcmd_context_t ctxt, int argc, char
...
@@ -2027,7 +2036,7 @@ static grub_err_t ventoy_cmd_list_img(grub_extcmd_context_t ctxt, int argc, char
for
(
node
=
&
g_img_iterator_head
;
node
;
node
=
node
->
next
)
for
(
node
=
&
g_img_iterator_head
;
node
;
node
=
node
->
next
)
{
{
fs
->
fs_dir
(
dev
,
node
->
dir
,
ventoy_colect_img_files
,
node
);
fs
->
fs_dir
(
dev
,
node
->
dir
,
ventoy_col
l
ect_img_files
,
node
);
}
}
strdata
=
ventoy_get_env
(
"VTOY_TREE_VIEW_MENU_STYLE"
);
strdata
=
ventoy_get_env
(
"VTOY_TREE_VIEW_MENU_STYLE"
);
...
@@ -3637,6 +3646,31 @@ static grub_err_t ventoy_cmd_load_part_table(grub_extcmd_context_t ctxt, int arg
...
@@ -3637,6 +3646,31 @@ static grub_err_t ventoy_cmd_load_part_table(grub_extcmd_context_t ctxt, int arg
return
0
;
return
0
;
}
}
static
grub_err_t
ventoy_cmd_check_custom_boot
(
grub_extcmd_context_t
ctxt
,
int
argc
,
char
**
args
)
{
int
ret
=
1
;
const
char
*
vcfg
=
NULL
;
(
void
)
argc
;
(
void
)
ctxt
;
vcfg
=
ventoy_plugin_get_custom_boot
(
args
[
0
]);
if
(
vcfg
)
{
debug
(
"custom boot <%s>:<%s>
\n
"
,
args
[
0
],
vcfg
);
grub_env_set
(
args
[
1
],
vcfg
);
ret
=
0
;
}
else
{
debug
(
"custom boot <%s>:<NOT FOUND>
\n
"
,
args
[
0
]);
}
grub_errno
=
0
;
return
ret
;
}
static
grub_err_t
ventoy_cmd_part_exist
(
grub_extcmd_context_t
ctxt
,
int
argc
,
char
**
args
)
static
grub_err_t
ventoy_cmd_part_exist
(
grub_extcmd_context_t
ctxt
,
int
argc
,
char
**
args
)
{
{
int
id
;
int
id
;
...
@@ -3829,6 +3863,36 @@ static grub_err_t ventoy_cmd_basename(grub_extcmd_context_t ctxt, int argc, char
...
@@ -3829,6 +3863,36 @@ static grub_err_t ventoy_cmd_basename(grub_extcmd_context_t ctxt, int argc, char
return
0
;
return
0
;
}
}
static
grub_err_t
ventoy_cmd_basefile
(
grub_extcmd_context_t
ctxt
,
int
argc
,
char
**
args
)
{
int
i
;
int
len
;
const
char
*
buf
;
(
void
)
ctxt
;
if
(
argc
!=
2
)
{
debug
(
"ventoy_cmd_basefile, invalid param num %d
\n
"
,
argc
);
return
1
;
}
buf
=
args
[
0
];
len
=
(
int
)
grub_strlen
(
buf
);
for
(
i
=
len
;
i
>
0
;
i
--
)
{
if
(
buf
[
i
-
1
]
==
'/'
)
{
grub_env_set
(
args
[
1
],
buf
+
i
);
return
0
;
}
}
grub_env_set
(
args
[
1
],
buf
);
return
0
;
}
static
grub_err_t
ventoy_cmd_enum_video_mode
(
grub_extcmd_context_t
ctxt
,
int
argc
,
char
**
args
)
static
grub_err_t
ventoy_cmd_enum_video_mode
(
grub_extcmd_context_t
ctxt
,
int
argc
,
char
**
args
)
{
{
struct
grub_video_mode_info
info
;
struct
grub_video_mode_info
info
;
...
@@ -4096,6 +4160,8 @@ static cmd_para ventoy_cmds[] =
...
@@ -4096,6 +4160,8 @@ static cmd_para ventoy_cmds[] =
{
"vt_patch_vhdboot"
,
ventoy_cmd_patch_vhdboot
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_patch_vhdboot"
,
ventoy_cmd_patch_vhdboot
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_raw_chain_data"
,
ventoy_cmd_raw_chain_data
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_raw_chain_data"
,
ventoy_cmd_raw_chain_data
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_get_vtoy_type"
,
ventoy_cmd_get_vtoy_type
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_get_vtoy_type"
,
ventoy_cmd_get_vtoy_type
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_check_custom_boot"
,
ventoy_cmd_check_custom_boot
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_dump_custom_boot"
,
ventoy_cmd_dump_custom_boot
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_skip_svd"
,
ventoy_cmd_skip_svd
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_skip_svd"
,
ventoy_cmd_skip_svd
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_cpio_busybox64"
,
ventoy_cmd_cpio_busybox_64
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_cpio_busybox64"
,
ventoy_cmd_cpio_busybox_64
,
0
,
NULL
,
""
,
""
,
NULL
},
...
@@ -4110,6 +4176,7 @@ static cmd_para ventoy_cmds[] =
...
@@ -4110,6 +4176,7 @@ static cmd_para ventoy_cmds[] =
{
"vt_get_fs_label"
,
ventoy_cmd_get_fs_label
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_get_fs_label"
,
ventoy_cmd_get_fs_label
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_fs_enum_1st_file"
,
ventoy_cmd_fs_enum_1st_file
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_fs_enum_1st_file"
,
ventoy_cmd_fs_enum_1st_file
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_file_basename"
,
ventoy_cmd_basename
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_file_basename"
,
ventoy_cmd_basename
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_file_basefile"
,
ventoy_cmd_basefile
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_enum_video_mode"
,
ventoy_cmd_enum_video_mode
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_enum_video_mode"
,
ventoy_cmd_enum_video_mode
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_get_video_mode"
,
ventoy_cmd_get_video_mode
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_get_video_mode"
,
ventoy_cmd_get_video_mode
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_update_cur_video_mode"
,
vt_cmd_update_cur_video_mode
,
0
,
NULL
,
""
,
""
,
NULL
},
{
"vt_update_cur_video_mode"
,
vt_cmd_update_cur_video_mode
,
0
,
NULL
,
""
,
""
,
NULL
},
...
...
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h
View file @
b1d52370
...
@@ -801,6 +801,19 @@ typedef struct menu_class
...
@@ -801,6 +801,19 @@ typedef struct menu_class
struct
menu_class
*
next
;
struct
menu_class
*
next
;
}
menu_class
;
}
menu_class
;
#define vtoy_custom_boot_image_file 0
#define vtoy_custom_boot_directory 1
typedef
struct
custom_boot
{
int
type
;
int
pathlen
;
char
path
[
256
];
char
cfg
[
256
];
struct
custom_boot
*
next
;
}
custom_boot
;
#define vtoy_max_replace_file_size (2 * 1024 * 1024)
#define vtoy_max_replace_file_size (2 * 1024 * 1024)
typedef
struct
conf_replace
typedef
struct
conf_replace
{
{
...
@@ -945,6 +958,9 @@ grub_err_t ventoy_cmd_get_vtoy_type(grub_extcmd_context_t ctxt, int argc, char *
...
@@ -945,6 +958,9 @@ grub_err_t ventoy_cmd_get_vtoy_type(grub_extcmd_context_t ctxt, int argc, char *
int
ventoy_check_password
(
const
vtoy_password
*
pwd
,
int
retry
);
int
ventoy_check_password
(
const
vtoy_password
*
pwd
,
int
retry
);
int
ventoy_gzip_compress
(
void
*
mem_in
,
int
mem_in_len
,
void
*
mem_out
,
int
mem_out_len
);
int
ventoy_gzip_compress
(
void
*
mem_in
,
int
mem_in_len
,
void
*
mem_out
,
int
mem_out_len
);
grub_uint64_t
ventoy_get_part1_size
(
ventoy_gpt_info
*
gpt
);
grub_uint64_t
ventoy_get_part1_size
(
ventoy_gpt_info
*
gpt
);
int
ventoy_plugin_add_custom_boot
(
const
char
*
vcfgpath
);
const
char
*
ventoy_plugin_get_custom_boot
(
const
char
*
isopath
);
grub_err_t
ventoy_cmd_dump_custom_boot
(
grub_extcmd_context_t
ctxt
,
int
argc
,
char
**
args
);
#endif
/* __VENTOY_DEF_H__ */
#endif
/* __VENTOY_DEF_H__ */
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c
View file @
b1d52370
...
@@ -49,6 +49,7 @@ static menu_password *g_pwd_head = NULL;
...
@@ -49,6 +49,7 @@ static menu_password *g_pwd_head = NULL;
static
persistence_config
*
g_persistence_head
=
NULL
;
static
persistence_config
*
g_persistence_head
=
NULL
;
static
menu_alias
*
g_menu_alias_head
=
NULL
;
static
menu_alias
*
g_menu_alias_head
=
NULL
;
static
menu_class
*
g_menu_class_head
=
NULL
;
static
menu_class
*
g_menu_class_head
=
NULL
;
static
custom_boot
*
g_custom_boot_head
=
NULL
;
static
injection_config
*
g_injection_head
=
NULL
;
static
injection_config
*
g_injection_head
=
NULL
;
static
auto_memdisk
*
g_auto_memdisk_head
=
NULL
;
static
auto_memdisk
*
g_auto_memdisk_head
=
NULL
;
static
image_list
*
g_image_list_head
=
NULL
;
static
image_list
*
g_image_list_head
=
NULL
;
...
@@ -1382,6 +1383,124 @@ static int ventoy_plugin_menuclass_check(VTOY_JSON *json, const char *isodisk)
...
@@ -1382,6 +1383,124 @@ static int ventoy_plugin_menuclass_check(VTOY_JSON *json, const char *isodisk)
return
0
;
return
0
;
}
}
static
int
ventoy_plugin_custom_boot_entry
(
VTOY_JSON
*
json
,
const
char
*
isodisk
)
{
int
type
;
int
len
;
const
char
*
key
=
NULL
;
const
char
*
cfg
=
NULL
;
VTOY_JSON
*
pNode
=
NULL
;
custom_boot
*
tail
=
NULL
;
custom_boot
*
node
=
NULL
;
custom_boot
*
next
=
NULL
;
(
void
)
isodisk
;
if
(
json
->
enDataType
!=
JSON_TYPE_ARRAY
)
{
debug
(
"Not array %d
\n
"
,
json
->
enDataType
);
return
0
;
}
if
(
g_custom_boot_head
)
{
for
(
node
=
g_custom_boot_head
;
node
;
node
=
next
)
{
next
=
node
->
next
;
grub_free
(
node
);
}
g_custom_boot_head
=
NULL
;
}
for
(
pNode
=
json
->
pstChild
;
pNode
;
pNode
=
pNode
->
pstNext
)
{
type
=
vtoy_custom_boot_image_file
;
key
=
vtoy_json_get_string_ex
(
pNode
->
pstChild
,
"file"
);
if
(
!
key
)
{
key
=
vtoy_json_get_string_ex
(
pNode
->
pstChild
,
"dir"
);
type
=
vtoy_custom_boot_directory
;
}
cfg
=
vtoy_json_get_string_ex
(
pNode
->
pstChild
,
"vcfg"
);
if
(
key
&&
cfg
)
{
node
=
grub_zalloc
(
sizeof
(
custom_boot
));
if
(
node
)
{
node
->
type
=
type
;
node
->
pathlen
=
grub_snprintf
(
node
->
path
,
sizeof
(
node
->
path
),
"%s"
,
key
);
len
=
(
int
)
grub_snprintf
(
node
->
cfg
,
sizeof
(
node
->
cfg
),
"%s"
,
cfg
);
if
(
len
>=
5
&&
grub_strncmp
(
node
->
cfg
+
len
-
5
,
".vcfg"
,
5
)
==
0
)
{
if
(
g_custom_boot_head
)
{
tail
->
next
=
node
;
}
else
{
g_custom_boot_head
=
node
;
}
tail
=
node
;
}
else
{
grub_free
(
node
);
}
}
}
}
return
0
;
}
static
int
ventoy_plugin_custom_boot_check
(
VTOY_JSON
*
json
,
const
char
*
isodisk
)
{
int
type
;
int
len
;
const
char
*
key
=
NULL
;
const
char
*
cfg
=
NULL
;
VTOY_JSON
*
pNode
=
NULL
;
(
void
)
isodisk
;
if
(
json
->
enDataType
!=
JSON_TYPE_ARRAY
)
{
grub_printf
(
"Not array %d
\n
"
,
json
->
enDataType
);
return
1
;
}
for
(
pNode
=
json
->
pstChild
;
pNode
;
pNode
=
pNode
->
pstNext
)
{
type
=
vtoy_custom_boot_image_file
;
key
=
vtoy_json_get_string_ex
(
pNode
->
pstChild
,
"file"
);
if
(
!
key
)
{
key
=
vtoy_json_get_string_ex
(
pNode
->
pstChild
,
"dir"
);
type
=
vtoy_custom_boot_directory
;
}
cfg
=
vtoy_json_get_string_ex
(
pNode
->
pstChild
,
"vcfg"
);
len
=
(
int
)
grub_strlen
(
cfg
);
if
(
key
&&
cfg
)
{
if
(
len
<
5
||
grub_strncmp
(
cfg
+
len
-
5
,
".vcfg"
,
5
))
{
grub_printf
(
"<%s> does not have
\"
.vcfg
\"
suffix
\n\n
"
,
cfg
);
}
else
{
grub_printf
(
"%s: <%s>
\n
"
,
(
type
==
vtoy_custom_boot_directory
)
?
"dir"
:
"file"
,
key
);
grub_printf
(
"vcfg: <%s>
\n\n
"
,
cfg
);
}
}
}
return
0
;
}
static
int
ventoy_plugin_conf_replace_entry
(
VTOY_JSON
*
json
,
const
char
*
isodisk
)
static
int
ventoy_plugin_conf_replace_entry
(
VTOY_JSON
*
json
,
const
char
*
isodisk
)
{
{
const
char
*
isof
=
NULL
;
const
char
*
isof
=
NULL
;
...
@@ -1704,6 +1823,7 @@ static plugin_entry g_plugin_entries[] =
...
@@ -1704,6 +1823,7 @@ static plugin_entry g_plugin_entries[] =
{
"conf_replace"
,
ventoy_plugin_conf_replace_entry
,
ventoy_plugin_conf_replace_check
},
{
"conf_replace"
,
ventoy_plugin_conf_replace_entry
,
ventoy_plugin_conf_replace_check
},
{
"dud"
,
ventoy_plugin_dud_entry
,
ventoy_plugin_dud_check
},
{
"dud"
,
ventoy_plugin_dud_entry
,
ventoy_plugin_dud_check
},
{
"password"
,
ventoy_plugin_pwd_entry
,
ventoy_plugin_pwd_check
},
{
"password"
,
ventoy_plugin_pwd_entry
,
ventoy_plugin_pwd_check
},
{
"custom_boot"
,
ventoy_plugin_custom_boot_entry
,
ventoy_plugin_custom_boot_check
},
};
};
static
int
ventoy_parse_plugin_config
(
VTOY_JSON
*
json
,
const
char
*
isodisk
)
static
int
ventoy_parse_plugin_config
(
VTOY_JSON
*
json
,
const
char
*
isodisk
)
...
@@ -2065,6 +2185,96 @@ const char * ventoy_plugin_get_menu_class(int type, const char *name)
...
@@ -2065,6 +2185,96 @@ const char * ventoy_plugin_get_menu_class(int type, const char *name)
return
NULL
;
return
NULL
;
}
}
int
ventoy_plugin_add_custom_boot
(
const
char
*
vcfgpath
)
{
int
len
;
custom_boot
*
node
=
NULL
;
node
=
grub_zalloc
(
sizeof
(
custom_boot
));
if
(
node
)
{
node
->
type
=
vtoy_custom_boot_image_file
;
node
->
pathlen
=
grub_snprintf
(
node
->
path
,
sizeof
(
node
->
path
),
"%s"
,
vcfgpath
);
grub_snprintf
(
node
->
cfg
,
sizeof
(
node
->
cfg
),
"%s"
,
vcfgpath
);
/* .vcfg */
len
=
node
->
pathlen
-
5
;
node
->
path
[
len
]
=
0
;
node
->
pathlen
=
len
;
if
(
g_custom_boot_head
)
{
node
->
next
=
g_custom_boot_head
;
}
g_custom_boot_head
=
node
;
}
return
0
;
}
const
char
*
ventoy_plugin_get_custom_boot
(
const
char
*
isopath
)
{
int
i
;
int
len
;
custom_boot
*
node
=
NULL
;
if
(
!
g_custom_boot_head
)
{
return
NULL
;
}
len
=
(
int
)
grub_strlen
(
isopath
);
for
(
node
=
g_custom_boot_head
;
node
;
node
=
node
->
next
)
{
if
(
node
->
type
==
vtoy_custom_boot_image_file
)
{
if
(
node
->
pathlen
==
len
&&
grub_strncmp
(
isopath
,
node
->
path
,
len
)
==
0
)
{
return
node
->
cfg
;
}
}
else
{
if
(
node
->
pathlen
<
len
&&
isopath
[
node
->
pathlen
]
==
'/'
&&
grub_strncmp
(
isopath
,
node
->
path
,
node
->
pathlen
)
==
0
)
{
for
(
i
=
node
->
pathlen
+
1
;
i
<
len
;
i
++
)
{
if
(
isopath
[
i
]
==
'/'
)
{
break
;
}
}
if
(
i
>=
len
)
{
return
node
->
cfg
;
}
}
}
}
return
NULL
;
}
grub_err_t
ventoy_cmd_dump_custom_boot
(
grub_extcmd_context_t
ctxt
,
int
argc
,
char
**
args
)
{
custom_boot
*
node
=
NULL
;
(
void
)
argc
;
(
void
)
ctxt
;
(
void
)
args
;
for
(
node
=
g_custom_boot_head
;
node
;
node
=
node
->
next
)
{
grub_printf
(
"[%s] <%s>:<%s>
\n
"
,
(
node
->
type
==
vtoy_custom_boot_directory
)
?
"dir"
:
"file"
,
node
->
path
,
node
->
cfg
);
}
return
0
;
}
int
ventoy_plugin_check_memdisk
(
const
char
*
isopath
)
int
ventoy_plugin_check_memdisk
(
const
char
*
isopath
)
{
{
int
len
;
int
len
;
...
...
GRUB2/MOD_SRC/grub-2.04/install.sh
View file @
b1d52370
...
@@ -15,9 +15,9 @@ net_modules_legacy="net tftp http"
...
@@ -15,9 +15,9 @@ net_modules_legacy="net tftp http"
all_modules_legacy
=
"setkey date drivemap blocklist regexp newc vga_text ntldr search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio lspci pci ext2 xfs ventoy chain read halt iso9660 linux16 test true sleep reboot echo videotest videoinfo videotest_checksum video_colors video_cirrus video_bochs vga vbe video_fb font video gettext extcmd terminal linux minicmd help configfile tr trig boot biosdisk disk ls tar squash4 password_pbkdf2 all_video png jpeg part_gpt part_msdos fat exfat ntfs loopback gzio normal udf gfxmenu gfxterm gfxterm_background gfxterm_menu"
all_modules_legacy
=
"setkey date drivemap blocklist regexp newc vga_text ntldr search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio lspci pci ext2 xfs ventoy chain read halt iso9660 linux16 test true sleep reboot echo videotest videoinfo videotest_checksum video_colors video_cirrus video_bochs vga vbe video_fb font video gettext extcmd terminal linux minicmd help configfile tr trig boot biosdisk disk ls tar squash4 password_pbkdf2 all_video png jpeg part_gpt part_msdos fat exfat ntfs loopback gzio normal udf gfxmenu gfxterm gfxterm_background gfxterm_menu"
net_modules_uefi
=
"efinet net tftp http"
net_modules_uefi
=
"efinet net tftp http"
all_modules_uefi
=
"setkey blocklist ventoy test regexp newc search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio ext2 xfs read halt sleep serial terminfo png password_pbkdf2 gcry_sha512 pbkdf2 part_gpt part_msdos ls tar squash4 loopback part_apple minicmd diskfilter linux relocator jpeg iso9660 udf hfsplus halt acpi mmap gfxmenu video_colors trig bitmap_scale gfxterm bitmap font fat exfat ntfs fshelp efifwsetup reboot echo configfile normal terminal gettext chain priority_queue bufio datetime cat extcmd crypto gzio boot all_video efi_gop efi_uga video_bochs video_cirrus video video_fb gfxterm_background gfxterm_menu"
all_modules_uefi
=
"setkey blocklist ventoy test
true
regexp newc search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio ext2 xfs read halt sleep serial terminfo png password_pbkdf2 gcry_sha512 pbkdf2 part_gpt part_msdos ls tar squash4 loopback part_apple minicmd diskfilter linux relocator jpeg iso9660 udf hfsplus halt acpi mmap gfxmenu video_colors trig bitmap_scale gfxterm bitmap font fat exfat ntfs fshelp efifwsetup reboot echo configfile normal terminal gettext chain priority_queue bufio datetime cat extcmd crypto gzio boot all_video efi_gop efi_uga video_bochs video_cirrus video video_fb gfxterm_background gfxterm_menu"
all_modules_arm64_uefi
=
"setkey blocklist ventoy test regexp newc search gcry_md5 hashsum gzio xzio lzopio ext2 xfs read halt sleep serial terminfo png password_pbkdf2 gcry_sha512 pbkdf2 part_gpt part_msdos ls tar squash4 loopback part_apple minicmd diskfilter linux jpeg iso9660 udf hfsplus halt acpi mmap gfxmenu video_colors trig bitmap_scale gfxterm bitmap font fat exfat ntfs fshelp efifwsetup reboot echo configfile normal terminal gettext chain priority_queue bufio datetime cat extcmd crypto gzio boot all_video efi_gop video video_fb gfxterm_background gfxterm_menu"
all_modules_arm64_uefi
=
"setkey blocklist ventoy test
true
regexp newc search gcry_md5 hashsum gzio xzio lzopio ext2 xfs read halt sleep serial terminfo png password_pbkdf2 gcry_sha512 pbkdf2 part_gpt part_msdos ls tar squash4 loopback part_apple minicmd diskfilter linux jpeg iso9660 udf hfsplus halt acpi mmap gfxmenu video_colors trig bitmap_scale gfxterm bitmap font fat exfat ntfs fshelp efifwsetup reboot echo configfile normal terminal gettext chain priority_queue bufio datetime cat extcmd crypto gzio boot all_video efi_gop video video_fb gfxterm_background gfxterm_menu"
if
[
"
$1
"
=
"uefi"
]
;
then
if
[
"
$1
"
=
"uefi"
]
;
then
...
...
INSTALL/grub/grub.cfg
View file @
b1d52370
...
@@ -50,6 +50,21 @@ function ventoy_acpi_param {
...
@@ -50,6 +50,21 @@ function ventoy_acpi_param {
fi
fi
}
}
function ventoy_vcfg_proc {
if vt_check_custom_boot "${1}" vt_vcfg; then
set vtoy_chosen_path="${1}"
vt_file_basefile "${vtoy_chosen_path}" vtoy_chosen_file
export vtoy_chosen_path
export vtoy_chosen_file
ventoy_debug_pause
configfile "${vtoy_iso_part}${vt_vcfg}"
true
else
false
fi
}
function ventoy_power {
function ventoy_power {
configfile $prefix/power.cfg
configfile $prefix/power.cfg
}
}
...
@@ -959,6 +974,7 @@ function ventoy_iso_busybox_ver {
...
@@ -959,6 +974,7 @@ function ventoy_iso_busybox_ver {
fi
fi
}
}
function iso_common_menuentry {
function iso_common_menuentry {
unset vt_system_id
unset vt_system_id
unset vt_volume_id
unset vt_volume_id
...
@@ -982,6 +998,10 @@ function iso_common_menuentry {
...
@@ -982,6 +998,10 @@ function iso_common_menuentry {
return
return
fi
fi
if ventoy_vcfg_proc "${vt_chosen_path}"; then
return
fi
if vt_str_begin "$vt_volume_id" "Avira"; then
if vt_str_begin "$vt_volume_id" "Avira"; then
vt_skip_svd "${vtoy_iso_part}${vt_chosen_path}"
vt_skip_svd "${vtoy_iso_part}${vt_chosen_path}"
fi
fi
...
@@ -1051,6 +1071,10 @@ function wim_common_menuentry {
...
@@ -1051,6 +1071,10 @@ function wim_common_menuentry {
return
return
fi
fi
if ventoy_vcfg_proc "${vt_chosen_path}"; then
return
fi
if vt_wim_check_bootable "${vtoy_iso_part}${vt_chosen_path}"; then
if vt_wim_check_bootable "${vtoy_iso_part}${vt_chosen_path}"; then
vt_wim_chain_data "${vtoy_iso_part}${vt_chosen_path}"
vt_wim_chain_data "${vtoy_iso_part}${vt_chosen_path}"
else
else
...
@@ -1086,6 +1110,10 @@ function efi_common_menuentry {
...
@@ -1086,6 +1110,10 @@ function efi_common_menuentry {
return
return
fi
fi
if ventoy_vcfg_proc "${vt_chosen_path}"; then
return
fi
vt_concat_efi_iso "${vtoy_iso_part}${vt_chosen_path}" vtoy_iso_buf
vt_concat_efi_iso "${vtoy_iso_part}${vt_chosen_path}" vtoy_iso_buf
ventoy_debug_pause
ventoy_debug_pause
...
@@ -1127,6 +1155,10 @@ function vhd_common_menuentry {
...
@@ -1127,6 +1155,10 @@ function vhd_common_menuentry {
return
return
fi
fi
if ventoy_vcfg_proc "${vt_chosen_path}"; then
return
fi
vt_patch_vhdboot "$vt_chosen_path"
vt_patch_vhdboot "$vt_chosen_path"
ventoy_debug_pause
ventoy_debug_pause
...
@@ -1215,6 +1247,10 @@ function vtoy_common_menuentry {
...
@@ -1215,6 +1247,10 @@ function vtoy_common_menuentry {
return
return
fi
fi
if ventoy_vcfg_proc "${vt_chosen_path}"; then
return
fi
vtoyboot_common_func "${vtoy_iso_part}${vt_chosen_path}"
vtoyboot_common_func "${vtoy_iso_part}${vt_chosen_path}"
}
}
...
@@ -1418,6 +1454,10 @@ function img_common_menuentry {
...
@@ -1418,6 +1454,10 @@ function img_common_menuentry {
return
return
fi
fi
if ventoy_vcfg_proc "${vt_chosen_path}"; then
return
fi
if [ -d (vtimghd)/ ]; then
if [ -d (vtimghd)/ ]; then
loopback -d vtimghd
loopback -d vtimghd
fi
fi
...
@@ -1496,7 +1536,7 @@ function img_unsupport_menuentry {
...
@@ -1496,7 +1536,7 @@ function img_unsupport_menuentry {
#############################################################
#############################################################
#############################################################
#############################################################
set VENTOY_VERSION="1.0.3
3
"
set VENTOY_VERSION="1.0.3
4
"
#ACPI not compatible with Window7/8, so disable by default
#ACPI not compatible with Window7/8, so disable by default
set VTOY_PARAM_NO_ACPI=1
set VTOY_PARAM_NO_ACPI=1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment