mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-08-28 08:21:14 +00:00
update
This commit is contained in:
@@ -423,7 +423,6 @@ static grub_err_t
|
||||
cmd_timeout (const char *line, struct syslinux_menu *menu)
|
||||
{
|
||||
menu->timeout = grub_strtoul (line, NULL, 0);
|
||||
|
||||
return GRUB_ERR_NONE;
|
||||
}
|
||||
|
||||
@@ -991,6 +990,7 @@ write_entry (struct output_buffer *outbuf,
|
||||
|
||||
print_string ("\n");
|
||||
}
|
||||
print_string ("boot\n");
|
||||
}
|
||||
break;
|
||||
case KERNEL_CHAINLOADER:
|
||||
@@ -1433,6 +1433,7 @@ config_file (struct output_buffer *outbuf,
|
||||
const char *fname, struct syslinux_menu *parent,
|
||||
grub_syslinux_flavour_t flav)
|
||||
{
|
||||
const char *data;
|
||||
grub_err_t err;
|
||||
struct syslinux_menu menu;
|
||||
struct syslinux_menuentry *curentry, *lentry;
|
||||
@@ -1447,6 +1448,13 @@ config_file (struct output_buffer *outbuf,
|
||||
|
||||
menu.filename = fname;
|
||||
menu.parent = parent;
|
||||
|
||||
data = grub_env_get("vtdebug_flag");
|
||||
if (data && data[0])
|
||||
{
|
||||
menu.timeout = 100;
|
||||
}
|
||||
|
||||
err = syslinux_parse_real (&menu);
|
||||
if (err)
|
||||
return err;
|
||||
|
@@ -86,6 +86,9 @@ static int ventoy_debug = 0;
|
||||
static int ventoy_initrd_called = 0;
|
||||
static int ventoy_linux_argc = 0;
|
||||
static char **ventoy_linux_args = NULL;
|
||||
static int ventoy_extra_initrd_num = 0;
|
||||
static char *ventoy_extra_initrd_list[256];
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), int argc, char *argv[]);
|
||||
|
||||
@@ -427,8 +430,9 @@ static void ventoy_debug_pause(void)
|
||||
|
||||
static int ventoy_preboot(void)
|
||||
{
|
||||
int i;
|
||||
const char *file;
|
||||
char buf[128];
|
||||
char *argv[2];
|
||||
|
||||
if (ventoy_debug)
|
||||
{
|
||||
@@ -449,16 +453,28 @@ static int ventoy_preboot(void)
|
||||
|
||||
grub_snprintf(buf, sizeof(buf), "mem:%s:size:%s", grub_env_get("ventoy_cpio_addr"), grub_env_get("ventoy_cpio_size"));
|
||||
|
||||
argv[0] = buf;
|
||||
argv[1] = NULL;
|
||||
grub_cmd_initrd(NULL, 1, argv);
|
||||
ventoy_extra_initrd_list[ventoy_extra_initrd_num++] = grub_strdup(buf);
|
||||
|
||||
file = grub_env_get("vtoy_img_part_file");
|
||||
if (file)
|
||||
{
|
||||
ventoy_extra_initrd_list[ventoy_extra_initrd_num++] = grub_strdup(file);
|
||||
}
|
||||
|
||||
if (ventoy_debug)
|
||||
{
|
||||
grub_printf("add initrd %s\n", buf);
|
||||
grub_printf("========== initrd list ==========\n");
|
||||
for (i = 0; i < ventoy_extra_initrd_num; i++)
|
||||
{
|
||||
grub_printf("%s\n", ventoy_extra_initrd_list[i]);
|
||||
}
|
||||
grub_printf("=================================\n");
|
||||
|
||||
ventoy_debug_pause();
|
||||
}
|
||||
|
||||
grub_cmd_initrd(NULL, ventoy_extra_initrd_num, ventoy_extra_initrd_list);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -478,6 +494,13 @@ static int ventoy_boot_opt_filter(char *opt)
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (grub_strncmp(opt, "init=", 5) == 0)
|
||||
{
|
||||
opt[0] = 'v';
|
||||
opt[1] = 't';
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (ventoy_debug)
|
||||
{
|
||||
@@ -597,7 +620,7 @@ static int ventoy_bootopt_hook(int argc, char *argv[])
|
||||
|
||||
if (ventoy_debug)
|
||||
{
|
||||
ventoy_linux_args[count++] = grub_strdup("loglevel=10");
|
||||
ventoy_linux_args[count++] = grub_strdup("loglevel=7");
|
||||
}
|
||||
|
||||
ventoy_linux_argc = count;
|
||||
@@ -663,6 +686,72 @@ grub_cmd_unset_boot_opt (grub_command_t cmd __attribute__ ((unused)),
|
||||
return 0;
|
||||
}
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_extra_initrd_append (grub_command_t cmd __attribute__ ((unused)),
|
||||
int argc, char *argv[])
|
||||
{
|
||||
int newclen = 0;
|
||||
char *pos = NULL;
|
||||
char *end = NULL;
|
||||
char buf[256] = {0};
|
||||
|
||||
if (argc != 1)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
for (pos = argv[0]; *pos; pos++)
|
||||
{
|
||||
if (*pos == '/')
|
||||
{
|
||||
end = pos;
|
||||
}
|
||||
}
|
||||
|
||||
if (end)
|
||||
{
|
||||
/* grub2 newc bug workaround */
|
||||
newclen = (int)grub_strlen(end + 1);
|
||||
if ((110 + newclen) % 4 == 0)
|
||||
{
|
||||
grub_snprintf(buf, sizeof(buf), "newc:.%s:%s", end + 1, argv[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
grub_snprintf(buf, sizeof(buf), "newc:%s:%s", end + 1, argv[0]);
|
||||
}
|
||||
|
||||
if (ventoy_extra_initrd_num < 256)
|
||||
{
|
||||
ventoy_extra_initrd_list[ventoy_extra_initrd_num++] = grub_strdup(buf);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_extra_initrd_reset (grub_command_t cmd __attribute__ ((unused)),
|
||||
int argc, char *argv[])
|
||||
{
|
||||
int i;
|
||||
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
|
||||
for (i = 0; i < ventoy_extra_initrd_num; i++)
|
||||
{
|
||||
if (ventoy_extra_initrd_list[i])
|
||||
{
|
||||
grub_free(ventoy_extra_initrd_list[i]);
|
||||
}
|
||||
}
|
||||
|
||||
grub_memset(ventoy_extra_initrd_list, 0, sizeof(ventoy_extra_initrd_list));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static grub_err_t
|
||||
grub_linux_boot (void)
|
||||
@@ -1416,8 +1505,8 @@ ventoy_cmd_initrd (grub_command_t cmd __attribute__ ((unused)),
|
||||
int argc, char *argv[])
|
||||
{
|
||||
int i;
|
||||
const char *file;
|
||||
char buf[64];
|
||||
char *newargv[32] = {NULL};
|
||||
|
||||
if (ventoy_debug) grub_printf("ventoy_cmd_initrd %d\n", ventoy_linux_argc);
|
||||
|
||||
@@ -1430,19 +1519,37 @@ ventoy_cmd_initrd (grub_command_t cmd __attribute__ ((unused)),
|
||||
|
||||
if (ventoy_debug) grub_printf("membuf=%s\n", buf);
|
||||
|
||||
newargv[0] = buf;
|
||||
ventoy_extra_initrd_list[ventoy_extra_initrd_num++] = grub_strdup(buf);
|
||||
|
||||
file = grub_env_get("vtoy_img_part_file");
|
||||
if (file)
|
||||
{
|
||||
ventoy_extra_initrd_list[ventoy_extra_initrd_num++] = grub_strdup(file);
|
||||
}
|
||||
|
||||
for (i = 0; i < argc; i++)
|
||||
{
|
||||
newargv[i + 1] = argv[i];
|
||||
ventoy_extra_initrd_list[ventoy_extra_initrd_num++] = grub_strdup(argv[i]);
|
||||
}
|
||||
|
||||
ventoy_initrd_called = 1;
|
||||
|
||||
if (ventoy_debug)
|
||||
{
|
||||
grub_printf("========== initrd list ==========\n");
|
||||
for (i = 0; i < ventoy_extra_initrd_num; i++)
|
||||
{
|
||||
grub_printf("%s\n", ventoy_extra_initrd_list[i]);
|
||||
}
|
||||
grub_printf("=================================\n");
|
||||
}
|
||||
|
||||
return grub_cmd_initrd(cmd, argc + 1, newargv);
|
||||
return grub_cmd_initrd(cmd, ventoy_extra_initrd_num, ventoy_extra_initrd_list);
|
||||
}
|
||||
|
||||
|
||||
static grub_command_t cmd_linux, cmd_initrd, cmd_linuxefi, cmd_initrdefi, cmd_set_bootopt, cmd_unset_bootopt;
|
||||
static grub_command_t cmd_linux, cmd_initrd, cmd_linuxefi, cmd_initrdefi;
|
||||
static grub_command_t cmd_set_bootopt, cmd_unset_bootopt, cmd_extra_initrd_append, cmd_extra_initrd_reset;
|
||||
|
||||
GRUB_MOD_INIT(linux)
|
||||
{
|
||||
@@ -1457,6 +1564,9 @@ GRUB_MOD_INIT(linux)
|
||||
0, N_("Load initrd."));
|
||||
cmd_set_bootopt = grub_register_command ("vt_set_boot_opt", grub_cmd_set_boot_opt, 0, N_("set ext boot opt"));
|
||||
cmd_unset_bootopt = grub_register_command ("vt_unset_boot_opt", grub_cmd_unset_boot_opt, 0, N_("unset ext boot opt"));
|
||||
|
||||
cmd_extra_initrd_append = grub_register_command ("vt_img_extra_initrd_append", grub_cmd_extra_initrd_append, 0, N_(""));
|
||||
cmd_extra_initrd_reset = grub_register_command ("vt_img_extra_initrd_reset", grub_cmd_extra_initrd_reset, 0, N_(""));
|
||||
|
||||
ventoy_linux_args = grub_zalloc(sizeof(char *) * LINUX_MAX_ARGC);
|
||||
|
||||
|
@@ -54,6 +54,7 @@ int g_valid_initrd_count = 0;
|
||||
int g_default_menu_mode = 0;
|
||||
int g_filt_dot_underscore_file = 0;
|
||||
static grub_file_t g_old_file;
|
||||
static int g_ventoy_last_entry_back;
|
||||
|
||||
char g_iso_path[256];
|
||||
char g_img_swap_tmp_buf[1024];
|
||||
@@ -92,6 +93,9 @@ static int g_tree_script_pos = 0;
|
||||
static char *g_list_script_buf = NULL;
|
||||
static int g_list_script_pos = 0;
|
||||
|
||||
static char *g_part_list_buf = NULL;
|
||||
static int g_part_list_pos = 0;
|
||||
|
||||
static const char *g_menu_class[] =
|
||||
{
|
||||
"vtoyiso", "vtoywim", "vtoyefi", "vtoyimg"
|
||||
@@ -1812,6 +1816,7 @@ int ventoy_check_block_list(grub_file_t file, ventoy_img_chunk_list *chunklist,
|
||||
int ventoy_get_block_list(grub_file_t file, ventoy_img_chunk_list *chunklist, grub_disk_addr_t start)
|
||||
{
|
||||
int fs_type;
|
||||
int len;
|
||||
grub_uint32_t i = 0;
|
||||
grub_uint32_t sector = 0;
|
||||
grub_uint32_t count = 0;
|
||||
@@ -1856,6 +1861,27 @@ int ventoy_get_block_list(grub_file_t file, ventoy_img_chunk_list *chunklist, gr
|
||||
}
|
||||
}
|
||||
|
||||
len = (int)grub_strlen(file->name);
|
||||
if (grub_strncasecmp(file->name + len - 4, ".img", 4) == 0)
|
||||
{
|
||||
for (i = 0; i < chunklist->cur_chunk; i++)
|
||||
{
|
||||
count = chunklist->chunk[i].disk_end_sector + 1 - chunklist->chunk[i].disk_start_sector;
|
||||
if (count < 4)
|
||||
{
|
||||
count = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
count >>= 2;
|
||||
}
|
||||
|
||||
chunklist->chunk[i].img_start_sector = sector;
|
||||
chunklist->chunk[i].img_end_sector = sector + count - 1;
|
||||
sector += count;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2498,6 +2524,62 @@ end:
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ventoy_img_partition_callback (struct grub_disk *disk, const grub_partition_t partition, void *data)
|
||||
{
|
||||
(void)disk;
|
||||
(void)data;
|
||||
|
||||
g_part_list_pos += grub_snprintf(g_part_list_buf + g_part_list_pos, VTOY_MAX_SCRIPT_BUF - g_part_list_pos,
|
||||
"0 %llu linear /dev/ventoy %llu\n",
|
||||
(ulonglong)partition->len, (ulonglong)partition->start);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static grub_err_t ventoy_cmd_img_part_info(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
char *device_name = NULL;
|
||||
grub_device_t dev = NULL;
|
||||
char buf[64];
|
||||
|
||||
(void)ctxt;
|
||||
|
||||
g_part_list_pos = 0;
|
||||
grub_env_unset("vtoy_img_part_file");
|
||||
|
||||
if (argc != 1)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
device_name = grub_file_get_device_name(args[0]);
|
||||
if (!device_name)
|
||||
{
|
||||
debug("ventoy_cmd_img_part_info failed, %s\n", args[0]);
|
||||
goto end;
|
||||
}
|
||||
|
||||
dev = grub_device_open(device_name);
|
||||
if (!dev)
|
||||
{
|
||||
debug("grub_device_open failed, %s\n", device_name);
|
||||
goto end;
|
||||
}
|
||||
|
||||
grub_partition_iterate(dev->disk, ventoy_img_partition_callback, NULL);
|
||||
|
||||
grub_snprintf(buf, sizeof(buf), "newc:vtoy_dm_table:mem:0x%llx:size:%d", (ulonglong)(ulong)g_part_list_buf, g_part_list_pos);
|
||||
grub_env_set("vtoy_img_part_file", buf);
|
||||
|
||||
end:
|
||||
|
||||
check_free(device_name, grub_free);
|
||||
check_free(dev, grub_device_close);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static grub_err_t ventoy_cmd_file_strstr(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
int rc = 1;
|
||||
@@ -2645,6 +2727,108 @@ static grub_err_t ventoy_cmd_img_unhook_root(grub_extcmd_context_t ctxt, int arg
|
||||
return 0;
|
||||
}
|
||||
|
||||
static grub_err_t ventoy_cmd_push_last_entry(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
(void)args;
|
||||
|
||||
g_ventoy_last_entry_back = g_ventoy_last_entry;
|
||||
g_ventoy_last_entry = -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static grub_err_t ventoy_cmd_pop_last_entry(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
(void)args;
|
||||
|
||||
g_ventoy_last_entry = g_ventoy_last_entry_back;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ventoy_lib_module_callback(const char *filename, const struct grub_dirhook_info *info, void *data)
|
||||
{
|
||||
const char *pos = filename + 1;
|
||||
|
||||
if (info->dir)
|
||||
{
|
||||
while (*pos)
|
||||
{
|
||||
if (*pos == '.')
|
||||
{
|
||||
if ((*(pos - 1) >= '0' && *(pos - 1) <= '9') && (*(pos + 1) >= '0' && *(pos + 1) <= '9'))
|
||||
{
|
||||
grub_strncpy((char *)data, filename, 128);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
pos++;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static grub_err_t ventoy_cmd_lib_module_ver(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
int rc = 1;
|
||||
char *device_name = NULL;
|
||||
grub_device_t dev = NULL;
|
||||
grub_fs_t fs = NULL;
|
||||
char buf[128] = {0};
|
||||
|
||||
(void)ctxt;
|
||||
|
||||
if (argc != 3)
|
||||
{
|
||||
debug("ventoy_cmd_lib_module_ver, invalid param num %d\n", argc);
|
||||
return 1;
|
||||
}
|
||||
|
||||
debug("ventoy_cmd_lib_module_ver %s %s %s\n", args[0], args[1], args[2]);
|
||||
|
||||
device_name = grub_file_get_device_name(args[0]);
|
||||
if (!device_name)
|
||||
{
|
||||
debug("grub_file_get_device_name failed, %s\n", args[0]);
|
||||
goto end;
|
||||
}
|
||||
|
||||
dev = grub_device_open(device_name);
|
||||
if (!dev)
|
||||
{
|
||||
debug("grub_device_open failed, %s\n", device_name);
|
||||
goto end;
|
||||
}
|
||||
|
||||
fs = grub_fs_probe(dev);
|
||||
if (!fs)
|
||||
{
|
||||
debug("grub_fs_probe failed, %s\n", device_name);
|
||||
goto end;
|
||||
}
|
||||
|
||||
fs->fs_dir(dev, args[1], ventoy_lib_module_callback, buf);
|
||||
|
||||
if (buf[0])
|
||||
{
|
||||
ventoy_set_env(args[2], buf);
|
||||
}
|
||||
|
||||
rc = 0;
|
||||
|
||||
end:
|
||||
|
||||
check_free(device_name, grub_free);
|
||||
check_free(dev, grub_device_close);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
grub_uint64_t ventoy_grub_get_file_size(const char *fmt, ...)
|
||||
{
|
||||
grub_uint64_t size = 0;
|
||||
@@ -2747,6 +2931,7 @@ static int ventoy_env_init(void)
|
||||
|
||||
grub_env_set("vtdebug_flag", "");
|
||||
|
||||
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);
|
||||
|
||||
@@ -2785,6 +2970,9 @@ static cmd_para ventoy_cmds[] =
|
||||
|
||||
{ "vt_load_cpio", ventoy_cmd_load_cpio, 0, NULL, "", "", NULL },
|
||||
{ "vt_trailer_cpio", ventoy_cmd_trailer_cpio, 0, NULL, "", "", NULL },
|
||||
{ "vt_push_last_entry", ventoy_cmd_push_last_entry, 0, NULL, "", "", NULL },
|
||||
{ "vt_pop_last_entry", ventoy_cmd_pop_last_entry, 0, NULL, "", "", NULL },
|
||||
{ "vt_get_lib_module_ver", ventoy_cmd_lib_module_ver, 0, NULL, "", "", NULL },
|
||||
|
||||
{ "vt_find_first_bootable_hd", ventoy_cmd_find_bootable_hdd, 0, NULL, "", "", NULL },
|
||||
{ "vt_dump_menu", ventoy_cmd_dump_menu, 0, NULL, "", "", NULL },
|
||||
@@ -2834,6 +3022,7 @@ static cmd_para ventoy_cmds[] =
|
||||
|
||||
{ "vt_1st_line", ventoy_cmd_read_1st_line, 0, NULL, "", "", NULL },
|
||||
{ "vt_file_strstr", ventoy_cmd_file_strstr, 0, NULL, "", "", NULL },
|
||||
{ "vt_img_part_info", ventoy_cmd_img_part_info, 0, NULL, "", "", NULL },
|
||||
|
||||
|
||||
{ "vt_parse_iso_volume", ventoy_cmd_parse_volume, 0, NULL, "", "", NULL },
|
||||
|
@@ -23,6 +23,8 @@
|
||||
|
||||
#define VTOY_MAX_SCRIPT_BUF (4 * 1024 * 1024)
|
||||
|
||||
#define VTOY_PART_BUF_LEN (128 * 1024)
|
||||
|
||||
#define VTOY_FILT_MIN_FILE_SIZE 32768
|
||||
|
||||
#define VTOY_SIZE_1GB 1073741824
|
||||
|
@@ -12,10 +12,10 @@ make install
|
||||
PATH=$PATH:$VT_DIR/GRUB2/INSTALL/bin/:$VT_DIR/GRUB2/INSTALL/sbin/
|
||||
|
||||
net_modules_legacy="net tftp http"
|
||||
all_modules_legacy="date drivemap blocklist 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="date drivemap blocklist 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"
|
||||
all_modules_uefi="blocklist ventoy test 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="blocklist ventoy test 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"
|
||||
|
||||
if [ "$1" = "uefi" ]; then
|
||||
all_modules="$net_modules_uefi $all_modules_uefi "
|
||||
|
Reference in New Issue
Block a user