Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
dadigang
Ventoy
Commits
f434d1f5
Commit
f434d1f5
authored
Dec 22, 2022
by
longpanda
Browse files
Add Temporary Control Settings menu.
Refer
https://www.ventoy.net/en/doc_ctrl_settings.html
for details.
parent
23f8bc8a
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
198 additions
and
1 deletion
+198
-1
GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c
GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c
+11
-0
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c
+62
-0
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h
+6
-0
INSTALL/grub/debug.cfg
INSTALL/grub/debug.cfg
+38
-0
INSTALL/grub/menu/ar_AR.json
INSTALL/grub/menu/ar_AR.json
+5
-0
INSTALL/grub/menu/bn_BN.json
INSTALL/grub/menu/bn_BN.json
+5
-0
INSTALL/grub/menu/de_DE.json
INSTALL/grub/menu/de_DE.json
+5
-0
INSTALL/grub/menu/en_US.json
INSTALL/grub/menu/en_US.json
+5
-0
INSTALL/grub/menu/fr_FR.json
INSTALL/grub/menu/fr_FR.json
+5
-0
INSTALL/grub/menu/hi_HI.json
INSTALL/grub/menu/hi_HI.json
+5
-0
INSTALL/grub/menu/hr_HR.json
INSTALL/grub/menu/hr_HR.json
+5
-0
INSTALL/grub/menu/hu_HU.json
INSTALL/grub/menu/hu_HU.json
+5
-0
INSTALL/grub/menu/id_ID.json
INSTALL/grub/menu/id_ID.json
+5
-0
INSTALL/grub/menu/ja_JP.json
INSTALL/grub/menu/ja_JP.json
+5
-0
INSTALL/grub/menu/ka_GE.json
INSTALL/grub/menu/ka_GE.json
+5
-0
INSTALL/grub/menu/ko_KR.json
INSTALL/grub/menu/ko_KR.json
+5
-0
INSTALL/grub/menu/pl_PL.json
INSTALL/grub/menu/pl_PL.json
+5
-0
INSTALL/grub/menu/pt_PT.json
INSTALL/grub/menu/pt_PT.json
+5
-0
INSTALL/grub/menu/ru_RU.json
INSTALL/grub/menu/ru_RU.json
+5
-0
INSTALL/grub/menu/sr_RS.json
INSTALL/grub/menu/sr_RS.json
+6
-1
No files found.
GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c
View file @
f434d1f5
...
...
@@ -1133,6 +1133,7 @@ show_menu (grub_menu_t menu, int nested, int autobooted)
while
(
1
)
{
int
ndown
;
int
boot_entry
;
grub_menu_entry_t
e
;
int
auto_boot
;
...
...
@@ -1175,6 +1176,16 @@ show_menu (grub_menu_t menu, int nested, int autobooted)
if
(
2
==
e
->
argc
&&
e
->
args
&&
e
->
args
[
1
]
&&
grub_strncmp
(
e
->
args
[
1
],
"VTOY_RUN_RET"
,
12
)
==
0
)
break
;
else
if
(
2
==
e
->
argc
&&
e
->
args
&&
e
->
args
[
1
]
&&
grub_strncmp
(
e
->
args
[
1
],
"VTOY_RUN_SET"
,
12
)
==
0
)
{
ndown
=
(
int
)
grub_strtol
(
e
->
args
[
1
]
+
12
,
NULL
,
10
);
while
(
ndown
>
0
)
{
ventoy_menu_push_key
(
GRUB_TERM_KEY_DOWN
);
ndown
--
;
}
ventoy_menu_push_key
(
'\n'
);
break
;
}
}
return
GRUB_ERR_NONE
;
...
...
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c
View file @
f434d1f5
...
...
@@ -6227,6 +6227,66 @@ static char * ventoy_gfxmode_write_hook(struct grub_env_var *var, const char *va
return
grub_strdup
(
val
);
}
static
ctrl_var_cfg
g_ctrl_vars
[]
=
{
{
"VTOY_WIN11_BYPASS_CHECK"
,
0
},
{
"VTOY_LINUX_REMOUNT"
,
0
},
{
"VTOY_SECONDARY_BOOT_MENU"
,
1
},
{
NULL
,
0
}
};
static
const
char
*
ventoy_ctrl_var_read_hook
(
struct
grub_env_var
*
var
,
const
char
*
val
)
{
int
i
;
for
(
i
=
0
;
g_ctrl_vars
[
i
].
name
;
i
++
)
{
if
(
grub_strcmp
(
g_ctrl_vars
[
i
].
name
,
var
->
name
)
==
0
)
{
return
g_ctrl_vars
[
i
].
value
?
"1"
:
"0"
;
}
}
return
val
;
}
static
char
*
ventoy_ctrl_var_write_hook
(
struct
grub_env_var
*
var
,
const
char
*
val
)
{
int
i
;
for
(
i
=
0
;
g_ctrl_vars
[
i
].
name
;
i
++
)
{
if
(
grub_strcmp
(
g_ctrl_vars
[
i
].
name
,
var
->
name
)
==
0
)
{
if
(
val
&&
val
[
0
]
==
'1'
&&
val
[
1
]
==
0
)
{
g_ctrl_vars
[
i
].
value
=
1
;
return
grub_strdup
(
"1"
);
}
else
{
g_ctrl_vars
[
i
].
value
=
0
;
return
grub_strdup
(
"0"
);
}
}
}
return
grub_strdup
(
val
);
}
static
int
ventoy_ctrl_var_init
(
void
)
{
int
i
;
for
(
i
=
0
;
g_ctrl_vars
[
i
].
name
;
i
++
)
{
ventoy_env_export
(
g_ctrl_vars
[
i
].
name
,
g_ctrl_vars
[
i
].
value
?
"1"
:
"0"
);
grub_register_variable_hook
(
g_ctrl_vars
[
i
].
name
,
ventoy_ctrl_var_read_hook
,
ventoy_ctrl_var_write_hook
);
}
return
0
;
}
int
ventoy_env_init
(
void
)
{
int
i
;
...
...
@@ -6237,6 +6297,8 @@ int ventoy_env_init(void)
grub_register_variable_hook
(
"gfxmode"
,
ventoy_gfxmode_read_hook
,
ventoy_gfxmode_write_hook
);
grub_register_vtoy_menu_lang_hook
(
ventoy_menu_lang_read_hook
);
ventoy_ctrl_var_init
();
g_part_list_buf
=
grub_malloc
(
VTOY_PART_BUF_LEN
);
g_tree_script_buf
=
grub_malloc
(
VTOY_MAX_SCRIPT_BUF
);
g_list_script_buf
=
grub_malloc
(
VTOY_MAX_SCRIPT_BUF
);
...
...
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h
View file @
f434d1f5
...
...
@@ -1256,6 +1256,12 @@ typedef struct systemd_menu_ctx
int
len
;
}
systemd_menu_ctx
;
typedef
struct
ctrl_var_cfg
{
const
char
*
name
;
int
value
;
}
ctrl_var_cfg
;
#define vtoy_check_goto_out(p) if (!p) goto out
extern
char
*
g_tree_script_buf
;
...
...
INSTALL/grub/debug.cfg
View file @
f434d1f5
#
# VTLANG_TEMP_SETTING must be the first
# And the inside item order can not be changed
#
submenu "$VTLANG_CTRL_TEMP_SET" --class=debug_temp_set --class=F5tool {
menuentry "[ $VTOY_WIN11_BYPASS_CHECK ] $VTLANG_WIN11_BYPASS_CHECK" --class=debug_temp_win11_bypass --class=debug_temp_set --class=F5tool \
VTOY_RUN_SET0 {
if [ "$VTOY_WIN11_BYPASS_CHECK" = "0" ]; then
set VTOY_WIN11_BYPASS_CHECK=1
else
set VTOY_WIN11_BYPASS_CHECK=0
fi
}
menuentry "[ $VTOY_LINUX_REMOUNT ] $VTLANG_LINUX_REMOUNT" --class=debug_temp_linux_remount --class=debug_temp_set --class=F5tool \
VTOY_RUN_SET1 {
if [ "$VTOY_LINUX_REMOUNT" = "0" ]; then
set VTOY_LINUX_REMOUNT=1
else
set VTOY_LINUX_REMOUNT=0
fi
}
menuentry "[ $VTOY_SECONDARY_BOOT_MENU ] $VTLANG_SECONDARY_BOOT_MENU" --class=debug_temp_second_menu --class=debug_temp_set --class=F5tool \
VTOY_RUN_SET2 {
if [ "$VTOY_SECONDARY_BOOT_MENU" = "0" ]; then
set VTOY_SECONDARY_BOOT_MENU=1
else
set VTOY_SECONDARY_BOOT_MENU=0
fi
}
menuentry "$VTLANG_RETURN_PREVIOUS" --class=vtoyret VTOY_RET {
echo "Return ..."
}
}
submenu "$VTLANG_MENU_LANG" --class=debug_menu_lang --class=F5tool {
source $prefix/menulang.cfg
}
source $prefix/power.cfg
source $prefix/hwinfo.cfg
source $prefix/keyboard.cfg
...
...
INSTALL/grub/menu/ar_AR.json
View file @
f434d1f5
...
...
@@ -68,5 +68,10 @@
"VTLANG_ENTER_REBOOT"
:
"اضغط على مفتاح Enter لإعادة التشغيل"
,
"VTLANG_ENTER_CONTINUE"
:
"اضغط على مفتاح Enter للمتابعة"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/bn_BN.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"রিবুট করতে এন্টার কী টিপুন"
,
"VTLANG_ENTER_CONTINUE"
:
"চালিয়ে যেতে এন্টার কী টিপুন"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/de_DE.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"Drücken Sie die Eingabetaste, um neu zu starten"
,
"VTLANG_ENTER_CONTINUE"
:
"Drücken Sie die Eingabetaste, um fortzufahren"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/en_US.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"press Enter key to reboot"
,
"VTLANG_ENTER_CONTINUE"
:
"press Enter key to continue"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/fr_FR.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"appuyez sur la touche Entrée pour redémarrer"
,
"VTLANG_ENTER_CONTINUE"
:
"appuyez sur la touche Entrée pour continuer"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/hi_HI.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"रिबूट करने के लिए एंटर कुंजी दबाएं"
,
"VTLANG_ENTER_CONTINUE"
:
"जारी रखने के लिए एंटर कुंजी दबाएं"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/hr_HR.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"pritisnite tipku Enter za ponovno pokretanje"
,
"VTLANG_ENTER_CONTINUE"
:
"pritisnite tipku Enter za nastavak"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/hu_HU.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"nyomja meg az Enter billentyűt az újraindításhoz"
,
"VTLANG_ENTER_CONTINUE"
:
"a folytatáshoz nyomja meg az Enter billentyűt"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
\ No newline at end of file
INSTALL/grub/menu/id_ID.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"tekan tombol Enter untuk reboot"
,
"VTLANG_ENTER_CONTINUE"
:
"tekan tombol Enter untuk melanjutkan"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/ja_JP.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"[Enter]を押して再起動します"
,
"VTLANG_ENTER_CONTINUE"
:
"[Enter]を押して続行します"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/ka_GE.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"დააჭირეთ Enter ღილაკს გადატვირთვისთვის"
,
"VTLANG_ENTER_CONTINUE"
:
"გასაგრძელებლად დააჭირეთ Enter ღილაკს"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/ko_KR.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"Enter 키를 눌러 재부팅"
,
"VTLANG_ENTER_CONTINUE"
:
"계속하려면 Enter 키를 누르십시오"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/pl_PL.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"naciśnij klawisz Enter, aby ponownie uruchomić"
,
"VTLANG_ENTER_CONTINUE"
:
"naciśnij klawisz Enter, aby kontynuować"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/pt_PT.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"pressione a tecla Enter para reiniciar"
,
"VTLANG_ENTER_CONTINUE"
:
"pressione a tecla Enter para continuar"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/ru_RU.json
View file @
f434d1f5
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"нажмите клавишу Enter для перезагрузки"
,
"VTLANG_ENTER_CONTINUE"
:
"нажмите клавишу Enter, чтобы продолжить"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
INSTALL/grub/menu/sr_RS.json
View file @
f434d1f5
{
"VTLANG_LANGUAGE_NAME"
:
"Serbian Latin (Srpski)"
,
"VTLANG_STR_HOTKEY_LIST"
:
"L:Језик F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu"
,
...
...
@@ -82,5 +82,10 @@
"VTLANG_ENTER_REBOOT"
:
"press Enter key to reboot"
,
"VTLANG_ENTER_CONTINUE"
:
"press Enter key to continue"
,
"VTLANG_CTRL_TEMP_SET"
:
"Temporary Control Settings"
,
"VTLANG_WIN11_BYPASS_CHECK"
:
"Bypass check when install Windows 11"
,
"VTLANG_LINUX_REMOUNT"
:
"Mount Ventoy partition after boot Linux"
,
"VTLANG_SECONDARY_BOOT_MENU"
:
"Show secondary boot menu"
,
"MENU_STR_XXX"
:
""
}
Prev
1
2
Next
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