diff --git a/DOC/BuildVentoyFromSource.txt b/DOC/BuildVentoyFromSource.txt index 0a3e8fe1..64ffc842 100644 --- a/DOC/BuildVentoyFromSource.txt +++ b/DOC/BuildVentoyFromSource.txt @@ -202,3 +202,10 @@ https://busybox.net/downloads/binaries/1.31.0-i686-uclibc/ busybox_ASH SHA-256: 2943f02f85fee0c9551aec47110a558a73f919c032b3c51e56d6f197b5ec4d7b +5.12 7za.exe + download from https://www.7-zip.org/a/7z1900-extra.7z + ISNTALL/ventoy/7z/64/7za.exe SHA-256: 8117e40ee7f824f63373a4f5625bb62749f69159d0c449b3ce2f35aad3b83549 + ISNTALL/ventoy/7z/32/7za.exe SHA-256: ea308c76a2f927b160a143d94072b0dce232e04b751f0c6432a94e05164e716d + + + diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/context.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/context.c index 87edd254..9ed3c8d2 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/context.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/context.c @@ -99,7 +99,7 @@ grub_env_new_context (int export_all) grub_err_t grub_env_context_open (void) { - return grub_env_new_context (1); + return grub_env_new_context (grub_env_get("ventoy_new_context") ? 0 : 1); } int grub_extractor_level = 0; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c index e1033d18..e5d8b88c 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c @@ -853,12 +853,16 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) } break; case GRUB_TERM_KEY_F6: - cmdstr = grub_env_get("VTOY_F6_CMD"); - if (cmdstr) - { - menu_fini (); - grub_script_execute_sourcecode(cmdstr); - goto refresh; + if (0 == g_ventoy_fn_mutex) { + cmdstr = grub_env_get("VTOY_F6_CMD"); + if (cmdstr) + { + menu_fini (); + g_ventoy_fn_mutex = 1; + grub_script_execute_sourcecode(cmdstr); + g_ventoy_fn_mutex = 0; + goto refresh; + } } break; case GRUB_TERM_KEY_F7: diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c index 2975bb2a..1a433edb 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c @@ -2167,7 +2167,7 @@ static grub_err_t ventoy_cmd_find_bootable_hdd(grub_extcmd_context_t ctxt, int a return grub_error(GRUB_ERR_BAD_ARGUMENT, "Usage: %s variable\n", cmd_raw_name); } - isopath = grub_env_get("iso_path"); + isopath = grub_env_get("vtoy_iso_part"); if (!isopath) { debug("isopath is null %p\n", isopath); @@ -2321,9 +2321,6 @@ static int ventoy_env_init(void) char buf[64]; grub_env_set("vtdebug_flag", ""); - grub_env_export("vtdebug_flag"); - - g_tree_script_buf = grub_malloc(VTOY_MAX_SCRIPT_BUF); g_list_script_buf = grub_malloc(VTOY_MAX_SCRIPT_BUF); diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h index 27eb7fd7..7584f2a8 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h @@ -649,6 +649,15 @@ typedef struct menu_class struct menu_class *next; }menu_class; +typedef struct injection_config +{ + int pathlen; + char isopath[256]; + char archive[256]; + + struct injection_config *next; +}injection_config; + extern int g_ventoy_menu_esc; extern int g_ventoy_suppress_esc; extern int g_ventoy_last_entry; @@ -666,6 +675,7 @@ persistence_config * ventoy_plugin_find_persistent(const char *isopath); void ventoy_plugin_dump_auto_install(void); int ventoy_fill_windows_rtdata(void *buf, char *isopath); int ventoy_plugin_get_persistent_chunklist(const char *isopath, int index, ventoy_img_chunk_list *chunk_list); +const char * ventoy_plugin_get_injection(const char *isopath); const char * ventoy_plugin_get_menu_alias(int type, const char *isopath); const char * ventoy_plugin_get_menu_class(int type, const char *name); int ventoy_get_block_list(grub_file_t file, ventoy_img_chunk_list *chunklist, grub_disk_addr_t start); diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_linux.c index e8ec502a..8e1ffdd6 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_linux.c @@ -909,6 +909,8 @@ grub_err_t ventoy_cmd_load_cpio(grub_extcmd_context_t ctxt, int argc, char **arg char *template_file = NULL; char *template_buf = NULL; char *persistent_buf = NULL; + char *injection_buf = NULL; + const char *injection_file = NULL; grub_uint8_t *buf = NULL; grub_uint32_t mod; grub_uint32_t headlen; @@ -917,8 +919,9 @@ grub_err_t ventoy_cmd_load_cpio(grub_extcmd_context_t ctxt, int argc, char **arg grub_uint32_t img_chunk_size; grub_uint32_t template_size = 0; grub_uint32_t persistent_size = 0; + grub_uint32_t injection_size = 0; grub_file_t file; - grub_file_t scriptfile; + grub_file_t tmpfile; ventoy_img_chunk_list chunk_list; (void)ctxt; @@ -960,18 +963,18 @@ grub_err_t ventoy_cmd_load_cpio(grub_extcmd_context_t ctxt, int argc, char **arg if (template_file) { debug("auto install template: <%s>\n", template_file); - scriptfile = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s%s", args[2], template_file); - if (scriptfile) + tmpfile = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s%s", args[2], template_file); + if (tmpfile) { - debug("auto install script size %d\n", (int)scriptfile->size); - template_size = scriptfile->size; + debug("auto install script size %d\n", (int)tmpfile->size); + template_size = tmpfile->size; template_buf = grub_malloc(template_size); if (template_buf) { - grub_file_read(scriptfile, template_buf, template_size); + grub_file_read(tmpfile, template_buf, template_size); } - grub_file_close(scriptfile); + grub_file_close(tmpfile); } else { @@ -983,7 +986,34 @@ grub_err_t ventoy_cmd_load_cpio(grub_extcmd_context_t ctxt, int argc, char **arg debug("auto install script skipped or not configed %s\n", args[1]); } - g_ventoy_cpio_buf = grub_malloc(file->size + 4096 + template_size + persistent_size + img_chunk_size); + injection_file = ventoy_plugin_get_injection(args[1]); + if (injection_file) + { + debug("injection archive: <%s>\n", injection_file); + tmpfile = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s%s", args[2], injection_file); + if (tmpfile) + { + debug("injection archive size:%d\n", (int)tmpfile->size); + injection_size = tmpfile->size; + injection_buf = grub_malloc(injection_size); + if (injection_buf) + { + grub_file_read(tmpfile, injection_buf, injection_size); + } + + grub_file_close(tmpfile); + } + else + { + debug("Failed to open injection archive %s%s\n", args[2], injection_file); + } + } + else + { + debug("injection not configed %s\n", args[1]); + } + + g_ventoy_cpio_buf = grub_malloc(file->size + 4096 + template_size + persistent_size + injection_size + img_chunk_size); if (NULL == g_ventoy_cpio_buf) { grub_file_close(file); @@ -1020,6 +1050,15 @@ grub_err_t ventoy_cmd_load_cpio(grub_extcmd_context_t ctxt, int argc, char **arg persistent_buf = NULL; } + if (injection_size > 0 && injection_buf) + { + headlen = ventoy_cpio_newc_fill_head(buf, injection_size, injection_buf, "ventoy/ventoy_injection"); + buf += headlen + ventoy_align(injection_size, 4); + + grub_free(injection_buf); + injection_buf = NULL; + } + /* step2: insert os param to cpio */ headlen = ventoy_cpio_newc_fill_head(buf, 0, NULL, "ventoy/ventoy_os_param"); padlen = sizeof(ventoy_os_param); diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c index c7fda9cf..a0ffde37 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c @@ -44,6 +44,7 @@ static install_template *g_install_template_head = NULL; static persistence_config *g_persistence_head = NULL; static menu_alias *g_menu_alias_head = NULL; static menu_class *g_menu_class_head = NULL; +static injection_config *g_injection_head = NULL; static int ventoy_plugin_control_check(VTOY_JSON *json, const char *isodisk) { @@ -805,6 +806,96 @@ static int ventoy_plugin_menualias_entry(VTOY_JSON *json, const char *isodisk) return 0; } + +static int ventoy_plugin_injection_check(VTOY_JSON *json, const char *isodisk) +{ + const char *path = NULL; + const char *archive = NULL; + VTOY_JSON *pNode = NULL; + + (void)isodisk; + + if (json->enDataType != JSON_TYPE_ARRAY) + { + grub_printf("Not array %d\n", json->enDataType); + return 0; + } + + for (pNode = json->pstChild; pNode; pNode = pNode->pstNext) + { + path = vtoy_json_get_string_ex(pNode->pstChild, "image"); + if (!path) + { + grub_printf("image not found\n"); + continue; + } + + archive = vtoy_json_get_string_ex(pNode->pstChild, "archive"); + if (!archive) + { + grub_printf("archive not found\n"); + continue; + } + + grub_printf("image: <%s> [%s]\n", path, ventoy_check_file_exist("%s%s", isodisk, path) ? "OK" : "NOT EXIST"); + grub_printf("archive: <%s> [%s]\n\n", archive, ventoy_check_file_exist("%s%s", isodisk, archive) ? "OK" : "NOT EXIST"); + } + + return 0; +} + +static int ventoy_plugin_injection_entry(VTOY_JSON *json, const char *isodisk) +{ + const char *path = NULL; + const char *archive = NULL; + VTOY_JSON *pNode = NULL; + injection_config *node = NULL; + injection_config *next = NULL; + + (void)isodisk; + + if (json->enDataType != JSON_TYPE_ARRAY) + { + debug("Not array %d\n", json->enDataType); + return 0; + } + + if (g_injection_head) + { + for (node = g_injection_head; node; node = next) + { + next = node->next; + grub_free(node); + } + + g_injection_head = NULL; + } + + for (pNode = json->pstChild; pNode; pNode = pNode->pstNext) + { + path = vtoy_json_get_string_ex(pNode->pstChild, "image"); + archive = vtoy_json_get_string_ex(pNode->pstChild, "archive"); + if (path && path[0] == '/' && archive && archive[0] == '/') + { + node = grub_zalloc(sizeof(injection_config)); + if (node) + { + node->pathlen = grub_snprintf(node->isopath, sizeof(node->isopath), "%s", path); + grub_snprintf(node->archive, sizeof(node->archive), "%s", archive); + + if (g_injection_head) + { + node->next = g_injection_head; + } + + g_injection_head = node; + } + } + } + + return 0; +} + static int ventoy_plugin_menuclass_entry(VTOY_JSON *json, const char *isodisk) { int type; @@ -914,6 +1005,7 @@ static plugin_entry g_plugin_entries[] = { "persistence", ventoy_plugin_persistence_entry, ventoy_plugin_persistence_check }, { "menu_alias", ventoy_plugin_menualias_entry, ventoy_plugin_menualias_check }, { "menu_class", ventoy_plugin_menuclass_entry, ventoy_plugin_menuclass_check }, + { "injection", ventoy_plugin_injection_entry, ventoy_plugin_injection_check }, }; static int ventoy_parse_plugin_config(VTOY_JSON *json, const char *isodisk) @@ -1151,6 +1243,22 @@ end: return rc; } +const char * ventoy_plugin_get_injection(const char *isopath) +{ + injection_config *node = NULL; + int len = (int)grub_strlen(isopath); + + for (node = g_injection_head; node; node = node->next) + { + if (node->pathlen == len && grub_strcmp(node->isopath, isopath) == 0) + { + return node->archive; + } + } + + return NULL; +} + const char * ventoy_plugin_get_menu_alias(int type, const char *isopath) { menu_alias *node = NULL; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_windows.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_windows.c index 4b3c2783..9dc3cc1c 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_windows.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_windows.c @@ -722,6 +722,17 @@ int ventoy_fill_windows_rtdata(void *buf, char *isopath) { debug("auto install script skipped or not configed %s\n", pos); } + + script = (char *)ventoy_plugin_get_injection(pos); + if (script) + { + debug("injection archive <%s>\n", script); + grub_snprintf(data->injection_archive, sizeof(data->injection_archive) - 1, "%s", script); + } + else + { + debug("injection archive not configed %s\n", pos); + } return 0; } diff --git a/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h b/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h index 93365c73..029aec4e 100644 --- a/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h +++ b/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h @@ -132,7 +132,8 @@ typedef struct ventoy_os_param typedef struct ventoy_windows_data { char auto_install_script[384]; - grub_uint8_t reserved[128]; + char injection_archive[384]; + grub_uint8_t reserved[256]; }ventoy_windows_data; diff --git a/GRUB2/MOD_SRC/grub-2.04/install.sh b/GRUB2/MOD_SRC/grub-2.04/install.sh index 19cffe56..1369d83f 100644 --- a/GRUB2/MOD_SRC/grub-2.04/install.sh +++ b/GRUB2/MOD_SRC/grub-2.04/install.sh @@ -20,10 +20,10 @@ all_modules_uefi="blocklist ventoy test search at_keyboard usb_keyboard gcry_md all_extra_modules="elf macho offsetio regexp file" if [ "$1" = "uefi" ]; then - all_modules="$net_modules_uefi $all_modules_uefi $all_extra_modules" + all_modules="$net_modules_uefi $all_modules_uefi $all_extra_modules " grub-mkimage -v --directory "$VT_DIR/GRUB2/INSTALL/lib/grub/x86_64-efi" --prefix '(,2)/grub' --output "$VT_DIR/INSTALL/EFI/BOOT/grubx64_real.efi" --format 'x86_64-efi' --compression 'auto' $all_modules_uefi 'fat' 'part_msdos' else - all_modules="$net_modules_legacy $all_modules_legacy" + all_modules="$net_modules_legacy $all_modules_legacy " grub-mkimage -v --directory "$VT_DIR/GRUB2/INSTALL/lib/grub/i386-pc" --prefix '(,2)/grub' --output "$VT_DIR/INSTALL/grub/i386-pc/core.img" --format 'i386-pc' --compression 'auto' $all_modules_legacy 'fat' 'part_msdos' 'biosdisk' fi @@ -34,16 +34,29 @@ if [ "$1" = "uefi" ]; then cp -a $VT_DIR/GRUB2/PXE/grub2/x86_64-efi/core.efi $VT_DIR/GRUB2/NBP/core.efi || exit 1 rm -f $VT_DIR/INSTALL/grub/x86_64-efi/normal.mod - cp -a $VT_DIR/GRUB2/PXE/grub2/x86_64-efi/normal.mod $VT_DIR/INSTALL/grub/x86_64-efi/normal.mod || exit 1 + cp -a $VT_DIR/GRUB2/PXE/grub2/x86_64-efi/normal.mod $VT_DIR/INSTALL/grub/x86_64-efi/normal.mod || exit 1 + + #copy other modules + ls -1 $VT_DIR/GRUB2/INSTALL/lib/grub/x86_64-efi/ | egrep '\.(lst|mod)$' | while read line; do + if ! echo $all_modules | grep -q "${line%.mod} "; then + echo "Copy $line ..." + rm -f $VT_DIR/INSTALL/grub/x86_64-efi/$line + cp -a $VT_DIR/GRUB2/INSTALL/lib/grub/x86_64-efi/$line $VT_DIR/INSTALL/grub/x86_64-efi/ + fi + done else rm -f $VT_DIR/GRUB2/NBP/core.0 cp -a $VT_DIR/GRUB2/PXE/grub2/i386-pc/core.0 $VT_DIR/GRUB2/NBP/core.0 || exit 1 - for md in $all_extra_modules; do - rm -f $VT_DIR/INSTALL/grub/i386-pc/${md}.mod - cp -a $VT_DIR/GRUB2/INSTALL/lib/grub/i386-pc/${md}.mod $VT_DIR/INSTALL/grub/i386-pc/ - done - rm -f $VT_DIR/INSTALL/grub/i386-pc/boot.img cp -a $VT_DIR/GRUB2/INSTALL/lib/grub/i386-pc/boot.img $VT_DIR/INSTALL/grub/i386-pc/boot.img || exit 1 + + #copy other modules + ls -1 $VT_DIR/GRUB2/INSTALL/lib/grub/i386-pc/ | egrep '\.(lst|mod)$' | while read line; do + if ! echo $all_modules | grep -q "${line%.mod} "; then + echo "Copy $line ..." + rm -f $VT_DIR/INSTALL/grub/i386-pc/$line + cp -a $VT_DIR/GRUB2/INSTALL/lib/grub/i386-pc/$line $VT_DIR/INSTALL/grub/i386-pc/ + fi + done fi diff --git a/IMG/cpio/ventoy/hook/debian/linuxconsole-disk.sh b/IMG/cpio/ventoy/hook/debian/linuxconsole-disk.sh new file mode 100644 index 00000000..e5bb7cbb --- /dev/null +++ b/IMG/cpio/ventoy/hook/debian/linuxconsole-disk.sh @@ -0,0 +1,71 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +. /ventoy/hook/ventoy-hook-lib.sh + +if is_ventoy_hook_finished; then + exit 0 +fi + +vtlog "####### $0 $* ########" + +VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH + +wait_for_usb_disk_ready + +vtdiskname=$(get_ventoy_disk_name) +if [ "$vtdiskname" = "unknown" ]; then + vtlog "ventoy disk not found" + PATH=$VTPATH_OLD + exit 0 +fi + + +vtoydm -i -f $VTOY_PATH/ventoy_image_map -d $vtdiskname > $VTOY_PATH/iso_file_list + +vtline=$(grep '[-][-] drivers-.*\.squashfs' $VTOY_PATH/iso_file_list) +sector=$(echo $vtline | awk '{print $(NF-1)}') +length=$(echo $vtline | awk '{print $NF}') + +vtoydm -e -f $VTOY_PATH/ventoy_image_map -d $vtdiskname -s $sector -l $length -o $VTOY_PATH/driver.squashfs +mount -t squashfs $VTOY_PATH/driver.squashfs /lib/modules +modprobe dm-mod + +umount /lib/modules +rm -f $VTOY_PATH/driver.squashfs + +ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace" + +blkdev_num=$($VTOY_PATH/tool/dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1:\2/') +blkdev_dev=$($VTOY_PATH/tool/dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1 \2/') +vtDM=$(ventoy_find_dm_id ${blkdev_num}) + +if ! [ -b /dev/$vtDM ]; then + mknod -m 0660 /dev/$vtDM b $blkdev_dev +fi + +if mount /dev/$vtDM /media/ydfs; then + vtlog "mount success" +else + vtlog "mount failed" +fi + +PATH=$VTPATH_OLD + +set_ventoy_hook_finish diff --git a/IMG/cpio/ventoy/hook/debian/linuxconsole-hook.sh b/IMG/cpio/ventoy/hook/debian/linuxconsole-hook.sh new file mode 100644 index 00000000..a8e1db71 --- /dev/null +++ b/IMG/cpio/ventoy/hook/debian/linuxconsole-hook.sh @@ -0,0 +1,23 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +$SED "s#/busybox/bin/sleep 2#/busybox/bin/sleep 10#" -i /etc/init.d/tty1 +$SED "/install *-d *.media.ydfs/a return" -i /ydfs/detect/media +$SED "/install *-d *.media.ydfs/a $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/linuxconsole-disk.sh" -i /ydfs/detect/media + diff --git a/IMG/cpio/ventoy/hook/debian/udev_disk_hook.sh b/IMG/cpio/ventoy/hook/debian/udev_disk_hook.sh index d2afcc82..8cbda0e5 100644 --- a/IMG/cpio/ventoy/hook/debian/udev_disk_hook.sh +++ b/IMG/cpio/ventoy/hook/debian/udev_disk_hook.sh @@ -50,7 +50,7 @@ ventoy_os_install_dmsetup() { if $GREP -q 'device-mapper' /proc/devices; then vtlog "device mapper module is loaded" else - vtlog"device mapper module is NOT loaded, now load it..." + vtlog "device mapper module is NOT loaded, now load it..." VER=$($BUSYBOX_PATH/uname -r) KO=$($FIND /lib/modules/$VER/kernel/drivers/md -name "dm-mod*") diff --git a/IMG/cpio/ventoy/hook/debian/ventoy-hook.sh b/IMG/cpio/ventoy/hook/debian/ventoy-hook.sh index 2bc7a860..f23aef65 100644 --- a/IMG/cpio/ventoy/hook/debian/ventoy-hook.sh +++ b/IMG/cpio/ventoy/hook/debian/ventoy-hook.sh @@ -60,6 +60,10 @@ ventoy_get_debian_distro() { echo 'porteus'; return fi + if $GREP -q 'linuxconsole' /proc/version; then + echo 'linuxconsole'; return + fi + echo 'default' } diff --git a/IMG/cpio/ventoy/hook/vine/dev-listen.sh b/IMG/cpio/ventoy/hook/vine/dev-listen.sh new file mode 100644 index 00000000..97cddd60 --- /dev/null +++ b/IMG/cpio/ventoy/hook/vine/dev-listen.sh @@ -0,0 +1,63 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +. /ventoy/hook/ventoy-hook-lib.sh + +while [ -n "1" ]; do + if [ -e /dev/null ]; then + break + else + $SLEEP 0.5 + fi +done + +while [ -n "1" ]; do + if [ -e /sys/block ]; then + break + else + $SLEEP 0.5 + fi +done + +while [ -n "Y" ]; do + vtdiskname=$(get_ventoy_disk_name) + if [ "$vtdiskname" != "unknown" ]; then + break + else + $SLEEP 0.5 + fi +done + +vtshortdev=${vtdiskname#/dev/} + +if ! [ -b $vtdiskname ]; then + blkdev=$($CAT /sys/class/block/$vtshortdev/dev | $SED 's/:/ /g') + $BUSYBOX_PATH/mknod -m 0660 $vtdiskname b $blkdev +fi + +if ! [ -b "${vtdiskname}2" ]; then + blkdev=$($CAT /sys/class/block/${vtshortdev}2/dev | $SED 's/:/ /g') + $BUSYBOX_PATH/mknod -m 0660 "${vtdiskname}2" b $blkdev +fi + +$BUSYBOX_PATH/ls /dev/ > /dev/console + +$BUSYBOX_PATH/sh $VTOY_PATH/hook/vine/udev_disk_hook.sh "${vtdiskname#/dev/}2" + + diff --git a/IMG/cpio/ventoy/hook/vine/udev_disk_hook.sh b/IMG/cpio/ventoy/hook/vine/udev_disk_hook.sh new file mode 100644 index 00000000..8209095a --- /dev/null +++ b/IMG/cpio/ventoy/hook/vine/udev_disk_hook.sh @@ -0,0 +1,79 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +. /ventoy/hook/ventoy-hook-lib.sh + +vtCheatLoop=loop6 + +ventoy_os_install_dmsetup() { + vtlog "ventoy_os_install_dmsetup $1" + + vt_usb_disk=$1 + + # dump iso file location + $VTOY_PATH/tool/vtoydm -i -f $VTOY_PATH/ventoy_image_map -d ${vt_usb_disk} > $VTOY_PATH/iso_file_list + + # install dmsetup + LINE=$($GREP 'kernel-[0-9].*\.rpm' $VTOY_PATH/iso_file_list) + if [ $? -eq 0 ]; then + install_rpm_from_line "$LINE" ${vt_usb_disk} + fi + + $BUSYBOX_PATH/modprobe dm-mod + + vtlog "dmsetup install finish, now check it..." + + dmsetup_path=/ventoy/tool/dmsetup + if [ -z "$dmsetup_path" ]; then + vterr "dmsetup still not found after install" + elif $dmsetup_path info >> $VTLOG 2>&1; then + vtlog "$dmsetup_path work ok" + else + vterr "$dmsetup_path not work" + fi +} + + +if is_ventoy_hook_finished || not_ventoy_disk "${1:0:-1}"; then + # /dev/vtCheatLoop come first + if [ "$1" = "$vtCheatLoop" ] && [ -b $VTOY_DM_PATH ]; then + ventoy_copy_device_mapper /dev/$vtCheatLoop + fi + exit 0 +fi + +ventoy_os_install_dmsetup "/dev/${1:0:-1}" + +ventoy_udev_disk_common_hook $* "noreplace" + +$BUSYBOX_PATH/mount $VTOY_DM_PATH /mnt/ventoy + +# +# We do a trick for rhel6 series here. +# Use /dev/$vtCheatLoop and wapper it as a removable cdrom with bind mount. +# Then the anaconda installer will accept /dev/$vtCheatLoop as the install medium. +# +ventoy_copy_device_mapper /dev/$vtCheatLoop + +$BUSYBOX_PATH/cp -a /sys/devices/virtual/block/$vtCheatLoop /tmp/ >> $VTLOG 2>&1 +echo 19 > /tmp/$vtCheatLoop/capability +$BUSYBOX_PATH/mount --bind /tmp/$vtCheatLoop /sys/block/$vtCheatLoop >> $VTLOG 2>&1 + +# OK finish +set_ventoy_hook_finish diff --git a/IMG/cpio/ventoy/hook/vine/ventoy-hook.sh b/IMG/cpio/ventoy/hook/vine/ventoy-hook.sh new file mode 100644 index 00000000..a9deb408 --- /dev/null +++ b/IMG/cpio/ventoy/hook/vine/ventoy-hook.sh @@ -0,0 +1,28 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +. $VTOY_PATH/hook/ventoy-os-lib.sh + +$BUSYBOX_PATH/mkdir -p /etc/anaconda.repos.d /mnt/ventoy +ventoy_print_yum_repo "ventoy" "file:///mnt/ventoy" > /etc/anaconda.repos.d/ventoy.repo + + +$BUSYBOX_PATH/mknod -m 0660 /dev/null c 1 3 +$VTOY_PATH/hook/vine/dev-listen.sh & + diff --git a/IMG/cpio/ventoy/init b/IMG/cpio/ventoy/init index e46aceb6..ff64a39a 100644 --- a/IMG/cpio/ventoy/init +++ b/IMG/cpio/ventoy/init @@ -183,7 +183,30 @@ fi #################################################################### # # -# Step 3 : Hand over to ventoy.sh # +# Step 3 : Extract injection archive # +# # +#################################################################### +if [ -e $VTOY_PATH/ventoy_injection ]; then + echo "decompress injection ..." >>$VTLOG + + vtmagic=$(hexdump -n 2 -e '2/1 "%02X"' $VTOY_PATH/ventoy_injection) + echo "vtmagic=$vtmagic ..." >>$VTLOG + + if [ "1F8B" = "vtmagic" ] || [ "1F9E" = "vtmagic" ]; then + zcat $VTOY_PATH/ventoy_injection | tar -xf -C / + elif [ "425A" = "vtmagic" ]; then + bzcat $VTOY_PATH/ventoy_injection | tar -xf -C / + elif [ "FD37" = "vtmagic" ]; then + xzcat $VTOY_PATH/ventoy_injection | tar -xf -C / + else + unzip -o -q $VTOY_PATH/ventoy_injection -d / + fi +fi + + +#################################################################### +# # +# Step 4 : Hand over to ventoy.sh # # # #################################################################### echo "Now hand over to ventoy.sh" >>$VTLOG diff --git a/IMG/cpio/ventoy/ventoy.sh b/IMG/cpio/ventoy/ventoy.sh index 7242021a..c1cc897e 100644 --- a/IMG/cpio/ventoy/ventoy.sh +++ b/IMG/cpio/ventoy/ventoy.sh @@ -221,6 +221,9 @@ ventoy_get_os_type() { echo 'kwort'; return fi + if $GREP -q 'iwamoto' /proc/version; then + echo 'vine'; return + fi echo "default" } @@ -248,6 +251,7 @@ if [ "$VTOY_BREAK_LEVEL" = "03" ] || [ "$VTOY_BREAK_LEVEL" = "13" ]; then exec $BUSYBOX_PATH/sh fi + #################################################################### # # # Step 4 : Hand over to real init # diff --git a/INSTALL/EFI/BOOT/grubx64_real.efi b/INSTALL/EFI/BOOT/grubx64_real.efi index c804bdbf..4bf13df0 100644 Binary files a/INSTALL/EFI/BOOT/grubx64_real.efi and b/INSTALL/EFI/BOOT/grubx64_real.efi differ diff --git a/INSTALL/README b/INSTALL/README new file mode 100644 index 00000000..fad0c0bc --- /dev/null +++ b/INSTALL/README @@ -0,0 +1,28 @@ + +========== Ventoy2Disk.sh =============== + +sudo sh Ventoy2Disk.sh { -i | -I | -u } /dev/XXX XXX is the USB device, for example /dev/sdb. + +Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX + CMD: + -i install ventoy to sdX (fail if disk already installed with ventoy) + -I force install ventoy to sdX (no matter installed or not) + -u update ventoy in sdX + + OPTION: (optional) + -r SIZE_MB preserve some space at the bottom of the disk (only for install) + -s enable secure boot support (default is disabled) + -g use GPT partition style, default is MBR style (only for install) + + +========== CreatePersistentImg.sh =============== + +sudo sh CreatePersistentImg.sh + +sh CreatePersistentImg.sh [ -s SIZE_IN_MB ] [ -t FSTYPE ] [ -l LABEL ] for example: + +sh CreatePersistentImg.sh ----> persistence.img in 1GB size and ext4 filesystem and casper-rw label +sh CreatePersistentImg.sh -l MX-Persist ----> persistence.img in 1GB size and ext4 filesystem and MX-Persist label +sh CreatePersistentImg.sh -s 2048 ----> persistence.img in 2GB size and ext4 filesystem and casper-rw label +sh CreatePersistentImg.sh -s 4096 -t xfs ----> persistence.img in 4GB size and xfs filesystem (ext2/3/4 xfs are supported) and casper-rw label + diff --git a/INSTALL/Ventoy2Disk.exe b/INSTALL/Ventoy2Disk.exe index 29f29e6e..6959d401 100644 Binary files a/INSTALL/Ventoy2Disk.exe and b/INSTALL/Ventoy2Disk.exe differ diff --git a/INSTALL/grub/debug.cfg b/INSTALL/grub/debug.cfg index 77f3dc5b..d3c44c8a 100644 --- a/INSTALL/grub/debug.cfg +++ b/INSTALL/grub/debug.cfg @@ -1,7 +1,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json { menuentry 'Check global control plugin configuration' --class=debug_control { set pager=1 - vt_check_plugin_json $vt_plugin_path control $iso_path + vt_check_plugin_json $vt_plugin_path control $vtoy_iso_part echo -e "\npress ENTER to exit ..." read vtInputKey @@ -10,7 +10,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json { menuentry 'Check theme plugin configuration' --class=debug_theme { set pager=1 - vt_check_plugin_json $vt_plugin_path theme $iso_path + vt_check_plugin_json $vt_plugin_path theme $vtoy_iso_part echo -e "\npress ENTER to exit ..." read vtInputKey @@ -19,7 +19,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json { menuentry 'Check auto install plugin configuration' --class=debug_autoinstall { set pager=1 - vt_check_plugin_json $vt_plugin_path auto_install $iso_path + vt_check_plugin_json $vt_plugin_path auto_install $vtoy_iso_part echo -e "\npress ENTER to exit ..." read vtInputKey @@ -28,7 +28,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json { menuentry 'Check persistence plugin configuration' --class=debug_persistence { set pager=1 - vt_check_plugin_json $vt_plugin_path persistence $iso_path + vt_check_plugin_json $vt_plugin_path persistence $vtoy_iso_part echo -e "\n############### dump persistence ###############" vt_dump_persistence @@ -40,7 +40,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json { menuentry 'Check menu alias plugin configuration' --class=debug_menualias { set pager=1 - vt_check_plugin_json $vt_plugin_path menu_alias $iso_path + vt_check_plugin_json $vt_plugin_path menu_alias $vtoy_iso_part echo -e "\npress ENTER to exit ..." read vtInputKey @@ -49,12 +49,12 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json { menuentry 'Check menu class plugin configuration' --class=debug_menuclass { set pager=1 - vt_check_plugin_json $vt_plugin_path menu_class $iso_path + vt_check_plugin_json $vt_plugin_path menu_class $vtoy_iso_part echo -e "\npress ENTER to exit ..." read vtInputKey unset pager - } + } menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET { echo 'Return ...' diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index 80279bd3..91ec7e06 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -67,6 +67,18 @@ function ventoy_localboot { configfile $prefix/localboot.cfg } +function ventoy_ext_menu { + #if [ -e $vt_plugin_path/ventoy/ventoy_grub.cfg ]; then + set ventoy_new_context=1 + configfile $vt_plugin_path/ventoy/ventoy_grub.cfg + unset ventoy_new_context + #else + # echo "ventoy_grub.cfg NOT exist." + # echo -e "\npress ENTER to exit ..." + # read vtInputKey + #fi +} + function get_os_type { set vtoy_os=Linux @@ -292,6 +304,8 @@ function uefi_linux_menu_func { fi elif [ -f (loop)/EFI/BOOT/initrd.gz ]; then vt_add_replace_file $vtindex "EFI\\BOOT\\initrd.gz" + elif [ -f (loop)/loader/entries/thinstation.conf ]; then + vt_add_replace_file $vtindex "boot\\initrd" fi elif [ -d (loop)/EFI/boot/entries ]; then if [ -f (loop)/parabola/boot/x86_64/parabolaiso.img ]; then @@ -538,24 +552,24 @@ function legacy_iso_memdisk { function iso_common_menuentry { if [ "$grub_platform" = "pc" ]; then if vt_check_mode 0; then - legacy_iso_memdisk $iso_path + legacy_iso_memdisk $vtoy_iso_part else - legacy_iso_menu_func $iso_path + legacy_iso_menu_func $vtoy_iso_part fi else if vt_check_mode 0; then - uefi_iso_memdisk $iso_path + uefi_iso_memdisk $vtoy_iso_part else - uefi_iso_menu_func $iso_path + uefi_iso_menu_func $vtoy_iso_part fi fi } function common_unsupport_menuentry { echo -e "\n The name of the iso file could NOT contain space or non-ascii characters. \n" - echo -e " 文件名中不能有中文或空格 \n" - echo -e "\n Will return to main menu after 10 seconds ...\n" - sleep 10 + echo -e " 文件名中不能有中文或空格 \n" + echo -e "\npress ENTER to exit (请按 回车 键返回) ..." + read vtInputKey } function iso_unsupport_menuentry { @@ -564,7 +578,7 @@ function iso_unsupport_menuentry { function wim_common_menuentry { vt_chosen_img_path chosen_path - vt_wim_chain_data ${iso_path}${chosen_path} + vt_wim_chain_data ${vtoy_iso_part}${chosen_path} ventoy_debug_pause @@ -591,7 +605,7 @@ function efi_common_menuentry { vt_chosen_img_path chosen_path ventoy_cli_console - chainloader ${iso_path}${chosen_path} + chainloader ${vtoy_iso_part}${chosen_path} boot ventoy_gui_console } @@ -610,7 +624,7 @@ function efi_unsupport_menuentry { ############################################################# ############################################################# -set VENTOY_VERSION="1.0.15" +set VENTOY_VERSION="1.0.16" # Default menu display mode, you can change it as you want. # 0: List mode @@ -624,6 +638,7 @@ set VTOY_ISO_UEFI_DRV_STR="UEFI FS" set VTOY_F2_CMD="ventoy_power" set VTOY_F4_CMD="ventoy_localboot" set VTOY_F5_CMD="ventoy_diagnosis" +set VTOY_F6_CMD="ventoy_ext_menu" if [ "$grub_platform" = "pc" ]; then set VTOY_TEXT_MENU_VER="Ventoy $VENTOY_VERSION BIOS www.ventoy.net" @@ -637,15 +652,15 @@ if [ "$vtoy_dev" = "tftp" ]; then set vtoy_path=($root) for vtid in 0 1 2 3; do if [ -d (hd$vtid,2)/ventoy ]; then - set iso_path=(hd$vtid,1) + set vtoy_iso_part=(hd$vtid,1) set vtoy_efi_part=(hd$vtid,2) break fi done loadfont ascii - if [ -f $iso_path/ventoy/ventoy.json ]; then - set vt_plugin_path=$iso_path + if [ -f $vtoy_iso_part/ventoy/ventoy.json ]; then + set vt_plugin_path=$vtoy_iso_part else set vt_plugin_path=$prefix vt_load_plugin $vt_plugin_path @@ -657,16 +672,16 @@ else set vtoy_path=($root)/ventoy fi - set iso_path=($vtoy_dev,1) + set vtoy_iso_part=($vtoy_dev,1) set vtoy_efi_part=($vtoy_dev,2) loadfont unicode - set vt_plugin_path=$iso_path + set vt_plugin_path=$vtoy_iso_part fi #Load Plugin -if [ -f $iso_path/ventoy/ventoy.json ]; then - vt_load_plugin $iso_path +if [ -f $vtoy_iso_part/ventoy/ventoy.json ]; then + vt_load_plugin $vtoy_iso_part fi if [ -n "$VTOY_MENU_TIMEOUT" ]; then @@ -675,8 +690,8 @@ else unset timeout fi -if [ -f $iso_path/ventoy/ventoy_wimboot.img ]; then - vt_load_wimboot $iso_path/ventoy/ventoy_wimboot.img +if [ -f $vtoy_iso_part/ventoy/ventoy_wimboot.img ]; then + vt_load_wimboot $vtoy_iso_part/ventoy/ventoy_wimboot.img elif [ -f $vtoy_efi_part/ventoy/ventoy_wimboot.img ]; then vt_load_wimboot $vtoy_efi_part/ventoy/ventoy_wimboot.img fi @@ -684,10 +699,10 @@ fi if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then set VTOY_F3_CMD="vt_dynamic_menu 1 1" - set VTOY_HOTKEY_TIP="F1:Memdisk F2:Power F3:TreeView F4:Localboot F5:Debug" + set VTOY_HOTKEY_TIP="F1:Memdisk F2:Power F3:TreeView F4:Localboot F5:Debug F6:ExMenu" else set VTOY_F3_CMD="vt_dynamic_menu 1 0" - set VTOY_HOTKEY_TIP="F1:Memdisk F2:Power F3:ListView F4:Localboot F5:Debug" + set VTOY_HOTKEY_TIP="F1:Memdisk F2:Power F3:ListView F4:Localboot F5:Debug F6:ExMenu" fi @@ -708,9 +723,20 @@ else terminal_output gfxterm fi +#export necessary variable +export theme +export gfxmode +export vtoy_dev +export vtoy_iso_part +export vtoy_efi_part +export VENTOY_VERSION + + + + #colect all image files (iso files) set ventoy_img_count=0 -vt_list_img $iso_path ventoy_img_count +vt_list_img $vtoy_iso_part ventoy_img_count #Main menu if [ $ventoy_img_count -gt 0 ]; then diff --git a/INSTALL/grub/i386-pc/acpi.mod b/INSTALL/grub/i386-pc/acpi.mod new file mode 100644 index 00000000..8768848c Binary files /dev/null and b/INSTALL/grub/i386-pc/acpi.mod differ diff --git a/INSTALL/grub/i386-pc/adler32.mod b/INSTALL/grub/i386-pc/adler32.mod new file mode 100644 index 00000000..f6b7276c Binary files /dev/null and b/INSTALL/grub/i386-pc/adler32.mod differ diff --git a/INSTALL/grub/i386-pc/affs.mod b/INSTALL/grub/i386-pc/affs.mod new file mode 100644 index 00000000..1aabc41c Binary files /dev/null and b/INSTALL/grub/i386-pc/affs.mod differ diff --git a/INSTALL/grub/i386-pc/afs.mod b/INSTALL/grub/i386-pc/afs.mod new file mode 100644 index 00000000..020612f3 Binary files /dev/null and b/INSTALL/grub/i386-pc/afs.mod differ diff --git a/INSTALL/grub/i386-pc/ahci.mod b/INSTALL/grub/i386-pc/ahci.mod new file mode 100644 index 00000000..79278035 Binary files /dev/null and b/INSTALL/grub/i386-pc/ahci.mod differ diff --git a/INSTALL/grub/i386-pc/aout.mod b/INSTALL/grub/i386-pc/aout.mod new file mode 100644 index 00000000..e775a1eb Binary files /dev/null and b/INSTALL/grub/i386-pc/aout.mod differ diff --git a/INSTALL/grub/i386-pc/archelp.mod b/INSTALL/grub/i386-pc/archelp.mod new file mode 100644 index 00000000..0aa3bb90 Binary files /dev/null and b/INSTALL/grub/i386-pc/archelp.mod differ diff --git a/INSTALL/grub/i386-pc/ata.mod b/INSTALL/grub/i386-pc/ata.mod new file mode 100644 index 00000000..10d98eda Binary files /dev/null and b/INSTALL/grub/i386-pc/ata.mod differ diff --git a/INSTALL/grub/i386-pc/backtrace.mod b/INSTALL/grub/i386-pc/backtrace.mod new file mode 100644 index 00000000..78c7fc1d Binary files /dev/null and b/INSTALL/grub/i386-pc/backtrace.mod differ diff --git a/INSTALL/grub/i386-pc/bfs.mod b/INSTALL/grub/i386-pc/bfs.mod new file mode 100644 index 00000000..07ac6456 Binary files /dev/null and b/INSTALL/grub/i386-pc/bfs.mod differ diff --git a/INSTALL/grub/i386-pc/bitmap.mod b/INSTALL/grub/i386-pc/bitmap.mod new file mode 100644 index 00000000..42404635 Binary files /dev/null and b/INSTALL/grub/i386-pc/bitmap.mod differ diff --git a/INSTALL/grub/i386-pc/bitmap_scale.mod b/INSTALL/grub/i386-pc/bitmap_scale.mod new file mode 100644 index 00000000..8b46a187 Binary files /dev/null and b/INSTALL/grub/i386-pc/bitmap_scale.mod differ diff --git a/INSTALL/grub/i386-pc/bsd.mod b/INSTALL/grub/i386-pc/bsd.mod new file mode 100644 index 00000000..51d7358d Binary files /dev/null and b/INSTALL/grub/i386-pc/bsd.mod differ diff --git a/INSTALL/grub/i386-pc/bswap_test.mod b/INSTALL/grub/i386-pc/bswap_test.mod new file mode 100644 index 00000000..4112db95 Binary files /dev/null and b/INSTALL/grub/i386-pc/bswap_test.mod differ diff --git a/INSTALL/grub/i386-pc/btrfs.mod b/INSTALL/grub/i386-pc/btrfs.mod new file mode 100644 index 00000000..25aa06e2 Binary files /dev/null and b/INSTALL/grub/i386-pc/btrfs.mod differ diff --git a/INSTALL/grub/i386-pc/bufio.mod b/INSTALL/grub/i386-pc/bufio.mod new file mode 100644 index 00000000..73bd58e9 Binary files /dev/null and b/INSTALL/grub/i386-pc/bufio.mod differ diff --git a/INSTALL/grub/i386-pc/cat.mod b/INSTALL/grub/i386-pc/cat.mod new file mode 100644 index 00000000..4afb29f4 Binary files /dev/null and b/INSTALL/grub/i386-pc/cat.mod differ diff --git a/INSTALL/grub/i386-pc/cbfs.mod b/INSTALL/grub/i386-pc/cbfs.mod new file mode 100644 index 00000000..578ed2cd Binary files /dev/null and b/INSTALL/grub/i386-pc/cbfs.mod differ diff --git a/INSTALL/grub/i386-pc/cbls.mod b/INSTALL/grub/i386-pc/cbls.mod new file mode 100644 index 00000000..bb86e5ac Binary files /dev/null and b/INSTALL/grub/i386-pc/cbls.mod differ diff --git a/INSTALL/grub/i386-pc/cbmemc.mod b/INSTALL/grub/i386-pc/cbmemc.mod new file mode 100644 index 00000000..76253f79 Binary files /dev/null and b/INSTALL/grub/i386-pc/cbmemc.mod differ diff --git a/INSTALL/grub/i386-pc/cbtable.mod b/INSTALL/grub/i386-pc/cbtable.mod new file mode 100644 index 00000000..47ebd776 Binary files /dev/null and b/INSTALL/grub/i386-pc/cbtable.mod differ diff --git a/INSTALL/grub/i386-pc/cbtime.mod b/INSTALL/grub/i386-pc/cbtime.mod new file mode 100644 index 00000000..fde0d472 Binary files /dev/null and b/INSTALL/grub/i386-pc/cbtime.mod differ diff --git a/INSTALL/grub/i386-pc/cmdline_cat_test.mod b/INSTALL/grub/i386-pc/cmdline_cat_test.mod new file mode 100644 index 00000000..e22586dd Binary files /dev/null and b/INSTALL/grub/i386-pc/cmdline_cat_test.mod differ diff --git a/INSTALL/grub/i386-pc/cmosdump.mod b/INSTALL/grub/i386-pc/cmosdump.mod new file mode 100644 index 00000000..23d4b7d8 Binary files /dev/null and b/INSTALL/grub/i386-pc/cmosdump.mod differ diff --git a/INSTALL/grub/i386-pc/cmostest.mod b/INSTALL/grub/i386-pc/cmostest.mod new file mode 100644 index 00000000..d94f1c1a Binary files /dev/null and b/INSTALL/grub/i386-pc/cmostest.mod differ diff --git a/INSTALL/grub/i386-pc/cmp.mod b/INSTALL/grub/i386-pc/cmp.mod new file mode 100644 index 00000000..d5155d7e Binary files /dev/null and b/INSTALL/grub/i386-pc/cmp.mod differ diff --git a/INSTALL/grub/i386-pc/cmp_test.mod b/INSTALL/grub/i386-pc/cmp_test.mod new file mode 100644 index 00000000..f9a14230 Binary files /dev/null and b/INSTALL/grub/i386-pc/cmp_test.mod differ diff --git a/INSTALL/grub/i386-pc/command.lst b/INSTALL/grub/i386-pc/command.lst new file mode 100644 index 00000000..774f3c5e --- /dev/null +++ b/INSTALL/grub/i386-pc/command.lst @@ -0,0 +1,201 @@ +*acpi: acpi +*all_functional_test: functional_test +*background_image: gfxterm_background +*cat: cat +*cpuid: cpuid +*crc: hashsum +*cryptomount: cryptodisk +*drivemap: drivemap +*echo: echo +*extract_syslinux_entries_configfile: syslinuxcfg +*extract_syslinux_entries_source: syslinuxcfg +*file: file +*functional_test: functional_test +*gettext: gettext +*halt: halt +*hashsum: hashsum +*hdparm: hdparm +*hello: hello +*help: help +*hexdump: hexdump +*inb: iorw +*inl: iorw +*inw: iorw +*keystatus: keystatus +*kfreebsd: bsd +*knetbsd: bsd +*kopenbsd: bsd +*list_env: loadenv +*load_env: loadenv +*loopback: loopback +*ls: ls +*lsacpi: lsacpi +*lspci: lspci +*md5sum: hashsum +*menuentry: normal +*pcidump: pcidump +*plan9: plan9 +*probe: probe +*rdmsr: rdmsr +*read_byte: memrw +*read_dword: memrw +*read_word: memrw +*regexp: regexp +*save_env: loadenv +*search: search +*sendkey: sendkey +*serial: serial +*setpci: setpci +*sha1sum: hashsum +*sha256sum: hashsum +*sha512sum: hashsum +*sleep: sleep +*submenu: normal +*syslinux_configfile: syslinuxcfg +*syslinux_source: syslinuxcfg +*terminfo: terminfo +*test_blockarg: test_blockarg +*testspeed: testspeed +*tr: tr +*trust: pgp +*verify_detached: pgp +*xnu_splash: xnu +*zfskey: zfscrypt +.: configfile +[: test +authenticate: normal +background_color: gfxterm_background +backtrace: backtrace +badram: mmap +blocklist: blocklist +boot: boot +break: normal +cat: minicmd +cbmemc: cbmemc +chainloader: chain +clear: normal +cmosclean: cmostest +cmosdump: cmosdump +cmosset: cmostest +cmostest: cmostest +cmp: cmp +configfile: configfile +continue: normal +coreboot_boottime: cbtime +cutmem: mmap +date: date +distrust: pgp +dump: minicmd +efiemu_loadcore: efiemu +efiemu_prepare: efiemu +efiemu_unload: efiemu +eval: eval +exit: minicmd +export: normal +extract_entries_configfile: configfile +extract_entries_source: configfile +extract_legacy_entries_configfile: legacycfg +extract_legacy_entries_source: legacycfg +false: true +freedos: freedos +gdbstub: gdb +gdbstub_break: gdb +gdbstub_stop: gdb +gptsync: gptsync +help: minicmd +hexdump_random: random +initrd16: linux16 +initrd: linux +keymap: keylayouts +kfreebsd_loadenv: bsd +kfreebsd_module: bsd +kfreebsd_module_elf: bsd +knetbsd_module: bsd +knetbsd_module_elf: bsd +kopenbsd_ramdisk: bsd +legacy_check_password: legacycfg +legacy_configfile: legacycfg +legacy_initrd: legacycfg +legacy_initrd_nounzip: legacycfg +legacy_kernel: legacycfg +legacy_password: legacycfg +legacy_source: legacycfg +linux16: linux16 +linux: linux +list_trusted: pgp +loadfont: font +lsapm: lsapm +lscoreboot: cbls +lsfonts: font +lsmmap: lsmmap +lsmod: minicmd +macppcbless: macbless +mactelbless: macbless +module2: multiboot2 +module: multiboot +multiboot2: multiboot2 +multiboot: multiboot +nativedisk: nativedisk +net_add_addr: net +net_add_dns: net +net_add_route: net +net_bootp: net +net_del_addr: net +net_del_dns: net +net_del_route: net +net_dhcp: net +net_get_dhcp_option: net +net_ipv6_autoconf: net +net_ls_addr: net +net_ls_cards: net +net_ls_dns: net +net_ls_routes: net +net_nslookup: net +normal: normal +normal_exit: normal +ntldr: ntldr +outb: iorw +outl: iorw +outw: iorw +parttool: parttool +password: password +password_pbkdf2: password_pbkdf2 +play: play +pxechainloader: pxechain +read: read +reboot: reboot +return: normal +rmmod: minicmd +search.file: search_fs_file +search.fs_label: search_label +search.fs_uuid: search_fs_uuid +setparams: normal +shift: normal +source: configfile +terminal_input: terminal +terminal_output: terminal +test: test +testload: testload +time: time +true: true +truecrypt: truecrypt +usb: usbtest +vbeinfo: videoinfo +vbetest: videotest +videoinfo: videoinfo +videotest: videotest +write_byte: memrw +write_dword: memrw +write_word: memrw +wrmsr: wrmsr +xnu_devprop_load: xnu +xnu_kernel64: xnu +xnu_kernel: xnu +xnu_kext: xnu +xnu_kextdir: xnu +xnu_mkext: xnu +xnu_ramdisk: xnu +xnu_resume: xnu +xnu_uuid: xnu_uuid +zfs-bootfs: zfsinfo +zfsinfo: zfsinfo diff --git a/INSTALL/grub/i386-pc/core.img b/INSTALL/grub/i386-pc/core.img index c0b4c112..d76bbafe 100644 Binary files a/INSTALL/grub/i386-pc/core.img and b/INSTALL/grub/i386-pc/core.img differ diff --git a/INSTALL/grub/i386-pc/cpio.mod b/INSTALL/grub/i386-pc/cpio.mod new file mode 100644 index 00000000..550b2af1 Binary files /dev/null and b/INSTALL/grub/i386-pc/cpio.mod differ diff --git a/INSTALL/grub/i386-pc/cpio_be.mod b/INSTALL/grub/i386-pc/cpio_be.mod new file mode 100644 index 00000000..42776b17 Binary files /dev/null and b/INSTALL/grub/i386-pc/cpio_be.mod differ diff --git a/INSTALL/grub/i386-pc/cpuid.mod b/INSTALL/grub/i386-pc/cpuid.mod new file mode 100644 index 00000000..cc4471aa Binary files /dev/null and b/INSTALL/grub/i386-pc/cpuid.mod differ diff --git a/INSTALL/grub/i386-pc/crc64.mod b/INSTALL/grub/i386-pc/crc64.mod new file mode 100644 index 00000000..441fc4a6 Binary files /dev/null and b/INSTALL/grub/i386-pc/crc64.mod differ diff --git a/INSTALL/grub/i386-pc/crypto.lst b/INSTALL/grub/i386-pc/crypto.lst new file mode 100644 index 00000000..77d9efc0 --- /dev/null +++ b/INSTALL/grub/i386-pc/crypto.lst @@ -0,0 +1,45 @@ +RIJNDAEL: gcry_rijndael +RIJNDAEL192: gcry_rijndael +RIJNDAEL256: gcry_rijndael +AES128: gcry_rijndael +AES-128: gcry_rijndael +AES-192: gcry_rijndael +AES-256: gcry_rijndael +ADLER32: adler32 +CRC64: crc64 +ARCFOUR: gcry_arcfour +BLOWFISH: gcry_blowfish +CAMELLIA128: gcry_camellia +CAMELLIA192: gcry_camellia +CAMELLIA256: gcry_camellia +CAST5: gcry_cast5 +CRC32: gcry_crc +CRC32RFC1510: gcry_crc +CRC24RFC2440: gcry_crc +DES: gcry_des +3DES: gcry_des +DSA: gcry_dsa +IDEA: gcry_idea +MD4: gcry_md4 +MD5: gcry_md5 +RFC2268_40: gcry_rfc2268 +AES: gcry_rijndael +AES192: gcry_rijndael +AES256: gcry_rijndael +RIPEMD160: gcry_rmd160 +RSA: gcry_rsa +SEED: gcry_seed +SERPENT128: gcry_serpent +SERPENT192: gcry_serpent +SERPENT256: gcry_serpent +SHA1: gcry_sha1 +SHA224: gcry_sha256 +SHA256: gcry_sha256 +SHA512: gcry_sha512 +SHA384: gcry_sha512 +TIGER192: gcry_tiger +TIGER: gcry_tiger +TIGER2: gcry_tiger +TWOFISH: gcry_twofish +TWOFISH128: gcry_twofish +WHIRLPOOL: gcry_whirlpool diff --git a/INSTALL/grub/i386-pc/crypto.mod b/INSTALL/grub/i386-pc/crypto.mod new file mode 100644 index 00000000..d9914aed Binary files /dev/null and b/INSTALL/grub/i386-pc/crypto.mod differ diff --git a/INSTALL/grub/i386-pc/cryptodisk.mod b/INSTALL/grub/i386-pc/cryptodisk.mod new file mode 100644 index 00000000..ee52348e Binary files /dev/null and b/INSTALL/grub/i386-pc/cryptodisk.mod differ diff --git a/INSTALL/grub/i386-pc/cs5536.mod b/INSTALL/grub/i386-pc/cs5536.mod new file mode 100644 index 00000000..c8fdce8e Binary files /dev/null and b/INSTALL/grub/i386-pc/cs5536.mod differ diff --git a/INSTALL/grub/i386-pc/ctz_test.mod b/INSTALL/grub/i386-pc/ctz_test.mod new file mode 100644 index 00000000..232ffa80 Binary files /dev/null and b/INSTALL/grub/i386-pc/ctz_test.mod differ diff --git a/INSTALL/grub/i386-pc/datehook.mod b/INSTALL/grub/i386-pc/datehook.mod new file mode 100644 index 00000000..a42ca57a Binary files /dev/null and b/INSTALL/grub/i386-pc/datehook.mod differ diff --git a/INSTALL/grub/i386-pc/datetime.mod b/INSTALL/grub/i386-pc/datetime.mod new file mode 100644 index 00000000..5de1ad49 Binary files /dev/null and b/INSTALL/grub/i386-pc/datetime.mod differ diff --git a/INSTALL/grub/i386-pc/diskfilter.mod b/INSTALL/grub/i386-pc/diskfilter.mod new file mode 100644 index 00000000..cf81580f Binary files /dev/null and b/INSTALL/grub/i386-pc/diskfilter.mod differ diff --git a/INSTALL/grub/i386-pc/div.mod b/INSTALL/grub/i386-pc/div.mod new file mode 100644 index 00000000..f9a5d9d4 Binary files /dev/null and b/INSTALL/grub/i386-pc/div.mod differ diff --git a/INSTALL/grub/i386-pc/div_test.mod b/INSTALL/grub/i386-pc/div_test.mod new file mode 100644 index 00000000..4ec3622a Binary files /dev/null and b/INSTALL/grub/i386-pc/div_test.mod differ diff --git a/INSTALL/grub/i386-pc/dm_nv.mod b/INSTALL/grub/i386-pc/dm_nv.mod new file mode 100644 index 00000000..8b48ad51 Binary files /dev/null and b/INSTALL/grub/i386-pc/dm_nv.mod differ diff --git a/INSTALL/grub/i386-pc/efiemu.mod b/INSTALL/grub/i386-pc/efiemu.mod new file mode 100644 index 00000000..88fd5f0a Binary files /dev/null and b/INSTALL/grub/i386-pc/efiemu.mod differ diff --git a/INSTALL/grub/i386-pc/ehci.mod b/INSTALL/grub/i386-pc/ehci.mod new file mode 100644 index 00000000..17429f59 Binary files /dev/null and b/INSTALL/grub/i386-pc/ehci.mod differ diff --git a/INSTALL/grub/i386-pc/eval.mod b/INSTALL/grub/i386-pc/eval.mod new file mode 100644 index 00000000..417bb915 Binary files /dev/null and b/INSTALL/grub/i386-pc/eval.mod differ diff --git a/INSTALL/grub/i386-pc/exfctest.mod b/INSTALL/grub/i386-pc/exfctest.mod new file mode 100644 index 00000000..9cfe4923 Binary files /dev/null and b/INSTALL/grub/i386-pc/exfctest.mod differ diff --git a/INSTALL/grub/i386-pc/f2fs.mod b/INSTALL/grub/i386-pc/f2fs.mod new file mode 100644 index 00000000..f0fe6fd1 Binary files /dev/null and b/INSTALL/grub/i386-pc/f2fs.mod differ diff --git a/INSTALL/grub/i386-pc/fdt.lst b/INSTALL/grub/i386-pc/fdt.lst new file mode 100644 index 00000000..e69de29b diff --git a/INSTALL/grub/i386-pc/freedos.mod b/INSTALL/grub/i386-pc/freedos.mod new file mode 100644 index 00000000..08cabd0e Binary files /dev/null and b/INSTALL/grub/i386-pc/freedos.mod differ diff --git a/INSTALL/grub/i386-pc/fs.lst b/INSTALL/grub/i386-pc/fs.lst new file mode 100644 index 00000000..0acd240b --- /dev/null +++ b/INSTALL/grub/i386-pc/fs.lst @@ -0,0 +1,37 @@ +affs +afs +bfs +btrfs +cbfs +cpio +cpio_be +exfat +ext2 +f2fs +fat +hfs +hfsplus +iso9660 +jfs +minix +minix2 +minix2_be +minix3 +minix3_be +minix_be +newc +nilfs2 +ntfs +odc +procfs +reiserfs +romfs +sfs +squash4 +tar +udf +ufs1 +ufs1_be +ufs2 +xfs +zfs diff --git a/INSTALL/grub/i386-pc/fshelp.mod b/INSTALL/grub/i386-pc/fshelp.mod new file mode 100644 index 00000000..e986d45a Binary files /dev/null and b/INSTALL/grub/i386-pc/fshelp.mod differ diff --git a/INSTALL/grub/i386-pc/functional_test.mod b/INSTALL/grub/i386-pc/functional_test.mod new file mode 100644 index 00000000..2b498463 Binary files /dev/null and b/INSTALL/grub/i386-pc/functional_test.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_arcfour.mod b/INSTALL/grub/i386-pc/gcry_arcfour.mod new file mode 100644 index 00000000..c49de7a0 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_arcfour.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_blowfish.mod b/INSTALL/grub/i386-pc/gcry_blowfish.mod new file mode 100644 index 00000000..83285b38 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_blowfish.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_camellia.mod b/INSTALL/grub/i386-pc/gcry_camellia.mod new file mode 100644 index 00000000..337637e6 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_camellia.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_cast5.mod b/INSTALL/grub/i386-pc/gcry_cast5.mod new file mode 100644 index 00000000..8a742756 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_cast5.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_crc.mod b/INSTALL/grub/i386-pc/gcry_crc.mod new file mode 100644 index 00000000..d3f30c44 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_crc.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_des.mod b/INSTALL/grub/i386-pc/gcry_des.mod new file mode 100644 index 00000000..2b1f3dee Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_des.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_dsa.mod b/INSTALL/grub/i386-pc/gcry_dsa.mod new file mode 100644 index 00000000..ab382c86 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_dsa.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_idea.mod b/INSTALL/grub/i386-pc/gcry_idea.mod new file mode 100644 index 00000000..b939c0dd Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_idea.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_md4.mod b/INSTALL/grub/i386-pc/gcry_md4.mod new file mode 100644 index 00000000..16f78faf Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_md4.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_rfc2268.mod b/INSTALL/grub/i386-pc/gcry_rfc2268.mod new file mode 100644 index 00000000..db1c2b79 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_rfc2268.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_rijndael.mod b/INSTALL/grub/i386-pc/gcry_rijndael.mod new file mode 100644 index 00000000..6a93d1b3 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_rijndael.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_rmd160.mod b/INSTALL/grub/i386-pc/gcry_rmd160.mod new file mode 100644 index 00000000..24b37c5c Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_rmd160.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_rsa.mod b/INSTALL/grub/i386-pc/gcry_rsa.mod new file mode 100644 index 00000000..11dc6964 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_rsa.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_seed.mod b/INSTALL/grub/i386-pc/gcry_seed.mod new file mode 100644 index 00000000..157c74cc Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_seed.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_serpent.mod b/INSTALL/grub/i386-pc/gcry_serpent.mod new file mode 100644 index 00000000..8ed63641 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_serpent.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_sha1.mod b/INSTALL/grub/i386-pc/gcry_sha1.mod new file mode 100644 index 00000000..855afd66 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_sha1.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_sha256.mod b/INSTALL/grub/i386-pc/gcry_sha256.mod new file mode 100644 index 00000000..fc269cc4 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_sha256.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_sha512.mod b/INSTALL/grub/i386-pc/gcry_sha512.mod new file mode 100644 index 00000000..03b48b50 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_sha512.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_tiger.mod b/INSTALL/grub/i386-pc/gcry_tiger.mod new file mode 100644 index 00000000..a91e3152 Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_tiger.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_twofish.mod b/INSTALL/grub/i386-pc/gcry_twofish.mod new file mode 100644 index 00000000..8b8efaef Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_twofish.mod differ diff --git a/INSTALL/grub/i386-pc/gcry_whirlpool.mod b/INSTALL/grub/i386-pc/gcry_whirlpool.mod new file mode 100644 index 00000000..7918540b Binary files /dev/null and b/INSTALL/grub/i386-pc/gcry_whirlpool.mod differ diff --git a/INSTALL/grub/i386-pc/gdb.mod b/INSTALL/grub/i386-pc/gdb.mod new file mode 100644 index 00000000..fa88b7ce Binary files /dev/null and b/INSTALL/grub/i386-pc/gdb.mod differ diff --git a/INSTALL/grub/i386-pc/geli.mod b/INSTALL/grub/i386-pc/geli.mod new file mode 100644 index 00000000..3a59c1ae Binary files /dev/null and b/INSTALL/grub/i386-pc/geli.mod differ diff --git a/INSTALL/grub/i386-pc/gfxterm_menu.mod b/INSTALL/grub/i386-pc/gfxterm_menu.mod new file mode 100644 index 00000000..a6aba54a Binary files /dev/null and b/INSTALL/grub/i386-pc/gfxterm_menu.mod differ diff --git a/INSTALL/grub/i386-pc/gptsync.mod b/INSTALL/grub/i386-pc/gptsync.mod new file mode 100644 index 00000000..6c75de0d Binary files /dev/null and b/INSTALL/grub/i386-pc/gptsync.mod differ diff --git a/INSTALL/grub/i386-pc/hdparm.mod b/INSTALL/grub/i386-pc/hdparm.mod new file mode 100644 index 00000000..7cecce6b Binary files /dev/null and b/INSTALL/grub/i386-pc/hdparm.mod differ diff --git a/INSTALL/grub/i386-pc/hello.mod b/INSTALL/grub/i386-pc/hello.mod new file mode 100644 index 00000000..14fd0951 Binary files /dev/null and b/INSTALL/grub/i386-pc/hello.mod differ diff --git a/INSTALL/grub/i386-pc/hexdump.mod b/INSTALL/grub/i386-pc/hexdump.mod new file mode 100644 index 00000000..7ccea176 Binary files /dev/null and b/INSTALL/grub/i386-pc/hexdump.mod differ diff --git a/INSTALL/grub/i386-pc/hfs.mod b/INSTALL/grub/i386-pc/hfs.mod new file mode 100644 index 00000000..eb1134c6 Binary files /dev/null and b/INSTALL/grub/i386-pc/hfs.mod differ diff --git a/INSTALL/grub/i386-pc/hfsplus.mod b/INSTALL/grub/i386-pc/hfsplus.mod new file mode 100644 index 00000000..f07eedb4 Binary files /dev/null and b/INSTALL/grub/i386-pc/hfsplus.mod differ diff --git a/INSTALL/grub/i386-pc/hfspluscomp.mod b/INSTALL/grub/i386-pc/hfspluscomp.mod new file mode 100644 index 00000000..b2b40870 Binary files /dev/null and b/INSTALL/grub/i386-pc/hfspluscomp.mod differ diff --git a/INSTALL/grub/i386-pc/iorw.mod b/INSTALL/grub/i386-pc/iorw.mod new file mode 100644 index 00000000..8b636058 Binary files /dev/null and b/INSTALL/grub/i386-pc/iorw.mod differ diff --git a/INSTALL/grub/i386-pc/jfs.mod b/INSTALL/grub/i386-pc/jfs.mod new file mode 100644 index 00000000..1dbc2684 Binary files /dev/null and b/INSTALL/grub/i386-pc/jfs.mod differ diff --git a/INSTALL/grub/i386-pc/keylayouts.mod b/INSTALL/grub/i386-pc/keylayouts.mod new file mode 100644 index 00000000..50d81834 Binary files /dev/null and b/INSTALL/grub/i386-pc/keylayouts.mod differ diff --git a/INSTALL/grub/i386-pc/keystatus.mod b/INSTALL/grub/i386-pc/keystatus.mod new file mode 100644 index 00000000..8b5088a3 Binary files /dev/null and b/INSTALL/grub/i386-pc/keystatus.mod differ diff --git a/INSTALL/grub/i386-pc/ldm.mod b/INSTALL/grub/i386-pc/ldm.mod new file mode 100644 index 00000000..f2993156 Binary files /dev/null and b/INSTALL/grub/i386-pc/ldm.mod differ diff --git a/INSTALL/grub/i386-pc/legacy_password_test.mod b/INSTALL/grub/i386-pc/legacy_password_test.mod new file mode 100644 index 00000000..b5c58fa1 Binary files /dev/null and b/INSTALL/grub/i386-pc/legacy_password_test.mod differ diff --git a/INSTALL/grub/i386-pc/legacycfg.mod b/INSTALL/grub/i386-pc/legacycfg.mod new file mode 100644 index 00000000..850d9851 Binary files /dev/null and b/INSTALL/grub/i386-pc/legacycfg.mod differ diff --git a/INSTALL/grub/i386-pc/loadenv.mod b/INSTALL/grub/i386-pc/loadenv.mod new file mode 100644 index 00000000..683cd904 Binary files /dev/null and b/INSTALL/grub/i386-pc/loadenv.mod differ diff --git a/INSTALL/grub/i386-pc/lsacpi.mod b/INSTALL/grub/i386-pc/lsacpi.mod new file mode 100644 index 00000000..7e94483f Binary files /dev/null and b/INSTALL/grub/i386-pc/lsacpi.mod differ diff --git a/INSTALL/grub/i386-pc/lsapm.mod b/INSTALL/grub/i386-pc/lsapm.mod new file mode 100644 index 00000000..5a053d70 Binary files /dev/null and b/INSTALL/grub/i386-pc/lsapm.mod differ diff --git a/INSTALL/grub/i386-pc/lsmmap.mod b/INSTALL/grub/i386-pc/lsmmap.mod new file mode 100644 index 00000000..683ecfe8 Binary files /dev/null and b/INSTALL/grub/i386-pc/lsmmap.mod differ diff --git a/INSTALL/grub/i386-pc/luks.mod b/INSTALL/grub/i386-pc/luks.mod new file mode 100644 index 00000000..9c18afa6 Binary files /dev/null and b/INSTALL/grub/i386-pc/luks.mod differ diff --git a/INSTALL/grub/i386-pc/lvm.mod b/INSTALL/grub/i386-pc/lvm.mod new file mode 100644 index 00000000..10c1267b Binary files /dev/null and b/INSTALL/grub/i386-pc/lvm.mod differ diff --git a/INSTALL/grub/i386-pc/macbless.mod b/INSTALL/grub/i386-pc/macbless.mod new file mode 100644 index 00000000..c7ed444b Binary files /dev/null and b/INSTALL/grub/i386-pc/macbless.mod differ diff --git a/INSTALL/grub/i386-pc/mda_text.mod b/INSTALL/grub/i386-pc/mda_text.mod new file mode 100644 index 00000000..8f343cc6 Binary files /dev/null and b/INSTALL/grub/i386-pc/mda_text.mod differ diff --git a/INSTALL/grub/i386-pc/mdraid09.mod b/INSTALL/grub/i386-pc/mdraid09.mod new file mode 100644 index 00000000..ba29a59c Binary files /dev/null and b/INSTALL/grub/i386-pc/mdraid09.mod differ diff --git a/INSTALL/grub/i386-pc/mdraid09_be.mod b/INSTALL/grub/i386-pc/mdraid09_be.mod new file mode 100644 index 00000000..f53e40f6 Binary files /dev/null and b/INSTALL/grub/i386-pc/mdraid09_be.mod differ diff --git a/INSTALL/grub/i386-pc/mdraid1x.mod b/INSTALL/grub/i386-pc/mdraid1x.mod new file mode 100644 index 00000000..c00a9af0 Binary files /dev/null and b/INSTALL/grub/i386-pc/mdraid1x.mod differ diff --git a/INSTALL/grub/i386-pc/memdisk.mod b/INSTALL/grub/i386-pc/memdisk.mod new file mode 100644 index 00000000..83aaf1b9 Binary files /dev/null and b/INSTALL/grub/i386-pc/memdisk.mod differ diff --git a/INSTALL/grub/i386-pc/memrw.mod b/INSTALL/grub/i386-pc/memrw.mod new file mode 100644 index 00000000..db9ae48d Binary files /dev/null and b/INSTALL/grub/i386-pc/memrw.mod differ diff --git a/INSTALL/grub/i386-pc/minix.mod b/INSTALL/grub/i386-pc/minix.mod new file mode 100644 index 00000000..87477bff Binary files /dev/null and b/INSTALL/grub/i386-pc/minix.mod differ diff --git a/INSTALL/grub/i386-pc/minix2.mod b/INSTALL/grub/i386-pc/minix2.mod new file mode 100644 index 00000000..01d2f609 Binary files /dev/null and b/INSTALL/grub/i386-pc/minix2.mod differ diff --git a/INSTALL/grub/i386-pc/minix2_be.mod b/INSTALL/grub/i386-pc/minix2_be.mod new file mode 100644 index 00000000..260e1e7b Binary files /dev/null and b/INSTALL/grub/i386-pc/minix2_be.mod differ diff --git a/INSTALL/grub/i386-pc/minix3.mod b/INSTALL/grub/i386-pc/minix3.mod new file mode 100644 index 00000000..256f5d71 Binary files /dev/null and b/INSTALL/grub/i386-pc/minix3.mod differ diff --git a/INSTALL/grub/i386-pc/minix3_be.mod b/INSTALL/grub/i386-pc/minix3_be.mod new file mode 100644 index 00000000..7212cb60 Binary files /dev/null and b/INSTALL/grub/i386-pc/minix3_be.mod differ diff --git a/INSTALL/grub/i386-pc/minix_be.mod b/INSTALL/grub/i386-pc/minix_be.mod new file mode 100644 index 00000000..cf7f0462 Binary files /dev/null and b/INSTALL/grub/i386-pc/minix_be.mod differ diff --git a/INSTALL/grub/i386-pc/mmap.mod b/INSTALL/grub/i386-pc/mmap.mod new file mode 100644 index 00000000..f8b05f30 Binary files /dev/null and b/INSTALL/grub/i386-pc/mmap.mod differ diff --git a/INSTALL/grub/i386-pc/moddep.lst b/INSTALL/grub/i386-pc/moddep.lst new file mode 100644 index 00000000..5c5d59f4 --- /dev/null +++ b/INSTALL/grub/i386-pc/moddep.lst @@ -0,0 +1,271 @@ +videotest: font video gfxmenu +odc: archelp +loopback: extcmd +macho: +gcry_des: crypto +memrw: extcmd +terminfo: extcmd +f2fs: fshelp +part_gpt: +romfs: fshelp +read: +aout: +gcry_arcfour: crypto +vga_text: +tftp: net priority_queue +newc: archelp +minix2_be: +elf: +videotest_checksum: font functional_test video_fb +password_pbkdf2: crypto gcry_sha512 pbkdf2 normal +gcry_seed: crypto +pcidump: extcmd pci +bsd: elf serial crypto gcry_md5 verifiers extcmd vbe aout video boot cpuid relocator mmap +sfs: fshelp +reiserfs: fshelp +part_sunpc: +zstd: +gfxmenu: video_colors trig bitmap_scale gfxterm font normal bitmap video +backtrace: +jfs: +help: extcmd normal +configfile: normal +cbls: cbtable +gfxterm_menu: font functional_test procfs normal video_fb +gcry_idea: crypto +tr: extcmd +shift_test: functional_test +ohci: cs5536 usb boot pci +afs: fshelp +spkmodem: terminfo +usb_keyboard: keylayouts usb +xzio: crypto +syslinuxcfg: extcmd normal +search_fs_file: +wrmsr: +vga: video video_fb +usbms: scsi usb +test_blockarg: extcmd normal +true: +affs: fshelp +iso9660: fshelp +exfat: fshelp +setjmp_test: setjmp functional_test +gfxterm: font video +disk: +xfs: fshelp +testspeed: extcmd normal +cpio_be: archelp +functional_test: btrfs extcmd video video_fb +pxechain: pxe video boot relocator +bswap_test: functional_test +sleep: extcmd normal +memdisk: +gcry_rijndael: crypto +mdraid09_be: diskfilter +gettext: +gcry_sha1: crypto +hfspluscomp: gzio hfsplus +cmp: +random: hexdump acpi +offsetio: +file: elf macho extcmd offsetio +usbserial_usbdebug: serial usb usbserial_common +video_colors: +morse: +hashsum: crypto extcmd normal +usb: pci +halt: extcmd acpi +gdb: serial backtrace +gfxterm_background: video_colors bitmap_scale gfxterm extcmd video bitmap +search_fs_uuid: +gcry_dsa: pgp mpi +keystatus: extcmd +linux: verifiers normal vbe video boot relocator mmap +geli: cryptodisk crypto gcry_sha512 pbkdf2 gcry_sha256 +cmdline_cat_test: font functional_test normal procfs video_fb +rdmsr: extcmd +part_sun: +cbtable: +plan9: verifiers extcmd boot video relocator +sendkey: extcmd boot +pbkdf2_test: functional_test pbkdf2 gcry_sha1 +video_bochs: pci video video_fb +verifiers: +bufio: +usbserial_ftdi: serial usb usbserial_common +legacy_password_test: functional_test legacycfg +cpuid: extcmd +hdparm: extcmd hexdump +bfs: fshelp +gcry_blowfish: crypto +test: +nilfs2: fshelp +gcry_rsa: pgp mpi +cryptodisk: crypto extcmd procfs +nativedisk: +minicmd: +signature_test: functional_test procfs +ata: scsi +udf: fshelp +gzio: gcry_crc +xnu_uuid: gcry_md5 +uhci: usb pci +pata: ata pci +mul_test: functional_test +adler32: crypto +terminal: +div: +ehci: cs5536 usb boot pci +crypto: +part_bsd: part_msdos +cs5536: pci +biosdisk: +ventoy: ext2 fshelp font crypto exfat udf extcmd normal relocator gcry_sha1 iso9660 +lsapm: +gcry_sha512: crypto +password: crypto normal +efiemu: gcry_crc crypto cpuid acpi +fshelp: +sleep_test: functional_test datetime +iorw: extcmd +xnu: macho bitmap_scale random verifiers extcmd video bitmap boot relocator efiemu mmap +mmap: boot +exfctest: functional_test +zfsinfo: zfs +ldm: part_gpt diskfilter part_msdos +cmostest: +eval: normal +part_dvh: +blocklist: +ext2: fshelp +net: priority_queue bufio datetime boot +drivemap: extcmd boot mmap +part_acorn: +videoinfo: video +btrfs: zstd lzopio raid6rec gzio +lsmmap: +strtoull_test: functional_test +bitmap: +vbe: video video_fb +ntfs: fshelp +multiboot: net linux vbe video boot relocator mmap lsapm +gcry_crc: crypto +png: bufio bitmap +jpeg: bufio bitmap +macbless: disk +div_test: functional_test div +regexp: extcmd normal +parttool: normal +usbserial_pl2303: serial usb usbserial_common +cpio: archelp +gcry_rmd160: crypto +fat: fshelp +ufs1_be: +truecrypt: video boot relocator gzio mmap +archelp: +ntldr: chain boot video relocator +http: net +zfs: gzio +raid6rec: diskfilter +minix2: +mda_text: +lsacpi: extcmd acpi +datehook: datetime normal +loadenv: disk extcmd +bitmap_scale: bitmap +probe: extcmd +minix3: +tar: archelp +hfs: fshelp +procfs: archelp +boot: +keylayouts: +progress: normal +kernel: +usbtest: usb +relocator: mmap +acpi: extcmd mmap +tga: bufio bitmap +reboot: relocator +serial: extcmd terminfo +zfscrypt: crypto pbkdf2 extcmd zfs gcry_sha1 gcry_rijndael +dm_nv: diskfilter +cmp_test: functional_test +luks: cryptodisk crypto pbkdf2 +font: bufio video +raid5rec: diskfilter +crc64: crypto +datetime: +ctz_test: functional_test +video: +pci: +cbmemc: cbtable normal terminfo +cmosdump: +hfsplus: fshelp +gcry_cast5: crypto +extcmd: +squash4: fshelp lzopio xzio gzio +part_plan: +minix_be: +gcry_whirlpool: crypto +pxe: net boot +gcry_tiger: crypto +search: search_fs_uuid search_fs_file extcmd search_label +lspci: extcmd pci +cbtime: cbtable +video_fb: +minix3_be: +trig: +msdospart: disk parttool +priority_queue: +gcry_twofish: crypto +part_dfly: +xnu_uuid_test: functional_test +diskfilter: +testload: +part_apple: +hexdump: extcmd +date: datetime normal +pbkdf2: crypto +gcry_sha256: crypto +ls: extcmd normal +usbserial_common: serial usb +ntfscomp: ntfs +lzopio: crypto +video_cirrus: pci video video_fb +hello: extcmd +scsi: +linux16: linux boot video relocator mmap +cat: extcmd +ahci: ata boot pci +pgp: crypto verifiers extcmd mpi gcry_sha1 +normal: terminal crypto verifiers bufio extcmd boot gettext +ufs1: +mdraid09: diskfilter +lvm: diskfilter +cbfs: archelp +chain: video boot relocator +ufs2: +time: +setpci: extcmd pci +gptsync: disk +freedos: chain boot video relocator +search_label: +setjmp: +multiboot2: linux net vbe boot video relocator mmap lsapm acpi +gcry_rfc2268: crypto +mdraid1x: diskfilter +mpi: crypto +legacycfg: linux crypto password gcry_md5 normal +play: +part_amiga: +minix: +echo: extcmd +gcry_serpent: crypto +gcry_md4: crypto +gcry_md5: crypto +part_msdos: +gcry_camellia: crypto +at_keyboard: keylayouts boot +all_video: vbe vga video_bochs video_cirrus diff --git a/INSTALL/grub/i386-pc/morse.mod b/INSTALL/grub/i386-pc/morse.mod new file mode 100644 index 00000000..b482e26b Binary files /dev/null and b/INSTALL/grub/i386-pc/morse.mod differ diff --git a/INSTALL/grub/i386-pc/mpi.mod b/INSTALL/grub/i386-pc/mpi.mod new file mode 100644 index 00000000..0f9ec718 Binary files /dev/null and b/INSTALL/grub/i386-pc/mpi.mod differ diff --git a/INSTALL/grub/i386-pc/msdospart.mod b/INSTALL/grub/i386-pc/msdospart.mod new file mode 100644 index 00000000..3c9d393c Binary files /dev/null and b/INSTALL/grub/i386-pc/msdospart.mod differ diff --git a/INSTALL/grub/i386-pc/mul_test.mod b/INSTALL/grub/i386-pc/mul_test.mod new file mode 100644 index 00000000..d86701a9 Binary files /dev/null and b/INSTALL/grub/i386-pc/mul_test.mod differ diff --git a/INSTALL/grub/i386-pc/multiboot.mod b/INSTALL/grub/i386-pc/multiboot.mod new file mode 100644 index 00000000..0547a54d Binary files /dev/null and b/INSTALL/grub/i386-pc/multiboot.mod differ diff --git a/INSTALL/grub/i386-pc/multiboot2.mod b/INSTALL/grub/i386-pc/multiboot2.mod new file mode 100644 index 00000000..a4879c75 Binary files /dev/null and b/INSTALL/grub/i386-pc/multiboot2.mod differ diff --git a/INSTALL/grub/i386-pc/nativedisk.mod b/INSTALL/grub/i386-pc/nativedisk.mod new file mode 100644 index 00000000..df1a07df Binary files /dev/null and b/INSTALL/grub/i386-pc/nativedisk.mod differ diff --git a/INSTALL/grub/i386-pc/newc.mod b/INSTALL/grub/i386-pc/newc.mod new file mode 100644 index 00000000..a693778f Binary files /dev/null and b/INSTALL/grub/i386-pc/newc.mod differ diff --git a/INSTALL/grub/i386-pc/nilfs2.mod b/INSTALL/grub/i386-pc/nilfs2.mod new file mode 100644 index 00000000..3d2b1387 Binary files /dev/null and b/INSTALL/grub/i386-pc/nilfs2.mod differ diff --git a/INSTALL/grub/i386-pc/ntfscomp.mod b/INSTALL/grub/i386-pc/ntfscomp.mod new file mode 100644 index 00000000..5d0cbc7c Binary files /dev/null and b/INSTALL/grub/i386-pc/ntfscomp.mod differ diff --git a/INSTALL/grub/i386-pc/odc.mod b/INSTALL/grub/i386-pc/odc.mod new file mode 100644 index 00000000..bf6ef93f Binary files /dev/null and b/INSTALL/grub/i386-pc/odc.mod differ diff --git a/INSTALL/grub/i386-pc/ohci.mod b/INSTALL/grub/i386-pc/ohci.mod new file mode 100644 index 00000000..52060546 Binary files /dev/null and b/INSTALL/grub/i386-pc/ohci.mod differ diff --git a/INSTALL/grub/i386-pc/part_acorn.mod b/INSTALL/grub/i386-pc/part_acorn.mod new file mode 100644 index 00000000..3fe82b0c Binary files /dev/null and b/INSTALL/grub/i386-pc/part_acorn.mod differ diff --git a/INSTALL/grub/i386-pc/part_amiga.mod b/INSTALL/grub/i386-pc/part_amiga.mod new file mode 100644 index 00000000..a8411865 Binary files /dev/null and b/INSTALL/grub/i386-pc/part_amiga.mod differ diff --git a/INSTALL/grub/i386-pc/part_apple.mod b/INSTALL/grub/i386-pc/part_apple.mod new file mode 100644 index 00000000..a30a0a09 Binary files /dev/null and b/INSTALL/grub/i386-pc/part_apple.mod differ diff --git a/INSTALL/grub/i386-pc/part_bsd.mod b/INSTALL/grub/i386-pc/part_bsd.mod new file mode 100644 index 00000000..9c660b8f Binary files /dev/null and b/INSTALL/grub/i386-pc/part_bsd.mod differ diff --git a/INSTALL/grub/i386-pc/part_dfly.mod b/INSTALL/grub/i386-pc/part_dfly.mod new file mode 100644 index 00000000..d59ec333 Binary files /dev/null and b/INSTALL/grub/i386-pc/part_dfly.mod differ diff --git a/INSTALL/grub/i386-pc/part_dvh.mod b/INSTALL/grub/i386-pc/part_dvh.mod new file mode 100644 index 00000000..21b6fec9 Binary files /dev/null and b/INSTALL/grub/i386-pc/part_dvh.mod differ diff --git a/INSTALL/grub/i386-pc/part_plan.mod b/INSTALL/grub/i386-pc/part_plan.mod new file mode 100644 index 00000000..d074510b Binary files /dev/null and b/INSTALL/grub/i386-pc/part_plan.mod differ diff --git a/INSTALL/grub/i386-pc/part_sun.mod b/INSTALL/grub/i386-pc/part_sun.mod new file mode 100644 index 00000000..81edb5e0 Binary files /dev/null and b/INSTALL/grub/i386-pc/part_sun.mod differ diff --git a/INSTALL/grub/i386-pc/part_sunpc.mod b/INSTALL/grub/i386-pc/part_sunpc.mod new file mode 100644 index 00000000..5c649b65 Binary files /dev/null and b/INSTALL/grub/i386-pc/part_sunpc.mod differ diff --git a/INSTALL/grub/i386-pc/partmap.lst b/INSTALL/grub/i386-pc/partmap.lst new file mode 100644 index 00000000..761233aa --- /dev/null +++ b/INSTALL/grub/i386-pc/partmap.lst @@ -0,0 +1,11 @@ +part_acorn +part_amiga +part_apple +part_bsd +part_dfly +part_dvh +part_gpt +part_msdos +part_plan +part_sun +part_sunpc diff --git a/INSTALL/grub/i386-pc/parttool.lst b/INSTALL/grub/i386-pc/parttool.lst new file mode 100644 index 00000000..68b4b5c4 --- /dev/null +++ b/INSTALL/grub/i386-pc/parttool.lst @@ -0,0 +1 @@ +msdos: msdospart diff --git a/INSTALL/grub/i386-pc/parttool.mod b/INSTALL/grub/i386-pc/parttool.mod new file mode 100644 index 00000000..44ea3933 Binary files /dev/null and b/INSTALL/grub/i386-pc/parttool.mod differ diff --git a/INSTALL/grub/i386-pc/password.mod b/INSTALL/grub/i386-pc/password.mod new file mode 100644 index 00000000..783c3293 Binary files /dev/null and b/INSTALL/grub/i386-pc/password.mod differ diff --git a/INSTALL/grub/i386-pc/pata.mod b/INSTALL/grub/i386-pc/pata.mod new file mode 100644 index 00000000..0f8a55e0 Binary files /dev/null and b/INSTALL/grub/i386-pc/pata.mod differ diff --git a/INSTALL/grub/i386-pc/pbkdf2_test.mod b/INSTALL/grub/i386-pc/pbkdf2_test.mod new file mode 100644 index 00000000..a204632c Binary files /dev/null and b/INSTALL/grub/i386-pc/pbkdf2_test.mod differ diff --git a/INSTALL/grub/i386-pc/pcidump.mod b/INSTALL/grub/i386-pc/pcidump.mod new file mode 100644 index 00000000..66c16493 Binary files /dev/null and b/INSTALL/grub/i386-pc/pcidump.mod differ diff --git a/INSTALL/grub/i386-pc/pgp.mod b/INSTALL/grub/i386-pc/pgp.mod new file mode 100644 index 00000000..3270fff7 Binary files /dev/null and b/INSTALL/grub/i386-pc/pgp.mod differ diff --git a/INSTALL/grub/i386-pc/plan9.mod b/INSTALL/grub/i386-pc/plan9.mod new file mode 100644 index 00000000..4845df34 Binary files /dev/null and b/INSTALL/grub/i386-pc/plan9.mod differ diff --git a/INSTALL/grub/i386-pc/play.mod b/INSTALL/grub/i386-pc/play.mod new file mode 100644 index 00000000..9317d39f Binary files /dev/null and b/INSTALL/grub/i386-pc/play.mod differ diff --git a/INSTALL/grub/i386-pc/priority_queue.mod b/INSTALL/grub/i386-pc/priority_queue.mod new file mode 100644 index 00000000..4a1e167c Binary files /dev/null and b/INSTALL/grub/i386-pc/priority_queue.mod differ diff --git a/INSTALL/grub/i386-pc/probe.mod b/INSTALL/grub/i386-pc/probe.mod new file mode 100644 index 00000000..f880f85c Binary files /dev/null and b/INSTALL/grub/i386-pc/probe.mod differ diff --git a/INSTALL/grub/i386-pc/procfs.mod b/INSTALL/grub/i386-pc/procfs.mod new file mode 100644 index 00000000..a0e20ec4 Binary files /dev/null and b/INSTALL/grub/i386-pc/procfs.mod differ diff --git a/INSTALL/grub/i386-pc/progress.mod b/INSTALL/grub/i386-pc/progress.mod new file mode 100644 index 00000000..67dd96e8 Binary files /dev/null and b/INSTALL/grub/i386-pc/progress.mod differ diff --git a/INSTALL/grub/i386-pc/pxe.mod b/INSTALL/grub/i386-pc/pxe.mod new file mode 100644 index 00000000..1795ffda Binary files /dev/null and b/INSTALL/grub/i386-pc/pxe.mod differ diff --git a/INSTALL/grub/i386-pc/pxechain.mod b/INSTALL/grub/i386-pc/pxechain.mod new file mode 100644 index 00000000..2a1bc6af Binary files /dev/null and b/INSTALL/grub/i386-pc/pxechain.mod differ diff --git a/INSTALL/grub/i386-pc/raid5rec.mod b/INSTALL/grub/i386-pc/raid5rec.mod new file mode 100644 index 00000000..c31877f0 Binary files /dev/null and b/INSTALL/grub/i386-pc/raid5rec.mod differ diff --git a/INSTALL/grub/i386-pc/raid6rec.mod b/INSTALL/grub/i386-pc/raid6rec.mod new file mode 100644 index 00000000..f16634f6 Binary files /dev/null and b/INSTALL/grub/i386-pc/raid6rec.mod differ diff --git a/INSTALL/grub/i386-pc/random.mod b/INSTALL/grub/i386-pc/random.mod new file mode 100644 index 00000000..e15beb77 Binary files /dev/null and b/INSTALL/grub/i386-pc/random.mod differ diff --git a/INSTALL/grub/i386-pc/rdmsr.mod b/INSTALL/grub/i386-pc/rdmsr.mod new file mode 100644 index 00000000..02db1169 Binary files /dev/null and b/INSTALL/grub/i386-pc/rdmsr.mod differ diff --git a/INSTALL/grub/i386-pc/reiserfs.mod b/INSTALL/grub/i386-pc/reiserfs.mod new file mode 100644 index 00000000..c51d8f63 Binary files /dev/null and b/INSTALL/grub/i386-pc/reiserfs.mod differ diff --git a/INSTALL/grub/i386-pc/relocator.mod b/INSTALL/grub/i386-pc/relocator.mod new file mode 100644 index 00000000..aadaeaef Binary files /dev/null and b/INSTALL/grub/i386-pc/relocator.mod differ diff --git a/INSTALL/grub/i386-pc/romfs.mod b/INSTALL/grub/i386-pc/romfs.mod new file mode 100644 index 00000000..d420e236 Binary files /dev/null and b/INSTALL/grub/i386-pc/romfs.mod differ diff --git a/INSTALL/grub/i386-pc/scsi.mod b/INSTALL/grub/i386-pc/scsi.mod new file mode 100644 index 00000000..e764bcd9 Binary files /dev/null and b/INSTALL/grub/i386-pc/scsi.mod differ diff --git a/INSTALL/grub/i386-pc/search_fs_file.mod b/INSTALL/grub/i386-pc/search_fs_file.mod new file mode 100644 index 00000000..2ec78500 Binary files /dev/null and b/INSTALL/grub/i386-pc/search_fs_file.mod differ diff --git a/INSTALL/grub/i386-pc/search_fs_uuid.mod b/INSTALL/grub/i386-pc/search_fs_uuid.mod new file mode 100644 index 00000000..218adc71 Binary files /dev/null and b/INSTALL/grub/i386-pc/search_fs_uuid.mod differ diff --git a/INSTALL/grub/i386-pc/search_label.mod b/INSTALL/grub/i386-pc/search_label.mod new file mode 100644 index 00000000..71f941a2 Binary files /dev/null and b/INSTALL/grub/i386-pc/search_label.mod differ diff --git a/INSTALL/grub/i386-pc/sendkey.mod b/INSTALL/grub/i386-pc/sendkey.mod new file mode 100644 index 00000000..d8605d60 Binary files /dev/null and b/INSTALL/grub/i386-pc/sendkey.mod differ diff --git a/INSTALL/grub/i386-pc/serial.mod b/INSTALL/grub/i386-pc/serial.mod new file mode 100644 index 00000000..521e28ef Binary files /dev/null and b/INSTALL/grub/i386-pc/serial.mod differ diff --git a/INSTALL/grub/i386-pc/setjmp.mod b/INSTALL/grub/i386-pc/setjmp.mod new file mode 100644 index 00000000..2d35023b Binary files /dev/null and b/INSTALL/grub/i386-pc/setjmp.mod differ diff --git a/INSTALL/grub/i386-pc/setjmp_test.mod b/INSTALL/grub/i386-pc/setjmp_test.mod new file mode 100644 index 00000000..b337f7be Binary files /dev/null and b/INSTALL/grub/i386-pc/setjmp_test.mod differ diff --git a/INSTALL/grub/i386-pc/setpci.mod b/INSTALL/grub/i386-pc/setpci.mod new file mode 100644 index 00000000..f0b84d94 Binary files /dev/null and b/INSTALL/grub/i386-pc/setpci.mod differ diff --git a/INSTALL/grub/i386-pc/sfs.mod b/INSTALL/grub/i386-pc/sfs.mod new file mode 100644 index 00000000..3cf881b4 Binary files /dev/null and b/INSTALL/grub/i386-pc/sfs.mod differ diff --git a/INSTALL/grub/i386-pc/shift_test.mod b/INSTALL/grub/i386-pc/shift_test.mod new file mode 100644 index 00000000..8236137c Binary files /dev/null and b/INSTALL/grub/i386-pc/shift_test.mod differ diff --git a/INSTALL/grub/i386-pc/signature_test.mod b/INSTALL/grub/i386-pc/signature_test.mod new file mode 100644 index 00000000..62c1e533 Binary files /dev/null and b/INSTALL/grub/i386-pc/signature_test.mod differ diff --git a/INSTALL/grub/i386-pc/sleep_test.mod b/INSTALL/grub/i386-pc/sleep_test.mod new file mode 100644 index 00000000..78d66481 Binary files /dev/null and b/INSTALL/grub/i386-pc/sleep_test.mod differ diff --git a/INSTALL/grub/i386-pc/spkmodem.mod b/INSTALL/grub/i386-pc/spkmodem.mod new file mode 100644 index 00000000..c5e06b56 Binary files /dev/null and b/INSTALL/grub/i386-pc/spkmodem.mod differ diff --git a/INSTALL/grub/i386-pc/strtoull_test.mod b/INSTALL/grub/i386-pc/strtoull_test.mod new file mode 100644 index 00000000..38de07ef Binary files /dev/null and b/INSTALL/grub/i386-pc/strtoull_test.mod differ diff --git a/INSTALL/grub/i386-pc/syslinuxcfg.mod b/INSTALL/grub/i386-pc/syslinuxcfg.mod new file mode 100644 index 00000000..ebeda650 Binary files /dev/null and b/INSTALL/grub/i386-pc/syslinuxcfg.mod differ diff --git a/INSTALL/grub/i386-pc/terminal.lst b/INSTALL/grub/i386-pc/terminal.lst new file mode 100644 index 00000000..2cb224c4 --- /dev/null +++ b/INSTALL/grub/i386-pc/terminal.lst @@ -0,0 +1,11 @@ +iat_keyboard: at_keyboard +iserial: serial +iserial_*: serial +oaudio: morse +ocbmemc: cbmemc +ogfxterm: gfxterm +omda_text: mda_text +oserial: serial +oserial_*: serial +ospkmodem: spkmodem +ovga_text: vga_text diff --git a/INSTALL/grub/i386-pc/terminfo.mod b/INSTALL/grub/i386-pc/terminfo.mod new file mode 100644 index 00000000..a925b176 Binary files /dev/null and b/INSTALL/grub/i386-pc/terminfo.mod differ diff --git a/INSTALL/grub/i386-pc/test_blockarg.mod b/INSTALL/grub/i386-pc/test_blockarg.mod new file mode 100644 index 00000000..dde95fc4 Binary files /dev/null and b/INSTALL/grub/i386-pc/test_blockarg.mod differ diff --git a/INSTALL/grub/i386-pc/testload.mod b/INSTALL/grub/i386-pc/testload.mod new file mode 100644 index 00000000..1d428810 Binary files /dev/null and b/INSTALL/grub/i386-pc/testload.mod differ diff --git a/INSTALL/grub/i386-pc/testspeed.mod b/INSTALL/grub/i386-pc/testspeed.mod new file mode 100644 index 00000000..aa331842 Binary files /dev/null and b/INSTALL/grub/i386-pc/testspeed.mod differ diff --git a/INSTALL/grub/i386-pc/tga.mod b/INSTALL/grub/i386-pc/tga.mod new file mode 100644 index 00000000..c8fcd0b5 Binary files /dev/null and b/INSTALL/grub/i386-pc/tga.mod differ diff --git a/INSTALL/grub/i386-pc/time.mod b/INSTALL/grub/i386-pc/time.mod new file mode 100644 index 00000000..04d482d7 Binary files /dev/null and b/INSTALL/grub/i386-pc/time.mod differ diff --git a/INSTALL/grub/i386-pc/truecrypt.mod b/INSTALL/grub/i386-pc/truecrypt.mod new file mode 100644 index 00000000..6730bcd9 Binary files /dev/null and b/INSTALL/grub/i386-pc/truecrypt.mod differ diff --git a/INSTALL/grub/i386-pc/ufs1.mod b/INSTALL/grub/i386-pc/ufs1.mod new file mode 100644 index 00000000..4772a202 Binary files /dev/null and b/INSTALL/grub/i386-pc/ufs1.mod differ diff --git a/INSTALL/grub/i386-pc/ufs1_be.mod b/INSTALL/grub/i386-pc/ufs1_be.mod new file mode 100644 index 00000000..31a50d7c Binary files /dev/null and b/INSTALL/grub/i386-pc/ufs1_be.mod differ diff --git a/INSTALL/grub/i386-pc/ufs2.mod b/INSTALL/grub/i386-pc/ufs2.mod new file mode 100644 index 00000000..088fba39 Binary files /dev/null and b/INSTALL/grub/i386-pc/ufs2.mod differ diff --git a/INSTALL/grub/i386-pc/uhci.mod b/INSTALL/grub/i386-pc/uhci.mod new file mode 100644 index 00000000..0e714282 Binary files /dev/null and b/INSTALL/grub/i386-pc/uhci.mod differ diff --git a/INSTALL/grub/i386-pc/usb.mod b/INSTALL/grub/i386-pc/usb.mod new file mode 100644 index 00000000..3bf851ad Binary files /dev/null and b/INSTALL/grub/i386-pc/usb.mod differ diff --git a/INSTALL/grub/i386-pc/usbms.mod b/INSTALL/grub/i386-pc/usbms.mod new file mode 100644 index 00000000..3c41b5c9 Binary files /dev/null and b/INSTALL/grub/i386-pc/usbms.mod differ diff --git a/INSTALL/grub/i386-pc/usbserial_common.mod b/INSTALL/grub/i386-pc/usbserial_common.mod new file mode 100644 index 00000000..25d8b0af Binary files /dev/null and b/INSTALL/grub/i386-pc/usbserial_common.mod differ diff --git a/INSTALL/grub/i386-pc/usbserial_ftdi.mod b/INSTALL/grub/i386-pc/usbserial_ftdi.mod new file mode 100644 index 00000000..41eac15f Binary files /dev/null and b/INSTALL/grub/i386-pc/usbserial_ftdi.mod differ diff --git a/INSTALL/grub/i386-pc/usbserial_pl2303.mod b/INSTALL/grub/i386-pc/usbserial_pl2303.mod new file mode 100644 index 00000000..4dfbf9ae Binary files /dev/null and b/INSTALL/grub/i386-pc/usbserial_pl2303.mod differ diff --git a/INSTALL/grub/i386-pc/usbserial_usbdebug.mod b/INSTALL/grub/i386-pc/usbserial_usbdebug.mod new file mode 100644 index 00000000..e8f3c413 Binary files /dev/null and b/INSTALL/grub/i386-pc/usbserial_usbdebug.mod differ diff --git a/INSTALL/grub/i386-pc/usbtest.mod b/INSTALL/grub/i386-pc/usbtest.mod new file mode 100644 index 00000000..5c3a7fc1 Binary files /dev/null and b/INSTALL/grub/i386-pc/usbtest.mod differ diff --git a/INSTALL/grub/i386-pc/verifiers.mod b/INSTALL/grub/i386-pc/verifiers.mod new file mode 100644 index 00000000..f7b8ab91 Binary files /dev/null and b/INSTALL/grub/i386-pc/verifiers.mod differ diff --git a/INSTALL/grub/i386-pc/video.lst b/INSTALL/grub/i386-pc/video.lst new file mode 100644 index 00000000..6ca853e6 --- /dev/null +++ b/INSTALL/grub/i386-pc/video.lst @@ -0,0 +1,4 @@ +vbe +vga +video_bochs +video_cirrus diff --git a/INSTALL/grub/i386-pc/wrmsr.mod b/INSTALL/grub/i386-pc/wrmsr.mod new file mode 100644 index 00000000..1d7d2573 Binary files /dev/null and b/INSTALL/grub/i386-pc/wrmsr.mod differ diff --git a/INSTALL/grub/i386-pc/xnu.mod b/INSTALL/grub/i386-pc/xnu.mod new file mode 100644 index 00000000..96c2e583 Binary files /dev/null and b/INSTALL/grub/i386-pc/xnu.mod differ diff --git a/INSTALL/grub/i386-pc/xnu_uuid.mod b/INSTALL/grub/i386-pc/xnu_uuid.mod new file mode 100644 index 00000000..499f0b58 Binary files /dev/null and b/INSTALL/grub/i386-pc/xnu_uuid.mod differ diff --git a/INSTALL/grub/i386-pc/xnu_uuid_test.mod b/INSTALL/grub/i386-pc/xnu_uuid_test.mod new file mode 100644 index 00000000..a8532356 Binary files /dev/null and b/INSTALL/grub/i386-pc/xnu_uuid_test.mod differ diff --git a/INSTALL/grub/i386-pc/zfs.mod b/INSTALL/grub/i386-pc/zfs.mod new file mode 100644 index 00000000..28adaa65 Binary files /dev/null and b/INSTALL/grub/i386-pc/zfs.mod differ diff --git a/INSTALL/grub/i386-pc/zfscrypt.mod b/INSTALL/grub/i386-pc/zfscrypt.mod new file mode 100644 index 00000000..e684ccd2 Binary files /dev/null and b/INSTALL/grub/i386-pc/zfscrypt.mod differ diff --git a/INSTALL/grub/i386-pc/zfsinfo.mod b/INSTALL/grub/i386-pc/zfsinfo.mod new file mode 100644 index 00000000..68844f45 Binary files /dev/null and b/INSTALL/grub/i386-pc/zfsinfo.mod differ diff --git a/INSTALL/grub/i386-pc/zstd.mod b/INSTALL/grub/i386-pc/zstd.mod new file mode 100644 index 00000000..721fe202 Binary files /dev/null and b/INSTALL/grub/i386-pc/zstd.mod differ diff --git a/INSTALL/grub/localboot.cfg b/INSTALL/grub/localboot.cfg index d8415875..b60d54fc 100644 --- a/INSTALL/grub/localboot.cfg +++ b/INSTALL/grub/localboot.cfg @@ -60,6 +60,6 @@ else fi -menuentry 'Return to menu [Esc]' --class=vtoyret VTOY_RET { +menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET { echo 'Return ...' } diff --git a/INSTALL/grub/power.cfg b/INSTALL/grub/power.cfg index 7f6249f0..ede844c2 100644 --- a/INSTALL/grub/power.cfg +++ b/INSTALL/grub/power.cfg @@ -10,6 +10,6 @@ menuentry Halt --class=power_halt { halt } -menuentry 'Return to menu [Esc]' --class=vtoyret VTOY_RET { +menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET { echo 'Return ...' } diff --git a/INSTALL/grub/themes/ventoy/background.png b/INSTALL/grub/themes/ventoy/background.png index b0190fc6..8a4ac943 100644 Binary files a/INSTALL/grub/themes/ventoy/background.png and b/INSTALL/grub/themes/ventoy/background.png differ diff --git a/INSTALL/grub/x86_64-efi/adler32.mod b/INSTALL/grub/x86_64-efi/adler32.mod new file mode 100644 index 00000000..8df78d18 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/adler32.mod differ diff --git a/INSTALL/grub/x86_64-efi/affs.mod b/INSTALL/grub/x86_64-efi/affs.mod new file mode 100644 index 00000000..8c67092e Binary files /dev/null and b/INSTALL/grub/x86_64-efi/affs.mod differ diff --git a/INSTALL/grub/x86_64-efi/afs.mod b/INSTALL/grub/x86_64-efi/afs.mod new file mode 100644 index 00000000..98157773 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/afs.mod differ diff --git a/INSTALL/grub/x86_64-efi/ahci.mod b/INSTALL/grub/x86_64-efi/ahci.mod new file mode 100644 index 00000000..86b274d8 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/ahci.mod differ diff --git a/INSTALL/grub/x86_64-efi/aout.mod b/INSTALL/grub/x86_64-efi/aout.mod new file mode 100644 index 00000000..db8ab3ea Binary files /dev/null and b/INSTALL/grub/x86_64-efi/aout.mod differ diff --git a/INSTALL/grub/x86_64-efi/appleldr.mod b/INSTALL/grub/x86_64-efi/appleldr.mod new file mode 100644 index 00000000..a4505c39 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/appleldr.mod differ diff --git a/INSTALL/grub/x86_64-efi/archelp.mod b/INSTALL/grub/x86_64-efi/archelp.mod new file mode 100644 index 00000000..62463eec Binary files /dev/null and b/INSTALL/grub/x86_64-efi/archelp.mod differ diff --git a/INSTALL/grub/x86_64-efi/ata.mod b/INSTALL/grub/x86_64-efi/ata.mod new file mode 100644 index 00000000..825e4944 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/ata.mod differ diff --git a/INSTALL/grub/x86_64-efi/backtrace.mod b/INSTALL/grub/x86_64-efi/backtrace.mod new file mode 100644 index 00000000..29f9fef5 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/backtrace.mod differ diff --git a/INSTALL/grub/x86_64-efi/bfs.mod b/INSTALL/grub/x86_64-efi/bfs.mod new file mode 100644 index 00000000..3065049f Binary files /dev/null and b/INSTALL/grub/x86_64-efi/bfs.mod differ diff --git a/INSTALL/grub/x86_64-efi/bsd.mod b/INSTALL/grub/x86_64-efi/bsd.mod new file mode 100644 index 00000000..9f5235b0 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/bsd.mod differ diff --git a/INSTALL/grub/x86_64-efi/bswap_test.mod b/INSTALL/grub/x86_64-efi/bswap_test.mod new file mode 100644 index 00000000..b80415a9 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/bswap_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/btrfs.mod b/INSTALL/grub/x86_64-efi/btrfs.mod new file mode 100644 index 00000000..af470c3d Binary files /dev/null and b/INSTALL/grub/x86_64-efi/btrfs.mod differ diff --git a/INSTALL/grub/x86_64-efi/cbfs.mod b/INSTALL/grub/x86_64-efi/cbfs.mod new file mode 100644 index 00000000..385069bb Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cbfs.mod differ diff --git a/INSTALL/grub/x86_64-efi/cbls.mod b/INSTALL/grub/x86_64-efi/cbls.mod new file mode 100644 index 00000000..325251ee Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cbls.mod differ diff --git a/INSTALL/grub/x86_64-efi/cbmemc.mod b/INSTALL/grub/x86_64-efi/cbmemc.mod new file mode 100644 index 00000000..1245aacf Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cbmemc.mod differ diff --git a/INSTALL/grub/x86_64-efi/cbtable.mod b/INSTALL/grub/x86_64-efi/cbtable.mod new file mode 100644 index 00000000..f46fe4f7 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cbtable.mod differ diff --git a/INSTALL/grub/x86_64-efi/cbtime.mod b/INSTALL/grub/x86_64-efi/cbtime.mod new file mode 100644 index 00000000..f685e5e7 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cbtime.mod differ diff --git a/INSTALL/grub/x86_64-efi/cmdline_cat_test.mod b/INSTALL/grub/x86_64-efi/cmdline_cat_test.mod new file mode 100644 index 00000000..57c7bbe7 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cmdline_cat_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/cmp.mod b/INSTALL/grub/x86_64-efi/cmp.mod new file mode 100644 index 00000000..29dbd130 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cmp.mod differ diff --git a/INSTALL/grub/x86_64-efi/cmp_test.mod b/INSTALL/grub/x86_64-efi/cmp_test.mod new file mode 100644 index 00000000..e750bdb6 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cmp_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/command.lst b/INSTALL/grub/x86_64-efi/command.lst new file mode 100644 index 00000000..7239dd69 --- /dev/null +++ b/INSTALL/grub/x86_64-efi/command.lst @@ -0,0 +1,190 @@ +*acpi: acpi +*all_functional_test: functional_test +*background_image: gfxterm_background +*cat: cat +*cpuid: cpuid +*crc: hashsum +*cryptomount: cryptodisk +*echo: echo +*extract_syslinux_entries_configfile: syslinuxcfg +*extract_syslinux_entries_source: syslinuxcfg +*file: file +*functional_test: functional_test +*gettext: gettext +*hashsum: hashsum +*hdparm: hdparm +*hello: hello +*help: help +*hexdump: hexdump +*inb: iorw +*inl: iorw +*inw: iorw +*keystatus: keystatus +*kfreebsd: bsd +*knetbsd: bsd +*kopenbsd: bsd +*list_env: loadenv +*load_env: loadenv +*loopback: loopback +*ls: ls +*lsacpi: lsacpi +*lspci: lspci +*md5sum: hashsum +*menuentry: normal +*pcidump: pcidump +*probe: probe +*rdmsr: rdmsr +*read_byte: memrw +*read_dword: memrw +*read_word: memrw +*regexp: regexp +*save_env: loadenv +*search: search +*serial: serial +*setpci: setpci +*sha1sum: hashsum +*sha256sum: hashsum +*sha512sum: hashsum +*sleep: sleep +*submenu: normal +*syslinux_configfile: syslinuxcfg +*syslinux_source: syslinuxcfg +*terminfo: terminfo +*test_blockarg: test_blockarg +*testspeed: testspeed +*tr: tr +*trust: pgp +*verify_detached: pgp +*xnu_splash: xnu +*zfskey: zfscrypt +.: configfile +[: test +appleloader: appleldr +authenticate: normal +background_color: gfxterm_background +backtrace: backtrace +badram: mmap +blocklist: blocklist +boot: boot +break: normal +cat: minicmd +cbmemc: cbmemc +chainloader: chain +clear: normal +cmp: cmp +configfile: configfile +continue: normal +coreboot_boottime: cbtime +cutmem: mmap +date: date +distrust: pgp +dump: minicmd +eval: eval +exit: minicmd +export: normal +extract_entries_configfile: configfile +extract_entries_source: configfile +extract_legacy_entries_configfile: legacycfg +extract_legacy_entries_source: legacycfg +fakebios: loadbios +false: true +fix_video: fixvideo +fwsetup: efifwsetup +gptsync: gptsync +halt: halt +help: minicmd +hexdump_random: random +initrd16: linux16 +initrd: linux +keymap: keylayouts +kfreebsd_loadenv: bsd +kfreebsd_module: bsd +kfreebsd_module_elf: bsd +knetbsd_module: bsd +knetbsd_module_elf: bsd +kopenbsd_ramdisk: bsd +legacy_check_password: legacycfg +legacy_configfile: legacycfg +legacy_initrd: legacycfg +legacy_initrd_nounzip: legacycfg +legacy_kernel: legacycfg +legacy_password: legacycfg +legacy_source: legacycfg +linux16: linux16 +linux: linux +list_trusted: pgp +loadbios: loadbios +loadfont: font +lscoreboot: cbls +lsefi: lsefi +lsefimmap: lsefimmap +lsefisystab: lsefisystab +lsfonts: font +lsmmap: lsmmap +lsmod: minicmd +lssal: lssal +macppcbless: macbless +mactelbless: macbless +module2: multiboot2 +module: multiboot +multiboot2: multiboot2 +multiboot: multiboot +nativedisk: nativedisk +net_add_addr: net +net_add_dns: net +net_add_route: net +net_bootp: net +net_del_addr: net +net_del_dns: net +net_del_route: net +net_dhcp: net +net_get_dhcp_option: net +net_ipv6_autoconf: net +net_ls_addr: net +net_ls_cards: net +net_ls_dns: net +net_ls_routes: net +net_nslookup: net +normal: normal +normal_exit: normal +outb: iorw +outl: iorw +outw: iorw +parttool: parttool +password: password +password_pbkdf2: password_pbkdf2 +play: play +read: read +reboot: reboot +return: normal +rmmod: minicmd +search.file: search_fs_file +search.fs_label: search_label +search.fs_uuid: search_fs_uuid +setparams: normal +shift: normal +source: configfile +terminal_input: terminal +terminal_output: terminal +test: test +testload: testload +time: time +true: true +usb: usbtest +videoinfo: videoinfo +videotest: videotest +write_byte: memrw +write_dword: memrw +write_word: memrw +wrmsr: wrmsr +xnu_devprop_load: xnu +xnu_kernel64: xnu +xnu_kernel: xnu +xnu_kext: xnu +xnu_kextdir: xnu +xnu_mkext: xnu +xnu_ramdisk: xnu +xnu_resume: xnu +xnu_uuid: xnu_uuid +zfs-bootfs: zfsinfo +zfsinfo: zfsinfo diff --git a/INSTALL/grub/x86_64-efi/cpio.mod b/INSTALL/grub/x86_64-efi/cpio.mod new file mode 100644 index 00000000..e774c231 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cpio.mod differ diff --git a/INSTALL/grub/x86_64-efi/cpio_be.mod b/INSTALL/grub/x86_64-efi/cpio_be.mod new file mode 100644 index 00000000..621213fd Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cpio_be.mod differ diff --git a/INSTALL/grub/x86_64-efi/cpuid.mod b/INSTALL/grub/x86_64-efi/cpuid.mod new file mode 100644 index 00000000..03e93898 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cpuid.mod differ diff --git a/INSTALL/grub/x86_64-efi/crc64.mod b/INSTALL/grub/x86_64-efi/crc64.mod new file mode 100644 index 00000000..ec5e9c0a Binary files /dev/null and b/INSTALL/grub/x86_64-efi/crc64.mod differ diff --git a/INSTALL/grub/x86_64-efi/crypto.lst b/INSTALL/grub/x86_64-efi/crypto.lst new file mode 100644 index 00000000..77d9efc0 --- /dev/null +++ b/INSTALL/grub/x86_64-efi/crypto.lst @@ -0,0 +1,45 @@ +RIJNDAEL: gcry_rijndael +RIJNDAEL192: gcry_rijndael +RIJNDAEL256: gcry_rijndael +AES128: gcry_rijndael +AES-128: gcry_rijndael +AES-192: gcry_rijndael +AES-256: gcry_rijndael +ADLER32: adler32 +CRC64: crc64 +ARCFOUR: gcry_arcfour +BLOWFISH: gcry_blowfish +CAMELLIA128: gcry_camellia +CAMELLIA192: gcry_camellia +CAMELLIA256: gcry_camellia +CAST5: gcry_cast5 +CRC32: gcry_crc +CRC32RFC1510: gcry_crc +CRC24RFC2440: gcry_crc +DES: gcry_des +3DES: gcry_des +DSA: gcry_dsa +IDEA: gcry_idea +MD4: gcry_md4 +MD5: gcry_md5 +RFC2268_40: gcry_rfc2268 +AES: gcry_rijndael +AES192: gcry_rijndael +AES256: gcry_rijndael +RIPEMD160: gcry_rmd160 +RSA: gcry_rsa +SEED: gcry_seed +SERPENT128: gcry_serpent +SERPENT192: gcry_serpent +SERPENT256: gcry_serpent +SHA1: gcry_sha1 +SHA224: gcry_sha256 +SHA256: gcry_sha256 +SHA512: gcry_sha512 +SHA384: gcry_sha512 +TIGER192: gcry_tiger +TIGER: gcry_tiger +TIGER2: gcry_tiger +TWOFISH: gcry_twofish +TWOFISH128: gcry_twofish +WHIRLPOOL: gcry_whirlpool diff --git a/INSTALL/grub/x86_64-efi/cryptodisk.mod b/INSTALL/grub/x86_64-efi/cryptodisk.mod new file mode 100644 index 00000000..c56ebf5c Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cryptodisk.mod differ diff --git a/INSTALL/grub/x86_64-efi/cs5536.mod b/INSTALL/grub/x86_64-efi/cs5536.mod new file mode 100644 index 00000000..b52ab088 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/cs5536.mod differ diff --git a/INSTALL/grub/x86_64-efi/ctz_test.mod b/INSTALL/grub/x86_64-efi/ctz_test.mod new file mode 100644 index 00000000..e602fd1a Binary files /dev/null and b/INSTALL/grub/x86_64-efi/ctz_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/date.mod b/INSTALL/grub/x86_64-efi/date.mod new file mode 100644 index 00000000..5fec5bbe Binary files /dev/null and b/INSTALL/grub/x86_64-efi/date.mod differ diff --git a/INSTALL/grub/x86_64-efi/datehook.mod b/INSTALL/grub/x86_64-efi/datehook.mod new file mode 100644 index 00000000..f398c92f Binary files /dev/null and b/INSTALL/grub/x86_64-efi/datehook.mod differ diff --git a/INSTALL/grub/x86_64-efi/disk.mod b/INSTALL/grub/x86_64-efi/disk.mod new file mode 100644 index 00000000..aab241b1 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/disk.mod differ diff --git a/INSTALL/grub/x86_64-efi/div.mod b/INSTALL/grub/x86_64-efi/div.mod new file mode 100644 index 00000000..374129fe Binary files /dev/null and b/INSTALL/grub/x86_64-efi/div.mod differ diff --git a/INSTALL/grub/x86_64-efi/div_test.mod b/INSTALL/grub/x86_64-efi/div_test.mod new file mode 100644 index 00000000..ede46a09 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/div_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/dm_nv.mod b/INSTALL/grub/x86_64-efi/dm_nv.mod new file mode 100644 index 00000000..19a46086 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/dm_nv.mod differ diff --git a/INSTALL/grub/x86_64-efi/ehci.mod b/INSTALL/grub/x86_64-efi/ehci.mod new file mode 100644 index 00000000..841296f8 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/ehci.mod differ diff --git a/INSTALL/grub/x86_64-efi/eval.mod b/INSTALL/grub/x86_64-efi/eval.mod new file mode 100644 index 00000000..4c401f84 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/eval.mod differ diff --git a/INSTALL/grub/x86_64-efi/exfctest.mod b/INSTALL/grub/x86_64-efi/exfctest.mod new file mode 100644 index 00000000..fc8d158b Binary files /dev/null and b/INSTALL/grub/x86_64-efi/exfctest.mod differ diff --git a/INSTALL/grub/x86_64-efi/f2fs.mod b/INSTALL/grub/x86_64-efi/f2fs.mod new file mode 100644 index 00000000..4d9e530c Binary files /dev/null and b/INSTALL/grub/x86_64-efi/f2fs.mod differ diff --git a/INSTALL/grub/x86_64-efi/fdt.lst b/INSTALL/grub/x86_64-efi/fdt.lst new file mode 100644 index 00000000..e69de29b diff --git a/INSTALL/grub/x86_64-efi/fixvideo.mod b/INSTALL/grub/x86_64-efi/fixvideo.mod new file mode 100644 index 00000000..625c52e3 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/fixvideo.mod differ diff --git a/INSTALL/grub/x86_64-efi/fs.lst b/INSTALL/grub/x86_64-efi/fs.lst new file mode 100644 index 00000000..0acd240b --- /dev/null +++ b/INSTALL/grub/x86_64-efi/fs.lst @@ -0,0 +1,37 @@ +affs +afs +bfs +btrfs +cbfs +cpio +cpio_be +exfat +ext2 +f2fs +fat +hfs +hfsplus +iso9660 +jfs +minix +minix2 +minix2_be +minix3 +minix3_be +minix_be +newc +nilfs2 +ntfs +odc +procfs +reiserfs +romfs +sfs +squash4 +tar +udf +ufs1 +ufs1_be +ufs2 +xfs +zfs diff --git a/INSTALL/grub/x86_64-efi/functional_test.mod b/INSTALL/grub/x86_64-efi/functional_test.mod new file mode 100644 index 00000000..0b2d1469 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/functional_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_arcfour.mod b/INSTALL/grub/x86_64-efi/gcry_arcfour.mod new file mode 100644 index 00000000..97568f76 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_arcfour.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_blowfish.mod b/INSTALL/grub/x86_64-efi/gcry_blowfish.mod new file mode 100644 index 00000000..5d962f43 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_blowfish.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_camellia.mod b/INSTALL/grub/x86_64-efi/gcry_camellia.mod new file mode 100644 index 00000000..b44663b0 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_camellia.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_cast5.mod b/INSTALL/grub/x86_64-efi/gcry_cast5.mod new file mode 100644 index 00000000..8a264bf2 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_cast5.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_crc.mod b/INSTALL/grub/x86_64-efi/gcry_crc.mod new file mode 100644 index 00000000..7f71a65f Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_crc.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_des.mod b/INSTALL/grub/x86_64-efi/gcry_des.mod new file mode 100644 index 00000000..919d2c33 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_des.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_dsa.mod b/INSTALL/grub/x86_64-efi/gcry_dsa.mod new file mode 100644 index 00000000..14134411 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_dsa.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_idea.mod b/INSTALL/grub/x86_64-efi/gcry_idea.mod new file mode 100644 index 00000000..b3043204 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_idea.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_md4.mod b/INSTALL/grub/x86_64-efi/gcry_md4.mod new file mode 100644 index 00000000..b4e2e603 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_md4.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_rfc2268.mod b/INSTALL/grub/x86_64-efi/gcry_rfc2268.mod new file mode 100644 index 00000000..fed34c01 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_rfc2268.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_rijndael.mod b/INSTALL/grub/x86_64-efi/gcry_rijndael.mod new file mode 100644 index 00000000..29ac30eb Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_rijndael.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_rmd160.mod b/INSTALL/grub/x86_64-efi/gcry_rmd160.mod new file mode 100644 index 00000000..b8c35dc7 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_rmd160.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_rsa.mod b/INSTALL/grub/x86_64-efi/gcry_rsa.mod new file mode 100644 index 00000000..e3a58997 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_rsa.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_seed.mod b/INSTALL/grub/x86_64-efi/gcry_seed.mod new file mode 100644 index 00000000..1fa8178d Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_seed.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_serpent.mod b/INSTALL/grub/x86_64-efi/gcry_serpent.mod new file mode 100644 index 00000000..fd12f884 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_serpent.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_sha1.mod b/INSTALL/grub/x86_64-efi/gcry_sha1.mod new file mode 100644 index 00000000..9c6a843c Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_sha1.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_sha256.mod b/INSTALL/grub/x86_64-efi/gcry_sha256.mod new file mode 100644 index 00000000..973d7652 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_sha256.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_tiger.mod b/INSTALL/grub/x86_64-efi/gcry_tiger.mod new file mode 100644 index 00000000..686e70bd Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_tiger.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_twofish.mod b/INSTALL/grub/x86_64-efi/gcry_twofish.mod new file mode 100644 index 00000000..013c91ff Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_twofish.mod differ diff --git a/INSTALL/grub/x86_64-efi/gcry_whirlpool.mod b/INSTALL/grub/x86_64-efi/gcry_whirlpool.mod new file mode 100644 index 00000000..e10c7859 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gcry_whirlpool.mod differ diff --git a/INSTALL/grub/x86_64-efi/geli.mod b/INSTALL/grub/x86_64-efi/geli.mod new file mode 100644 index 00000000..c5db6467 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/geli.mod differ diff --git a/INSTALL/grub/x86_64-efi/gptsync.mod b/INSTALL/grub/x86_64-efi/gptsync.mod new file mode 100644 index 00000000..86ecbbfb Binary files /dev/null and b/INSTALL/grub/x86_64-efi/gptsync.mod differ diff --git a/INSTALL/grub/x86_64-efi/hdparm.mod b/INSTALL/grub/x86_64-efi/hdparm.mod new file mode 100644 index 00000000..bd19f3f4 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/hdparm.mod differ diff --git a/INSTALL/grub/x86_64-efi/hello.mod b/INSTALL/grub/x86_64-efi/hello.mod new file mode 100644 index 00000000..56921863 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/hello.mod differ diff --git a/INSTALL/grub/x86_64-efi/hexdump.mod b/INSTALL/grub/x86_64-efi/hexdump.mod new file mode 100644 index 00000000..05c5722a Binary files /dev/null and b/INSTALL/grub/x86_64-efi/hexdump.mod differ diff --git a/INSTALL/grub/x86_64-efi/hfs.mod b/INSTALL/grub/x86_64-efi/hfs.mod new file mode 100644 index 00000000..d04180a9 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/hfs.mod differ diff --git a/INSTALL/grub/x86_64-efi/hfspluscomp.mod b/INSTALL/grub/x86_64-efi/hfspluscomp.mod new file mode 100644 index 00000000..e206005f Binary files /dev/null and b/INSTALL/grub/x86_64-efi/hfspluscomp.mod differ diff --git a/INSTALL/grub/x86_64-efi/iorw.mod b/INSTALL/grub/x86_64-efi/iorw.mod new file mode 100644 index 00000000..707b405b Binary files /dev/null and b/INSTALL/grub/x86_64-efi/iorw.mod differ diff --git a/INSTALL/grub/x86_64-efi/jfs.mod b/INSTALL/grub/x86_64-efi/jfs.mod new file mode 100644 index 00000000..776a758e Binary files /dev/null and b/INSTALL/grub/x86_64-efi/jfs.mod differ diff --git a/INSTALL/grub/x86_64-efi/keylayouts.mod b/INSTALL/grub/x86_64-efi/keylayouts.mod new file mode 100644 index 00000000..2c2f9e7f Binary files /dev/null and b/INSTALL/grub/x86_64-efi/keylayouts.mod differ diff --git a/INSTALL/grub/x86_64-efi/keystatus.mod b/INSTALL/grub/x86_64-efi/keystatus.mod new file mode 100644 index 00000000..3cd5d7cc Binary files /dev/null and b/INSTALL/grub/x86_64-efi/keystatus.mod differ diff --git a/INSTALL/grub/x86_64-efi/ldm.mod b/INSTALL/grub/x86_64-efi/ldm.mod new file mode 100644 index 00000000..baa88e76 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/ldm.mod differ diff --git a/INSTALL/grub/x86_64-efi/legacy_password_test.mod b/INSTALL/grub/x86_64-efi/legacy_password_test.mod new file mode 100644 index 00000000..225082ac Binary files /dev/null and b/INSTALL/grub/x86_64-efi/legacy_password_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/legacycfg.mod b/INSTALL/grub/x86_64-efi/legacycfg.mod new file mode 100644 index 00000000..752af40f Binary files /dev/null and b/INSTALL/grub/x86_64-efi/legacycfg.mod differ diff --git a/INSTALL/grub/x86_64-efi/linux16.mod b/INSTALL/grub/x86_64-efi/linux16.mod new file mode 100644 index 00000000..1aa94eff Binary files /dev/null and b/INSTALL/grub/x86_64-efi/linux16.mod differ diff --git a/INSTALL/grub/x86_64-efi/loadbios.mod b/INSTALL/grub/x86_64-efi/loadbios.mod new file mode 100644 index 00000000..9dae5686 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/loadbios.mod differ diff --git a/INSTALL/grub/x86_64-efi/loadenv.mod b/INSTALL/grub/x86_64-efi/loadenv.mod new file mode 100644 index 00000000..6bfde6bb Binary files /dev/null and b/INSTALL/grub/x86_64-efi/loadenv.mod differ diff --git a/INSTALL/grub/x86_64-efi/lsacpi.mod b/INSTALL/grub/x86_64-efi/lsacpi.mod new file mode 100644 index 00000000..5bda6c1e Binary files /dev/null and b/INSTALL/grub/x86_64-efi/lsacpi.mod differ diff --git a/INSTALL/grub/x86_64-efi/lsefi.mod b/INSTALL/grub/x86_64-efi/lsefi.mod new file mode 100644 index 00000000..23e76746 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/lsefi.mod differ diff --git a/INSTALL/grub/x86_64-efi/lsefimmap.mod b/INSTALL/grub/x86_64-efi/lsefimmap.mod new file mode 100644 index 00000000..3cef1a2e Binary files /dev/null and b/INSTALL/grub/x86_64-efi/lsefimmap.mod differ diff --git a/INSTALL/grub/x86_64-efi/lsefisystab.mod b/INSTALL/grub/x86_64-efi/lsefisystab.mod new file mode 100644 index 00000000..ebc59dfb Binary files /dev/null and b/INSTALL/grub/x86_64-efi/lsefisystab.mod differ diff --git a/INSTALL/grub/x86_64-efi/lsmmap.mod b/INSTALL/grub/x86_64-efi/lsmmap.mod new file mode 100644 index 00000000..b02fe98f Binary files /dev/null and b/INSTALL/grub/x86_64-efi/lsmmap.mod differ diff --git a/INSTALL/grub/x86_64-efi/lspci.mod b/INSTALL/grub/x86_64-efi/lspci.mod new file mode 100644 index 00000000..39ef1bee Binary files /dev/null and b/INSTALL/grub/x86_64-efi/lspci.mod differ diff --git a/INSTALL/grub/x86_64-efi/lssal.mod b/INSTALL/grub/x86_64-efi/lssal.mod new file mode 100644 index 00000000..7cfb71c2 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/lssal.mod differ diff --git a/INSTALL/grub/x86_64-efi/luks.mod b/INSTALL/grub/x86_64-efi/luks.mod new file mode 100644 index 00000000..e0d290f9 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/luks.mod differ diff --git a/INSTALL/grub/x86_64-efi/lvm.mod b/INSTALL/grub/x86_64-efi/lvm.mod new file mode 100644 index 00000000..68a81529 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/lvm.mod differ diff --git a/INSTALL/grub/x86_64-efi/macbless.mod b/INSTALL/grub/x86_64-efi/macbless.mod new file mode 100644 index 00000000..4631c364 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/macbless.mod differ diff --git a/INSTALL/grub/x86_64-efi/mdraid09.mod b/INSTALL/grub/x86_64-efi/mdraid09.mod new file mode 100644 index 00000000..b6768460 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/mdraid09.mod differ diff --git a/INSTALL/grub/x86_64-efi/mdraid09_be.mod b/INSTALL/grub/x86_64-efi/mdraid09_be.mod new file mode 100644 index 00000000..c47e089e Binary files /dev/null and b/INSTALL/grub/x86_64-efi/mdraid09_be.mod differ diff --git a/INSTALL/grub/x86_64-efi/mdraid1x.mod b/INSTALL/grub/x86_64-efi/mdraid1x.mod new file mode 100644 index 00000000..8cc64181 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/mdraid1x.mod differ diff --git a/INSTALL/grub/x86_64-efi/memdisk.mod b/INSTALL/grub/x86_64-efi/memdisk.mod new file mode 100644 index 00000000..41c1270a Binary files /dev/null and b/INSTALL/grub/x86_64-efi/memdisk.mod differ diff --git a/INSTALL/grub/x86_64-efi/memrw.mod b/INSTALL/grub/x86_64-efi/memrw.mod new file mode 100644 index 00000000..8d9893e1 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/memrw.mod differ diff --git a/INSTALL/grub/x86_64-efi/minix.mod b/INSTALL/grub/x86_64-efi/minix.mod new file mode 100644 index 00000000..21548278 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/minix.mod differ diff --git a/INSTALL/grub/x86_64-efi/minix2.mod b/INSTALL/grub/x86_64-efi/minix2.mod new file mode 100644 index 00000000..402eb731 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/minix2.mod differ diff --git a/INSTALL/grub/x86_64-efi/minix2_be.mod b/INSTALL/grub/x86_64-efi/minix2_be.mod new file mode 100644 index 00000000..1fd15f37 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/minix2_be.mod differ diff --git a/INSTALL/grub/x86_64-efi/minix3.mod b/INSTALL/grub/x86_64-efi/minix3.mod new file mode 100644 index 00000000..b6312831 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/minix3.mod differ diff --git a/INSTALL/grub/x86_64-efi/minix3_be.mod b/INSTALL/grub/x86_64-efi/minix3_be.mod new file mode 100644 index 00000000..2d24bad4 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/minix3_be.mod differ diff --git a/INSTALL/grub/x86_64-efi/minix_be.mod b/INSTALL/grub/x86_64-efi/minix_be.mod new file mode 100644 index 00000000..a039b6da Binary files /dev/null and b/INSTALL/grub/x86_64-efi/minix_be.mod differ diff --git a/INSTALL/grub/x86_64-efi/moddep.lst b/INSTALL/grub/x86_64-efi/moddep.lst new file mode 100644 index 00000000..97ee9782 --- /dev/null +++ b/INSTALL/grub/x86_64-efi/moddep.lst @@ -0,0 +1,265 @@ +videotest: font video gfxmenu +odc: archelp +loopback: extcmd +macho: +gcry_des: crypto +memrw: extcmd +terminfo: extcmd +f2fs: fshelp +part_gpt: +romfs: fshelp +read: +lsefimmap: +aout: +gcry_arcfour: crypto +tftp: net priority_queue +newc: archelp +minix2_be: +elf: +videotest_checksum: font functional_test video_fb +password_pbkdf2: crypto gcry_sha512 pbkdf2 normal +gcry_seed: crypto +pcidump: extcmd +bsd: elf serial crypto gcry_md5 verifiers extcmd aout video boot cpuid relocator mmap +sfs: fshelp +reiserfs: fshelp +part_sunpc: +zstd: +gfxmenu: video_colors trig bitmap_scale gfxterm font normal bitmap video +backtrace: +jfs: +help: extcmd normal +configfile: normal +cbls: cbtable +gfxterm_menu: font functional_test procfs normal video_fb +gcry_idea: crypto +tr: extcmd +shift_test: functional_test +ohci: cs5536 usb boot +afs: fshelp +spkmodem: terminfo +usb_keyboard: keylayouts usb +xzio: crypto +syslinuxcfg: extcmd normal +search_fs_file: +wrmsr: +usbms: scsi usb +test_blockarg: extcmd normal +true: +affs: fshelp +iso9660: fshelp +exfat: fshelp +setjmp_test: setjmp functional_test +gfxterm: font video +efinet: net +disk: +appleldr: boot +xfs: fshelp +testspeed: extcmd normal +cpio_be: archelp +functional_test: btrfs extcmd video video_fb +bswap_test: functional_test +sleep: extcmd normal +memdisk: +gcry_rijndael: crypto +mdraid09_be: diskfilter +gettext: +gcry_sha1: crypto +hfspluscomp: gzio hfsplus +cmp: +random: hexdump +offsetio: +file: elf macho extcmd offsetio +usbserial_usbdebug: serial usb usbserial_common +video_colors: +morse: +hashsum: crypto extcmd normal +usb: +halt: acpi +gfxterm_background: video_colors bitmap_scale gfxterm extcmd video bitmap +search_fs_uuid: +gcry_dsa: pgp mpi +keystatus: extcmd +linux: verifiers video boot relocator mmap +geli: cryptodisk crypto gcry_sha512 pbkdf2 gcry_sha256 +cmdline_cat_test: font functional_test normal procfs video_fb +rdmsr: extcmd +part_sun: +cbtable: +pbkdf2_test: functional_test pbkdf2 gcry_sha1 +video_bochs: video video_fb +verifiers: +bufio: +usbserial_ftdi: serial usb usbserial_common +legacy_password_test: functional_test legacycfg +cpuid: extcmd +hdparm: extcmd hexdump +bfs: fshelp +gcry_blowfish: crypto +test: +nilfs2: fshelp +gcry_rsa: pgp mpi +cryptodisk: crypto extcmd procfs +nativedisk: +minicmd: +signature_test: functional_test procfs +ata: scsi +udf: fshelp +gzio: gcry_crc +xnu_uuid: gcry_md5 +uhci: usb +pata: ata +mul_test: functional_test +adler32: crypto +terminal: +shim_lock: verifiers +div: +ehci: cs5536 usb boot +crypto: +part_bsd: part_msdos +cs5536: +ventoy: ext2 fshelp font crypto exfat udf extcmd normal gcry_sha1 iso9660 +gcry_sha512: crypto +password: crypto normal +fshelp: +sleep_test: functional_test datetime +iorw: extcmd +xnu: macho bitmap_scale random verifiers extcmd boot video bitmap relocator mmap +mmap: +exfctest: functional_test +zfsinfo: zfs +ldm: part_gpt diskfilter part_msdos +eval: normal +part_dvh: +lssal: +blocklist: +ext2: fshelp +net: priority_queue bufio datetime boot +part_acorn: +videoinfo: video +btrfs: zstd lzopio raid6rec gzio +lsmmap: mmap +strtoull_test: functional_test +bitmap: +ntfs: fshelp +multiboot: net linux video boot relocator mmap +tpm: verifiers +gcry_crc: crypto +png: bufio bitmap +jpeg: bufio bitmap +macbless: disk +div_test: functional_test div +regexp: extcmd normal +parttool: normal +usbserial_pl2303: serial usb usbserial_common +cpio: archelp +gcry_rmd160: crypto +fat: fshelp +ufs1_be: +archelp: +http: net +zfs: gzio +raid6rec: diskfilter +lsefisystab: +minix2: +lsacpi: extcmd acpi +datehook: datetime normal +loadenv: disk extcmd +bitmap_scale: bitmap +probe: extcmd +minix3: +tar: archelp +loadbios: +hfs: fshelp +procfs: archelp +boot: +keylayouts: +progress: normal +kernel: +usbtest: usb +relocator: mmap +acpi: extcmd mmap +tga: bufio bitmap +reboot: +serial: extcmd terminfo +zfscrypt: crypto pbkdf2 extcmd zfs gcry_sha1 gcry_rijndael +efi_uga: video video_fb +dm_nv: diskfilter +cmp_test: functional_test +luks: cryptodisk crypto pbkdf2 +font: bufio video +raid5rec: diskfilter +crc64: crypto +datetime: +efifwsetup: +ctz_test: functional_test +video: +cbmemc: cbtable normal terminfo +hfsplus: fshelp +gcry_cast5: crypto +extcmd: +squash4: fshelp lzopio xzio gzio +part_plan: +minix_be: +gcry_whirlpool: crypto +gcry_tiger: crypto +fixvideo: +search: search_fs_uuid search_fs_file extcmd search_label +lspci: extcmd +cbtime: cbtable +video_fb: +minix3_be: +trig: +msdospart: disk parttool +priority_queue: +gcry_twofish: crypto +part_dfly: +xnu_uuid_test: functional_test +diskfilter: +testload: +part_apple: +hexdump: extcmd +date: datetime normal +pbkdf2: crypto +gcry_sha256: crypto +ls: extcmd normal +usbserial_common: serial usb +ntfscomp: ntfs +lzopio: crypto +video_cirrus: video video_fb +hello: extcmd +scsi: +linux16: linux boot video relocator mmap +cat: extcmd +ahci: ata boot +pgp: crypto verifiers extcmd mpi gcry_sha1 +normal: terminal crypto verifiers bufio extcmd boot gettext +ufs1: +mdraid09: diskfilter +lvm: diskfilter +chain: net efinet boot +cbfs: archelp +ufs2: +time: +setpci: extcmd +gptsync: disk +search_label: +setjmp: +multiboot2: linux net video boot relocator acpi mmap +gcry_rfc2268: crypto +mdraid1x: diskfilter +mpi: crypto +legacycfg: crypto password gcry_md5 normal +play: +part_amiga: +efi_gop: video video_fb +minix: +echo: extcmd +lsefi: +gcry_serpent: crypto +gcry_md4: crypto +gcry_md5: crypto +part_msdos: +gcry_camellia: crypto +at_keyboard: keylayouts boot +all_video: efi_gop efi_uga video_bochs video_cirrus diff --git a/INSTALL/grub/x86_64-efi/morse.mod b/INSTALL/grub/x86_64-efi/morse.mod new file mode 100644 index 00000000..123c9f46 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/morse.mod differ diff --git a/INSTALL/grub/x86_64-efi/mpi.mod b/INSTALL/grub/x86_64-efi/mpi.mod new file mode 100644 index 00000000..54689554 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/mpi.mod differ diff --git a/INSTALL/grub/x86_64-efi/msdospart.mod b/INSTALL/grub/x86_64-efi/msdospart.mod new file mode 100644 index 00000000..96e3e8e5 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/msdospart.mod differ diff --git a/INSTALL/grub/x86_64-efi/mul_test.mod b/INSTALL/grub/x86_64-efi/mul_test.mod new file mode 100644 index 00000000..4a37424b Binary files /dev/null and b/INSTALL/grub/x86_64-efi/mul_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/multiboot.mod b/INSTALL/grub/x86_64-efi/multiboot.mod new file mode 100644 index 00000000..9a827f20 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/multiboot.mod differ diff --git a/INSTALL/grub/x86_64-efi/multiboot2.mod b/INSTALL/grub/x86_64-efi/multiboot2.mod new file mode 100644 index 00000000..057693d9 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/multiboot2.mod differ diff --git a/INSTALL/grub/x86_64-efi/nativedisk.mod b/INSTALL/grub/x86_64-efi/nativedisk.mod new file mode 100644 index 00000000..3061804f Binary files /dev/null and b/INSTALL/grub/x86_64-efi/nativedisk.mod differ diff --git a/INSTALL/grub/x86_64-efi/newc.mod b/INSTALL/grub/x86_64-efi/newc.mod new file mode 100644 index 00000000..484fdf5b Binary files /dev/null and b/INSTALL/grub/x86_64-efi/newc.mod differ diff --git a/INSTALL/grub/x86_64-efi/nilfs2.mod b/INSTALL/grub/x86_64-efi/nilfs2.mod new file mode 100644 index 00000000..2aa661da Binary files /dev/null and b/INSTALL/grub/x86_64-efi/nilfs2.mod differ diff --git a/INSTALL/grub/x86_64-efi/normal.mod b/INSTALL/grub/x86_64-efi/normal.mod index 2acecccc..d2c83bb1 100644 Binary files a/INSTALL/grub/x86_64-efi/normal.mod and b/INSTALL/grub/x86_64-efi/normal.mod differ diff --git a/INSTALL/grub/x86_64-efi/ntfscomp.mod b/INSTALL/grub/x86_64-efi/ntfscomp.mod new file mode 100644 index 00000000..9f35f838 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/ntfscomp.mod differ diff --git a/INSTALL/grub/x86_64-efi/odc.mod b/INSTALL/grub/x86_64-efi/odc.mod new file mode 100644 index 00000000..512d7e70 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/odc.mod differ diff --git a/INSTALL/grub/x86_64-efi/ohci.mod b/INSTALL/grub/x86_64-efi/ohci.mod new file mode 100644 index 00000000..de29f2bb Binary files /dev/null and b/INSTALL/grub/x86_64-efi/ohci.mod differ diff --git a/INSTALL/grub/x86_64-efi/part_acorn.mod b/INSTALL/grub/x86_64-efi/part_acorn.mod new file mode 100644 index 00000000..323854af Binary files /dev/null and b/INSTALL/grub/x86_64-efi/part_acorn.mod differ diff --git a/INSTALL/grub/x86_64-efi/part_amiga.mod b/INSTALL/grub/x86_64-efi/part_amiga.mod new file mode 100644 index 00000000..b16590fe Binary files /dev/null and b/INSTALL/grub/x86_64-efi/part_amiga.mod differ diff --git a/INSTALL/grub/x86_64-efi/part_bsd.mod b/INSTALL/grub/x86_64-efi/part_bsd.mod new file mode 100644 index 00000000..d4bf05e2 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/part_bsd.mod differ diff --git a/INSTALL/grub/x86_64-efi/part_dfly.mod b/INSTALL/grub/x86_64-efi/part_dfly.mod new file mode 100644 index 00000000..d7b1d8e4 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/part_dfly.mod differ diff --git a/INSTALL/grub/x86_64-efi/part_dvh.mod b/INSTALL/grub/x86_64-efi/part_dvh.mod new file mode 100644 index 00000000..509c3a6e Binary files /dev/null and b/INSTALL/grub/x86_64-efi/part_dvh.mod differ diff --git a/INSTALL/grub/x86_64-efi/part_plan.mod b/INSTALL/grub/x86_64-efi/part_plan.mod new file mode 100644 index 00000000..826f54dc Binary files /dev/null and b/INSTALL/grub/x86_64-efi/part_plan.mod differ diff --git a/INSTALL/grub/x86_64-efi/part_sun.mod b/INSTALL/grub/x86_64-efi/part_sun.mod new file mode 100644 index 00000000..d054e878 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/part_sun.mod differ diff --git a/INSTALL/grub/x86_64-efi/part_sunpc.mod b/INSTALL/grub/x86_64-efi/part_sunpc.mod new file mode 100644 index 00000000..b17db009 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/part_sunpc.mod differ diff --git a/INSTALL/grub/x86_64-efi/partmap.lst b/INSTALL/grub/x86_64-efi/partmap.lst new file mode 100644 index 00000000..761233aa --- /dev/null +++ b/INSTALL/grub/x86_64-efi/partmap.lst @@ -0,0 +1,11 @@ +part_acorn +part_amiga +part_apple +part_bsd +part_dfly +part_dvh +part_gpt +part_msdos +part_plan +part_sun +part_sunpc diff --git a/INSTALL/grub/x86_64-efi/parttool.lst b/INSTALL/grub/x86_64-efi/parttool.lst new file mode 100644 index 00000000..68b4b5c4 --- /dev/null +++ b/INSTALL/grub/x86_64-efi/parttool.lst @@ -0,0 +1 @@ +msdos: msdospart diff --git a/INSTALL/grub/x86_64-efi/parttool.mod b/INSTALL/grub/x86_64-efi/parttool.mod new file mode 100644 index 00000000..fd631c01 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/parttool.mod differ diff --git a/INSTALL/grub/x86_64-efi/password.mod b/INSTALL/grub/x86_64-efi/password.mod new file mode 100644 index 00000000..a2dd92d5 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/password.mod differ diff --git a/INSTALL/grub/x86_64-efi/pata.mod b/INSTALL/grub/x86_64-efi/pata.mod new file mode 100644 index 00000000..d61ef8d0 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/pata.mod differ diff --git a/INSTALL/grub/x86_64-efi/pbkdf2_test.mod b/INSTALL/grub/x86_64-efi/pbkdf2_test.mod new file mode 100644 index 00000000..80c9e525 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/pbkdf2_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/pcidump.mod b/INSTALL/grub/x86_64-efi/pcidump.mod new file mode 100644 index 00000000..1cecc623 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/pcidump.mod differ diff --git a/INSTALL/grub/x86_64-efi/pgp.mod b/INSTALL/grub/x86_64-efi/pgp.mod new file mode 100644 index 00000000..309f6135 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/pgp.mod differ diff --git a/INSTALL/grub/x86_64-efi/play.mod b/INSTALL/grub/x86_64-efi/play.mod new file mode 100644 index 00000000..e101c82c Binary files /dev/null and b/INSTALL/grub/x86_64-efi/play.mod differ diff --git a/INSTALL/grub/x86_64-efi/probe.mod b/INSTALL/grub/x86_64-efi/probe.mod new file mode 100644 index 00000000..af846021 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/probe.mod differ diff --git a/INSTALL/grub/x86_64-efi/procfs.mod b/INSTALL/grub/x86_64-efi/procfs.mod new file mode 100644 index 00000000..01d42e95 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/procfs.mod differ diff --git a/INSTALL/grub/x86_64-efi/progress.mod b/INSTALL/grub/x86_64-efi/progress.mod new file mode 100644 index 00000000..e8448364 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/progress.mod differ diff --git a/INSTALL/grub/x86_64-efi/raid5rec.mod b/INSTALL/grub/x86_64-efi/raid5rec.mod new file mode 100644 index 00000000..b4786b29 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/raid5rec.mod differ diff --git a/INSTALL/grub/x86_64-efi/raid6rec.mod b/INSTALL/grub/x86_64-efi/raid6rec.mod new file mode 100644 index 00000000..bfd0d1b2 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/raid6rec.mod differ diff --git a/INSTALL/grub/x86_64-efi/random.mod b/INSTALL/grub/x86_64-efi/random.mod new file mode 100644 index 00000000..83a6c80e Binary files /dev/null and b/INSTALL/grub/x86_64-efi/random.mod differ diff --git a/INSTALL/grub/x86_64-efi/rdmsr.mod b/INSTALL/grub/x86_64-efi/rdmsr.mod new file mode 100644 index 00000000..9bf3269a Binary files /dev/null and b/INSTALL/grub/x86_64-efi/rdmsr.mod differ diff --git a/INSTALL/grub/x86_64-efi/reiserfs.mod b/INSTALL/grub/x86_64-efi/reiserfs.mod new file mode 100644 index 00000000..542ae3ce Binary files /dev/null and b/INSTALL/grub/x86_64-efi/reiserfs.mod differ diff --git a/INSTALL/grub/x86_64-efi/romfs.mod b/INSTALL/grub/x86_64-efi/romfs.mod new file mode 100644 index 00000000..c42d9c7e Binary files /dev/null and b/INSTALL/grub/x86_64-efi/romfs.mod differ diff --git a/INSTALL/grub/x86_64-efi/scsi.mod b/INSTALL/grub/x86_64-efi/scsi.mod new file mode 100644 index 00000000..a5e5e859 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/scsi.mod differ diff --git a/INSTALL/grub/x86_64-efi/search_fs_file.mod b/INSTALL/grub/x86_64-efi/search_fs_file.mod new file mode 100644 index 00000000..83720396 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/search_fs_file.mod differ diff --git a/INSTALL/grub/x86_64-efi/search_fs_uuid.mod b/INSTALL/grub/x86_64-efi/search_fs_uuid.mod new file mode 100644 index 00000000..63701d19 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/search_fs_uuid.mod differ diff --git a/INSTALL/grub/x86_64-efi/search_label.mod b/INSTALL/grub/x86_64-efi/search_label.mod new file mode 100644 index 00000000..f1b82658 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/search_label.mod differ diff --git a/INSTALL/grub/x86_64-efi/setjmp.mod b/INSTALL/grub/x86_64-efi/setjmp.mod new file mode 100644 index 00000000..a0b4e571 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/setjmp.mod differ diff --git a/INSTALL/grub/x86_64-efi/setjmp_test.mod b/INSTALL/grub/x86_64-efi/setjmp_test.mod new file mode 100644 index 00000000..291d9870 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/setjmp_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/setpci.mod b/INSTALL/grub/x86_64-efi/setpci.mod new file mode 100644 index 00000000..908a3ad2 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/setpci.mod differ diff --git a/INSTALL/grub/x86_64-efi/sfs.mod b/INSTALL/grub/x86_64-efi/sfs.mod new file mode 100644 index 00000000..2e3a2142 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/sfs.mod differ diff --git a/INSTALL/grub/x86_64-efi/shift_test.mod b/INSTALL/grub/x86_64-efi/shift_test.mod new file mode 100644 index 00000000..5a1321a9 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/shift_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/shim_lock.mod b/INSTALL/grub/x86_64-efi/shim_lock.mod new file mode 100644 index 00000000..3e4123a2 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/shim_lock.mod differ diff --git a/INSTALL/grub/x86_64-efi/signature_test.mod b/INSTALL/grub/x86_64-efi/signature_test.mod new file mode 100644 index 00000000..54a3545b Binary files /dev/null and b/INSTALL/grub/x86_64-efi/signature_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/sleep_test.mod b/INSTALL/grub/x86_64-efi/sleep_test.mod new file mode 100644 index 00000000..2722f351 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/sleep_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/spkmodem.mod b/INSTALL/grub/x86_64-efi/spkmodem.mod new file mode 100644 index 00000000..eac5b905 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/spkmodem.mod differ diff --git a/INSTALL/grub/x86_64-efi/strtoull_test.mod b/INSTALL/grub/x86_64-efi/strtoull_test.mod new file mode 100644 index 00000000..24b4245f Binary files /dev/null and b/INSTALL/grub/x86_64-efi/strtoull_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/syslinuxcfg.mod b/INSTALL/grub/x86_64-efi/syslinuxcfg.mod new file mode 100644 index 00000000..fc621e99 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/syslinuxcfg.mod differ diff --git a/INSTALL/grub/x86_64-efi/terminal.lst b/INSTALL/grub/x86_64-efi/terminal.lst new file mode 100644 index 00000000..3c9a5a34 --- /dev/null +++ b/INSTALL/grub/x86_64-efi/terminal.lst @@ -0,0 +1,9 @@ +iat_keyboard: at_keyboard +iserial: serial +iserial_*: serial +oaudio: morse +ocbmemc: cbmemc +ogfxterm: gfxterm +oserial: serial +oserial_*: serial +ospkmodem: spkmodem diff --git a/INSTALL/grub/x86_64-efi/test_blockarg.mod b/INSTALL/grub/x86_64-efi/test_blockarg.mod new file mode 100644 index 00000000..742a4806 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/test_blockarg.mod differ diff --git a/INSTALL/grub/x86_64-efi/testload.mod b/INSTALL/grub/x86_64-efi/testload.mod new file mode 100644 index 00000000..1b58c210 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/testload.mod differ diff --git a/INSTALL/grub/x86_64-efi/testspeed.mod b/INSTALL/grub/x86_64-efi/testspeed.mod new file mode 100644 index 00000000..609b3a5d Binary files /dev/null and b/INSTALL/grub/x86_64-efi/testspeed.mod differ diff --git a/INSTALL/grub/x86_64-efi/tga.mod b/INSTALL/grub/x86_64-efi/tga.mod new file mode 100644 index 00000000..02ce149e Binary files /dev/null and b/INSTALL/grub/x86_64-efi/tga.mod differ diff --git a/INSTALL/grub/x86_64-efi/tpm.mod b/INSTALL/grub/x86_64-efi/tpm.mod new file mode 100644 index 00000000..811b7ce4 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/tpm.mod differ diff --git a/INSTALL/grub/x86_64-efi/tr.mod b/INSTALL/grub/x86_64-efi/tr.mod new file mode 100644 index 00000000..cc015283 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/tr.mod differ diff --git a/INSTALL/grub/x86_64-efi/true.mod b/INSTALL/grub/x86_64-efi/true.mod new file mode 100644 index 00000000..253c5e2e Binary files /dev/null and b/INSTALL/grub/x86_64-efi/true.mod differ diff --git a/INSTALL/grub/x86_64-efi/ufs1.mod b/INSTALL/grub/x86_64-efi/ufs1.mod new file mode 100644 index 00000000..ab79b219 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/ufs1.mod differ diff --git a/INSTALL/grub/x86_64-efi/ufs1_be.mod b/INSTALL/grub/x86_64-efi/ufs1_be.mod new file mode 100644 index 00000000..296c2fcb Binary files /dev/null and b/INSTALL/grub/x86_64-efi/ufs1_be.mod differ diff --git a/INSTALL/grub/x86_64-efi/ufs2.mod b/INSTALL/grub/x86_64-efi/ufs2.mod new file mode 100644 index 00000000..c84e55a5 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/ufs2.mod differ diff --git a/INSTALL/grub/x86_64-efi/uhci.mod b/INSTALL/grub/x86_64-efi/uhci.mod new file mode 100644 index 00000000..a9a490c1 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/uhci.mod differ diff --git a/INSTALL/grub/x86_64-efi/usb.mod b/INSTALL/grub/x86_64-efi/usb.mod new file mode 100644 index 00000000..423a4632 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/usb.mod differ diff --git a/INSTALL/grub/x86_64-efi/usbms.mod b/INSTALL/grub/x86_64-efi/usbms.mod new file mode 100644 index 00000000..ab5848d8 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/usbms.mod differ diff --git a/INSTALL/grub/x86_64-efi/usbserial_common.mod b/INSTALL/grub/x86_64-efi/usbserial_common.mod new file mode 100644 index 00000000..5a33d89e Binary files /dev/null and b/INSTALL/grub/x86_64-efi/usbserial_common.mod differ diff --git a/INSTALL/grub/x86_64-efi/usbserial_ftdi.mod b/INSTALL/grub/x86_64-efi/usbserial_ftdi.mod new file mode 100644 index 00000000..35cc7afe Binary files /dev/null and b/INSTALL/grub/x86_64-efi/usbserial_ftdi.mod differ diff --git a/INSTALL/grub/x86_64-efi/usbserial_pl2303.mod b/INSTALL/grub/x86_64-efi/usbserial_pl2303.mod new file mode 100644 index 00000000..1b93dec0 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/usbserial_pl2303.mod differ diff --git a/INSTALL/grub/x86_64-efi/usbserial_usbdebug.mod b/INSTALL/grub/x86_64-efi/usbserial_usbdebug.mod new file mode 100644 index 00000000..6fd988aa Binary files /dev/null and b/INSTALL/grub/x86_64-efi/usbserial_usbdebug.mod differ diff --git a/INSTALL/grub/x86_64-efi/usbtest.mod b/INSTALL/grub/x86_64-efi/usbtest.mod new file mode 100644 index 00000000..b2cc7666 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/usbtest.mod differ diff --git a/INSTALL/grub/x86_64-efi/verifiers.mod b/INSTALL/grub/x86_64-efi/verifiers.mod new file mode 100644 index 00000000..6cb24d3c Binary files /dev/null and b/INSTALL/grub/x86_64-efi/verifiers.mod differ diff --git a/INSTALL/grub/x86_64-efi/video.lst b/INSTALL/grub/x86_64-efi/video.lst new file mode 100644 index 00000000..ae9ba23e --- /dev/null +++ b/INSTALL/grub/x86_64-efi/video.lst @@ -0,0 +1,4 @@ +efi_gop +efi_uga +video_bochs +video_cirrus diff --git a/INSTALL/grub/x86_64-efi/videoinfo.mod b/INSTALL/grub/x86_64-efi/videoinfo.mod new file mode 100644 index 00000000..d30ab126 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/videoinfo.mod differ diff --git a/INSTALL/grub/x86_64-efi/videotest.mod b/INSTALL/grub/x86_64-efi/videotest.mod new file mode 100644 index 00000000..9cd7cc55 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/videotest.mod differ diff --git a/INSTALL/grub/x86_64-efi/videotest_checksum.mod b/INSTALL/grub/x86_64-efi/videotest_checksum.mod new file mode 100644 index 00000000..afba542d Binary files /dev/null and b/INSTALL/grub/x86_64-efi/videotest_checksum.mod differ diff --git a/INSTALL/grub/x86_64-efi/wrmsr.mod b/INSTALL/grub/x86_64-efi/wrmsr.mod new file mode 100644 index 00000000..66241828 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/wrmsr.mod differ diff --git a/INSTALL/grub/x86_64-efi/xnu.mod b/INSTALL/grub/x86_64-efi/xnu.mod new file mode 100644 index 00000000..ad4d811c Binary files /dev/null and b/INSTALL/grub/x86_64-efi/xnu.mod differ diff --git a/INSTALL/grub/x86_64-efi/xnu_uuid.mod b/INSTALL/grub/x86_64-efi/xnu_uuid.mod new file mode 100644 index 00000000..f5cc67f3 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/xnu_uuid.mod differ diff --git a/INSTALL/grub/x86_64-efi/xnu_uuid_test.mod b/INSTALL/grub/x86_64-efi/xnu_uuid_test.mod new file mode 100644 index 00000000..d39261e9 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/xnu_uuid_test.mod differ diff --git a/INSTALL/grub/x86_64-efi/zfs.mod b/INSTALL/grub/x86_64-efi/zfs.mod new file mode 100644 index 00000000..70f1d917 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/zfs.mod differ diff --git a/INSTALL/grub/x86_64-efi/zfscrypt.mod b/INSTALL/grub/x86_64-efi/zfscrypt.mod new file mode 100644 index 00000000..cb2e7f8e Binary files /dev/null and b/INSTALL/grub/x86_64-efi/zfscrypt.mod differ diff --git a/INSTALL/grub/x86_64-efi/zfsinfo.mod b/INSTALL/grub/x86_64-efi/zfsinfo.mod new file mode 100644 index 00000000..7a3af4cd Binary files /dev/null and b/INSTALL/grub/x86_64-efi/zfsinfo.mod differ diff --git a/INSTALL/grub/x86_64-efi/zstd.mod b/INSTALL/grub/x86_64-efi/zstd.mod new file mode 100644 index 00000000..9ba950f1 Binary files /dev/null and b/INSTALL/grub/x86_64-efi/zstd.mod differ diff --git a/INSTALL/ventoy/7z/32/7za.exe b/INSTALL/ventoy/7z/32/7za.exe new file mode 100644 index 00000000..2bdd57d2 Binary files /dev/null and b/INSTALL/ventoy/7z/32/7za.exe differ diff --git a/INSTALL/ventoy/7z/64/7za.exe b/INSTALL/ventoy/7z/64/7za.exe new file mode 100644 index 00000000..9f27b20e Binary files /dev/null and b/INSTALL/ventoy/7z/64/7za.exe differ diff --git a/INSTALL/ventoy/ventoy.cpio b/INSTALL/ventoy/ventoy.cpio index e71b2b2e..82db8c5f 100644 Binary files a/INSTALL/ventoy/ventoy.cpio and b/INSTALL/ventoy/ventoy.cpio differ diff --git a/INSTALL/ventoy/ventoy_x64.efi b/INSTALL/ventoy/ventoy_x64.efi index 6290a335..df670586 100644 Binary files a/INSTALL/ventoy/ventoy_x64.efi and b/INSTALL/ventoy/ventoy_x64.efi differ diff --git a/INSTALL/ventoy/vtoyjump32.exe b/INSTALL/ventoy/vtoyjump32.exe index cb054e74..c88bb8dc 100644 Binary files a/INSTALL/ventoy/vtoyjump32.exe and b/INSTALL/ventoy/vtoyjump32.exe differ diff --git a/INSTALL/ventoy/vtoyjump64.exe b/INSTALL/ventoy/vtoyjump64.exe index 9273282e..f4cb0096 100644 Binary files a/INSTALL/ventoy/vtoyjump64.exe and b/INSTALL/ventoy/vtoyjump64.exe differ diff --git a/INSTALL/ventoy_pack.sh b/INSTALL/ventoy_pack.sh index 988d4e13..91c7840d 100644 --- a/INSTALL/ventoy_pack.sh +++ b/INSTALL/ventoy_pack.sh @@ -62,7 +62,7 @@ cp -a ./tool/ENROLL_THIS_KEY_IN_MOKMANAGER.cer $tmpmnt/ mkdir -p $tmpmnt/tool cp -a ./tool/mount* $tmpmnt/tool/ -rm -f $tmpmnt/grub/i386-pc/* +rm -f $tmpmnt/grub/i386-pc/*.img umount $tmpmnt && rm -rf $tmpmnt @@ -79,6 +79,7 @@ xz --check=crc32 $tmpdir/boot/core.img cp -a ./tool $tmpdir/ rm -f $tmpdir/ENROLL_THIS_KEY_IN_MOKMANAGER.cer cp -a Ventoy2Disk.sh $tmpdir/ +cp -a README $tmpdir/ cp -a CreatePersistentImg.sh $tmpdir/ dos2unix -q $tmpdir/Ventoy2Disk.sh dos2unix -q $tmpdir/CreatePersistentImg.sh @@ -109,6 +110,7 @@ cp -a Ventoy2Disk*.exe $tmpdir/ cp -a $LANG_DIR/languages.ini $tmpdir/ventoy/ rm -rf $tmpdir/tool rm -f $tmpdir/*.sh +rm -f $tmpdir/README zip -r ventoy-${curver}-windows.zip $tmpdir/ diff --git a/LANGUAGES/languages.ini b/LANGUAGES/languages.ini index ee1445af..86bc100a 100644 Binary files a/LANGUAGES/languages.ini and b/LANGUAGES/languages.ini differ diff --git a/License/lgpl-3.0.txt b/License/lgpl-3.0.txt new file mode 100644 index 00000000..80d241e1 --- /dev/null +++ b/License/lgpl-3.0.txt @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. \ No newline at end of file diff --git a/License/license-7z.txt b/License/license-7z.txt new file mode 100644 index 00000000..41cc0322 --- /dev/null +++ b/License/license-7z.txt @@ -0,0 +1,37 @@ + +imdisk follows LGPL license (see lgpl-3.0.txt) + +Ventoy only use its binaries 7za.exe + +========7zip License Information=============== + 7-Zip Extra + ~~~~~~~~~~~ + License for use and distribution + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Copyright (C) 1999-2019 Igor Pavlov. + + 7-Zip Extra files are under the GNU LGPL license. + + + Notes: + You can use 7-Zip Extra on any computer, including a computer in a commercial + organization. You don't need to register or pay for 7-Zip. + + + GNU LGPL information + -------------------- + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You can receive a copy of the GNU Lesser General Public License from + http://www.gnu.org/ + diff --git a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.c b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.c index 2dc33f18..2820cb0f 100644 --- a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.c +++ b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.c @@ -1,342 +1,346 @@ -/****************************************************************************** - * Ventoy2Disk.c - * - * Copyright (c) 2020, longpanda - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see . - * - */ - -#include -#include "resource.h" -#include "Language.h" -#include "Ventoy2Disk.h" - -PHY_DRIVE_INFO *g_PhyDriveList = NULL; -DWORD g_PhyDriveCount = 0; -static int g_FilterRemovable = 0; -static int g_FilterUSB = 1; -int g_ForceOperation = 1; - -int ParseCmdLineOption(LPSTR lpCmdLine) -{ - int i; - char cfgfile[MAX_PATH]; - - if (lpCmdLine && lpCmdLine[0]) - { - Log("CmdLine:<%s>", lpCmdLine); - } - - for (i = 0; i < __argc; i++) - { - if (strncmp(__argv[i], "-U", 2) == 0 || - strncmp(__argv[i], "-u", 2) == 0) - { - g_FilterUSB = 0; - } - else if (strncmp(__argv[i], "-F", 2) == 0) - { - g_ForceOperation = 1; - } - } - - GetCurrentDirectoryA(sizeof(cfgfile), cfgfile); - strcat_s(cfgfile, sizeof(cfgfile), "\\Ventoy2Disk.ini"); - - if (0 == GetPrivateProfileIntA("Filter", "USB", 1, cfgfile)) - { - g_FilterUSB = 0; - } - - if (1 == GetPrivateProfileIntA("Operation", "Force", 0, cfgfile)) - { - g_ForceOperation = 1; - } - - Log("Control Flag: %d %d %d", g_FilterRemovable, g_FilterUSB, g_ForceOperation); - - return 0; -} - -static BOOL IsVentoyPhyDrive(int PhyDrive, UINT64 SizeBytes, MBR_HEAD *pMBR, UINT64 *Part2StartSector) -{ - int i; - BOOL bRet; - DWORD dwSize; - HANDLE hDrive; - MBR_HEAD MBR; - UINT32 PartStartSector; - UINT32 PartSectorCount; - CHAR PhyDrivePath[128]; - VTOY_GPT_INFO *pGpt = NULL; - - safe_sprintf(PhyDrivePath, "\\\\.\\PhysicalDrive%d", PhyDrive); - hDrive = CreateFileA(PhyDrivePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); - Log("Create file Handle:%p %s status:%u", hDrive, PhyDrivePath, LASTERR); - - if (hDrive == INVALID_HANDLE_VALUE) - { - return FALSE; - } - - bRet = ReadFile(hDrive, &MBR, sizeof(MBR), &dwSize, NULL); - Log("Read MBR Ret:%u Size:%u code:%u", bRet, dwSize, LASTERR); - - if ((!bRet) || (dwSize != sizeof(MBR))) - { - CHECK_CLOSE_HANDLE(hDrive); - return FALSE; - } - - if (MBR.Byte55 != 0x55 || MBR.ByteAA != 0xAA) - { - Log("Byte55 ByteAA not match 0x%x 0x%x", MBR.Byte55, MBR.ByteAA); - CHECK_CLOSE_HANDLE(hDrive); - return FALSE; - } - - for (i = 0; i < 4; i++) - { - Log("=========== Partition Table %d ============", i + 1); - Log("PartTbl.Active = 0x%x", MBR.PartTbl[i].Active); - Log("PartTbl.FsFlag = 0x%x", MBR.PartTbl[i].FsFlag); - Log("PartTbl.StartSectorId = %u", MBR.PartTbl[i].StartSectorId); - Log("PartTbl.SectorCount = %u", MBR.PartTbl[i].SectorCount); - Log("PartTbl.StartHead = %u", MBR.PartTbl[i].StartHead); - Log("PartTbl.StartSector = %u", MBR.PartTbl[i].StartSector); - Log("PartTbl.StartCylinder = %u", MBR.PartTbl[i].StartCylinder); - Log("PartTbl.EndHead = %u", MBR.PartTbl[i].EndHead); - Log("PartTbl.EndSector = %u", MBR.PartTbl[i].EndSector); - Log("PartTbl.EndCylinder = %u", MBR.PartTbl[i].EndCylinder); - } - - if (MBR.PartTbl[0].FsFlag == 0xEE) - { - pGpt = malloc(sizeof(VTOY_GPT_INFO)); - if (!pGpt) - { - CHECK_CLOSE_HANDLE(hDrive); - return FALSE; - } - - SetFilePointer(hDrive, 0, NULL, FILE_BEGIN); - bRet = ReadFile(hDrive, pGpt, sizeof(VTOY_GPT_INFO), &dwSize, NULL); - CHECK_CLOSE_HANDLE(hDrive); - if ((!bRet) || (dwSize != sizeof(VTOY_GPT_INFO))) - { - Log("Failed to read gpt info %d %u %d", bRet, dwSize, LASTERR); - return FALSE; - } - - if (memcmp(pGpt->Head.Signature, "EFI PART", 8)) - { - Log("Invalid GPT signature"); - return FALSE; - } - - if (memcmp(pGpt->PartTbl[1].Name, L"VTOYEFI", 7 * 2)) - { - Log("Invalid ventoy efi part name"); - return FALSE; - } - - *Part2StartSector = pGpt->PartTbl[1].StartLBA; - } - else - { - CHECK_CLOSE_HANDLE(hDrive); - - if (MBR.PartTbl[0].StartSectorId != 2048) - { - Log("Part1 not match %u", MBR.PartTbl[0].StartSectorId); - return FALSE; - } - - PartStartSector = MBR.PartTbl[0].StartSectorId + MBR.PartTbl[0].SectorCount; - PartSectorCount = VENTOY_EFI_PART_SIZE / 512; - - if (MBR.PartTbl[1].FsFlag != 0xEF || - MBR.PartTbl[1].StartSectorId != PartStartSector || - MBR.PartTbl[1].SectorCount != PartSectorCount) - { - Log("Part2 not match [0x%x 0x%x] [%u %u] [%u %u]", - MBR.PartTbl[1].FsFlag, 0xEF, - MBR.PartTbl[1].StartSectorId, PartStartSector, - MBR.PartTbl[1].SectorCount, PartSectorCount); - return FALSE; - } - - if (MBR.PartTbl[0].Active != 0x80 && MBR.PartTbl[1].Active != 0x80) - { - Log("Part1 and Part2 are both NOT active 0x%x 0x%x", MBR.PartTbl[0].Active, MBR.PartTbl[1].Active); - return FALSE; - } - - *Part2StartSector = MBR.PartTbl[1].StartSectorId; - } - - memcpy(pMBR, &MBR, sizeof(MBR_HEAD)); - Log("PhysicalDrive%d is ventoy disk", PhyDrive); - return TRUE; -} - - -static int FilterPhysicalDrive(PHY_DRIVE_INFO *pDriveList, DWORD DriveCount) -{ - DWORD i; - DWORD LogDrive; - int Letter = 'A'; - int Id = 0; - int LetterCount = 0; - UINT64 Part2StartSector = 0; - PHY_DRIVE_INFO *CurDrive; - MBR_HEAD MBR; - int LogLetter[VENTOY_MAX_PHY_DRIVE]; - int PhyDriveId[VENTOY_MAX_PHY_DRIVE]; - - for (LogDrive = GetLogicalDrives(); LogDrive > 0; LogDrive >>= 1) - { - if (LogDrive & 0x01) - { - LogLetter[LetterCount] = Letter; - PhyDriveId[LetterCount] = GetPhyDriveByLogicalDrive(Letter); - - Log("Logical Drive:%C ===> PhyDrive:%d", LogLetter[LetterCount], PhyDriveId[LetterCount]); - LetterCount++; - } - - Letter++; - } - - for (i = 0; i < DriveCount; i++) - { - CurDrive = pDriveList + i; - - CurDrive->Id = -1; - CurDrive->FirstDriveLetter = -1; - - // Too big for MBR - if (CurDrive->SizeInBytes > 2199023255552ULL) - { - Log("<%s %s> is filtered for too big for MBR.", CurDrive->VendorId, CurDrive->ProductId); - continue; - } - - if (g_FilterRemovable && (!CurDrive->RemovableMedia)) - { - Log("<%s %s> is filtered for not removable.", CurDrive->VendorId, CurDrive->ProductId); - continue; - } - - if (g_FilterUSB && CurDrive->BusType != BusTypeUsb) - { - Log("<%s %s> is filtered for not USB type.", CurDrive->VendorId, CurDrive->ProductId); - continue; - } - - CurDrive->Id = Id++; - - for (Letter = 0; Letter < LetterCount; Letter++) - { - if (PhyDriveId[Letter] == CurDrive->PhyDrive) - { - CurDrive->FirstDriveLetter = LogLetter[Letter]; - break; - } - } - - if (IsVentoyPhyDrive(CurDrive->PhyDrive, CurDrive->SizeInBytes, &MBR, &Part2StartSector)) - { - CurDrive->PartStyle = (MBR.PartTbl[0].FsFlag == 0xEE) ? 1 : 0; - GetVentoyVerInPhyDrive(CurDrive, Part2StartSector, CurDrive->VentoyVersion, sizeof(CurDrive->VentoyVersion)); - } - } - - // for safe - for (i = 0; i < DriveCount; i++) - { - CurDrive = pDriveList + i; - if (CurDrive->Id < 0) - { - CurDrive->PhyDrive = 0x00FFFFFF; - } - } - - return Id; -} - -PHY_DRIVE_INFO * GetPhyDriveInfoById(int Id) -{ - DWORD i; - for (i = 0; i < g_PhyDriveCount; i++) - { - if (g_PhyDriveList[i].Id >= 0 && g_PhyDriveList[i].Id == Id) - { - return g_PhyDriveList + i; - } - } - - return NULL; -} - -int SortPhysicalDrive(PHY_DRIVE_INFO *pDriveList, DWORD DriveCount) -{ - DWORD i, j; - PHY_DRIVE_INFO TmpDriveInfo; - - for (i = 0; i < DriveCount; i++) - { - for (j = i + 1; j < DriveCount; j++) - { - if (pDriveList[i].BusType == BusTypeUsb && pDriveList[j].BusType == BusTypeUsb) - { - if (pDriveList[i].RemovableMedia == FALSE && pDriveList[j].RemovableMedia == TRUE) - { - memcpy(&TmpDriveInfo, pDriveList + i, sizeof(PHY_DRIVE_INFO)); - memcpy(pDriveList + i, pDriveList + j, sizeof(PHY_DRIVE_INFO)); - memcpy(pDriveList + j, &TmpDriveInfo, sizeof(PHY_DRIVE_INFO)); - } - } - } - } - - return 0; -} - -int Ventoy2DiskInit(void) -{ - Log("\n===================== Enum All PhyDrives ====================="); - g_PhyDriveList = (PHY_DRIVE_INFO *)malloc(sizeof(PHY_DRIVE_INFO)* VENTOY_MAX_PHY_DRIVE); - if (NULL == g_PhyDriveList) - { - Log("Failed to alloc phy drive memory"); - return FALSE; - } - memset(g_PhyDriveList, 0, sizeof(PHY_DRIVE_INFO)* VENTOY_MAX_PHY_DRIVE); - - GetAllPhysicalDriveInfo(g_PhyDriveList, &g_PhyDriveCount); - - SortPhysicalDrive(g_PhyDriveList, g_PhyDriveCount); - - FilterPhysicalDrive(g_PhyDriveList, g_PhyDriveCount); - - return 0; -} - -int Ventoy2DiskDestroy(void) -{ - free(g_PhyDriveList); - return 0; -} +/****************************************************************************** + * Ventoy2Disk.c + * + * Copyright (c) 2020, longpanda + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + */ + +#include +#include "resource.h" +#include "Language.h" +#include "Ventoy2Disk.h" + +PHY_DRIVE_INFO *g_PhyDriveList = NULL; +DWORD g_PhyDriveCount = 0; +static int g_FilterRemovable = 0; +static int g_FilterUSB = 1; +int g_ForceOperation = 1; + +int ParseCmdLineOption(LPSTR lpCmdLine) +{ + int i; + char cfgfile[MAX_PATH]; + + if (lpCmdLine && lpCmdLine[0]) + { + Log("CmdLine:<%s>", lpCmdLine); + } + + for (i = 0; i < __argc; i++) + { + if (strncmp(__argv[i], "-U", 2) == 0 || + strncmp(__argv[i], "-u", 2) == 0) + { + g_FilterUSB = 0; + } + else if (strncmp(__argv[i], "-F", 2) == 0) + { + g_ForceOperation = 1; + } + } + + GetCurrentDirectoryA(sizeof(cfgfile), cfgfile); + strcat_s(cfgfile, sizeof(cfgfile), "\\Ventoy2Disk.ini"); + + if (0 == GetPrivateProfileIntA("Filter", "USB", 1, cfgfile)) + { + g_FilterUSB = 0; + } + + if (1 == GetPrivateProfileIntA("Operation", "Force", 0, cfgfile)) + { + g_ForceOperation = 1; + } + + Log("Control Flag: %d %d %d", g_FilterRemovable, g_FilterUSB, g_ForceOperation); + + return 0; +} + +static BOOL IsVentoyPhyDrive(int PhyDrive, UINT64 SizeBytes, MBR_HEAD *pMBR, UINT64 *Part2StartSector) +{ + int i; + BOOL bRet; + DWORD dwSize; + HANDLE hDrive; + MBR_HEAD MBR; + UINT32 PartStartSector; + UINT32 PartSectorCount; + CHAR PhyDrivePath[128]; + VTOY_GPT_INFO *pGpt = NULL; + + safe_sprintf(PhyDrivePath, "\\\\.\\PhysicalDrive%d", PhyDrive); + hDrive = CreateFileA(PhyDrivePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); + Log("Create file Handle:%p %s status:%u", hDrive, PhyDrivePath, LASTERR); + + if (hDrive == INVALID_HANDLE_VALUE) + { + return FALSE; + } + + bRet = ReadFile(hDrive, &MBR, sizeof(MBR), &dwSize, NULL); + Log("Read MBR Ret:%u Size:%u code:%u", bRet, dwSize, LASTERR); + + if ((!bRet) || (dwSize != sizeof(MBR))) + { + CHECK_CLOSE_HANDLE(hDrive); + return FALSE; + } + + if (MBR.Byte55 != 0x55 || MBR.ByteAA != 0xAA) + { + Log("Byte55 ByteAA not match 0x%x 0x%x", MBR.Byte55, MBR.ByteAA); + CHECK_CLOSE_HANDLE(hDrive); + return FALSE; + } + + for (i = 0; i < 4; i++) + { + Log("=========== Partition Table %d ============", i + 1); + Log("PartTbl.Active = 0x%x", MBR.PartTbl[i].Active); + Log("PartTbl.FsFlag = 0x%x", MBR.PartTbl[i].FsFlag); + Log("PartTbl.StartSectorId = %u", MBR.PartTbl[i].StartSectorId); + Log("PartTbl.SectorCount = %u", MBR.PartTbl[i].SectorCount); + Log("PartTbl.StartHead = %u", MBR.PartTbl[i].StartHead); + Log("PartTbl.StartSector = %u", MBR.PartTbl[i].StartSector); + Log("PartTbl.StartCylinder = %u", MBR.PartTbl[i].StartCylinder); + Log("PartTbl.EndHead = %u", MBR.PartTbl[i].EndHead); + Log("PartTbl.EndSector = %u", MBR.PartTbl[i].EndSector); + Log("PartTbl.EndCylinder = %u", MBR.PartTbl[i].EndCylinder); + } + + if (MBR.PartTbl[0].FsFlag == 0xEE) + { + pGpt = malloc(sizeof(VTOY_GPT_INFO)); + if (!pGpt) + { + CHECK_CLOSE_HANDLE(hDrive); + return FALSE; + } + + SetFilePointer(hDrive, 0, NULL, FILE_BEGIN); + bRet = ReadFile(hDrive, pGpt, sizeof(VTOY_GPT_INFO), &dwSize, NULL); + CHECK_CLOSE_HANDLE(hDrive); + if ((!bRet) || (dwSize != sizeof(VTOY_GPT_INFO))) + { + Log("Failed to read gpt info %d %u %d", bRet, dwSize, LASTERR); + return FALSE; + } + + if (memcmp(pGpt->Head.Signature, "EFI PART", 8)) + { + Log("Invalid GPT signature"); + return FALSE; + } + + if (memcmp(pGpt->PartTbl[1].Name, L"VTOYEFI", 7 * 2)) + { + Log("Invalid ventoy efi part name"); + return FALSE; + } + + *Part2StartSector = pGpt->PartTbl[1].StartLBA; + } + else + { + CHECK_CLOSE_HANDLE(hDrive); + + if (MBR.PartTbl[0].StartSectorId != 2048) + { + Log("Part1 not match %u", MBR.PartTbl[0].StartSectorId); + return FALSE; + } + + PartStartSector = MBR.PartTbl[0].StartSectorId + MBR.PartTbl[0].SectorCount; + PartSectorCount = VENTOY_EFI_PART_SIZE / 512; + + if (MBR.PartTbl[1].FsFlag != 0xEF || + MBR.PartTbl[1].StartSectorId != PartStartSector || + MBR.PartTbl[1].SectorCount != PartSectorCount) + { + Log("Part2 not match [0x%x 0x%x] [%u %u] [%u %u]", + MBR.PartTbl[1].FsFlag, 0xEF, + MBR.PartTbl[1].StartSectorId, PartStartSector, + MBR.PartTbl[1].SectorCount, PartSectorCount); + return FALSE; + } + + if (MBR.PartTbl[0].Active != 0x80 && MBR.PartTbl[1].Active != 0x80) + { + Log("Part1 and Part2 are both NOT active 0x%x 0x%x", MBR.PartTbl[0].Active, MBR.PartTbl[1].Active); + return FALSE; + } + + *Part2StartSector = MBR.PartTbl[1].StartSectorId; + } + + memcpy(pMBR, &MBR, sizeof(MBR_HEAD)); + Log("PhysicalDrive%d is ventoy disk", PhyDrive); + return TRUE; +} + + +static int FilterPhysicalDrive(PHY_DRIVE_INFO *pDriveList, DWORD DriveCount) +{ + DWORD i; + DWORD LogDrive; + int Count = 0; + int Letter = 'A'; + int Id = 0; + int LetterCount = 0; + UINT64 Part2StartSector = 0; + PHY_DRIVE_INFO *CurDrive; + MBR_HEAD MBR; + int LogLetter[VENTOY_MAX_PHY_DRIVE]; + int PhyDriveId[VENTOY_MAX_PHY_DRIVE]; + + for (LogDrive = GetLogicalDrives(); LogDrive > 0; LogDrive >>= 1) + { + if (LogDrive & 0x01) + { + LogLetter[LetterCount] = Letter; + PhyDriveId[LetterCount] = GetPhyDriveByLogicalDrive(Letter); + + Log("Logical Drive:%C ===> PhyDrive:%d", LogLetter[LetterCount], PhyDriveId[LetterCount]); + LetterCount++; + } + + Letter++; + } + + for (i = 0; i < DriveCount; i++) + { + CurDrive = pDriveList + i; + + CurDrive->Id = -1; + memset(CurDrive->DriveLetters, 0, sizeof(CurDrive->DriveLetters)); + + // Too big for MBR + if (CurDrive->SizeInBytes > 2199023255552ULL) + { + Log("<%s %s> is filtered for too big for MBR.", CurDrive->VendorId, CurDrive->ProductId); + continue; + } + + if (g_FilterRemovable && (!CurDrive->RemovableMedia)) + { + Log("<%s %s> is filtered for not removable.", CurDrive->VendorId, CurDrive->ProductId); + continue; + } + + if (g_FilterUSB && CurDrive->BusType != BusTypeUsb) + { + Log("<%s %s> is filtered for not USB type.", CurDrive->VendorId, CurDrive->ProductId); + continue; + } + + CurDrive->Id = Id++; + + for (Count = 0, Letter = 0; Letter < LetterCount; Letter++) + { + if (PhyDriveId[Letter] == CurDrive->PhyDrive) + { + if (Count + 1 < sizeof(CurDrive->DriveLetters) / sizeof(CHAR)) + { + CurDrive->DriveLetters[Count] = LogLetter[Letter]; + } + Count++; + } + } + + if (IsVentoyPhyDrive(CurDrive->PhyDrive, CurDrive->SizeInBytes, &MBR, &Part2StartSector)) + { + CurDrive->PartStyle = (MBR.PartTbl[0].FsFlag == 0xEE) ? 1 : 0; + GetVentoyVerInPhyDrive(CurDrive, Part2StartSector, CurDrive->VentoyVersion, sizeof(CurDrive->VentoyVersion)); + } + } + + // for safe + for (i = 0; i < DriveCount; i++) + { + CurDrive = pDriveList + i; + if (CurDrive->Id < 0) + { + CurDrive->PhyDrive = 0x00FFFFFF; + } + } + + return Id; +} + +PHY_DRIVE_INFO * GetPhyDriveInfoById(int Id) +{ + DWORD i; + for (i = 0; i < g_PhyDriveCount; i++) + { + if (g_PhyDriveList[i].Id >= 0 && g_PhyDriveList[i].Id == Id) + { + return g_PhyDriveList + i; + } + } + + return NULL; +} + +int SortPhysicalDrive(PHY_DRIVE_INFO *pDriveList, DWORD DriveCount) +{ + DWORD i, j; + PHY_DRIVE_INFO TmpDriveInfo; + + for (i = 0; i < DriveCount; i++) + { + for (j = i + 1; j < DriveCount; j++) + { + if (pDriveList[i].BusType == BusTypeUsb && pDriveList[j].BusType == BusTypeUsb) + { + if (pDriveList[i].RemovableMedia == FALSE && pDriveList[j].RemovableMedia == TRUE) + { + memcpy(&TmpDriveInfo, pDriveList + i, sizeof(PHY_DRIVE_INFO)); + memcpy(pDriveList + i, pDriveList + j, sizeof(PHY_DRIVE_INFO)); + memcpy(pDriveList + j, &TmpDriveInfo, sizeof(PHY_DRIVE_INFO)); + } + } + } + } + + return 0; +} + +int Ventoy2DiskInit(void) +{ + Log("\n===================== Enum All PhyDrives ====================="); + g_PhyDriveList = (PHY_DRIVE_INFO *)malloc(sizeof(PHY_DRIVE_INFO)* VENTOY_MAX_PHY_DRIVE); + if (NULL == g_PhyDriveList) + { + Log("Failed to alloc phy drive memory"); + return FALSE; + } + memset(g_PhyDriveList, 0, sizeof(PHY_DRIVE_INFO)* VENTOY_MAX_PHY_DRIVE); + + GetAllPhysicalDriveInfo(g_PhyDriveList, &g_PhyDriveCount); + + SortPhysicalDrive(g_PhyDriveList, g_PhyDriveCount); + + FilterPhysicalDrive(g_PhyDriveList, g_PhyDriveCount); + + return 0; +} + +int Ventoy2DiskDestroy(void) +{ + free(g_PhyDriveList); + return 0; +} diff --git a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h index f305ea03..61566bf8 100644 --- a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h +++ b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h @@ -1,216 +1,217 @@ -/****************************************************************************** - * Ventoy2Disk.h - * - * Copyright (c) 2020, longpanda - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see . - * - */ - -#ifndef __VENTOY2DISK_H__ -#define __VENTOY2DISK_H__ - -#include - -#define SIZE_1MB (1024 * 1024) -#define VENTOY_EFI_PART_SIZE (32 * SIZE_1MB) -#define VENTOY_PART1_START_SECTOR 2048 - -#define VENTOY_FILE_BOOT_IMG "boot\\boot.img" -#define VENTOY_FILE_STG1_IMG "boot\\core.img.xz" -#define VENTOY_FILE_DISK_IMG "ventoy\\ventoy.disk.img.xz" -#define VENTOY_FILE_LOG "log.txt" -#define VENTOY_FILE_VERSION "ventoy\\version" - -#define DRIVE_ACCESS_TIMEOUT 15000 // How long we should retry drive access (in ms) -#define DRIVE_ACCESS_RETRIES 150 // How many times we should retry - -#define IsFileExist(Fmt, ...) IsPathExist(FALSE, Fmt, __VA_ARGS__) -#define IsDirExist(Fmt, ...) IsPathExist(TRUE, Fmt, __VA_ARGS__) - -#define safe_sprintf(dst, fmt, ...) sprintf_s(dst, sizeof(dst), fmt, __VA_ARGS__) -#define safe_strcpy(dst, src) strcpy_s(dst, sizeof(dst), src) - -#define CHECK_CLOSE_HANDLE(Handle) \ -{\ - if (Handle != INVALID_HANDLE_VALUE) \ - {\ - CloseHandle(Handle); \ - Handle = INVALID_HANDLE_VALUE; \ - }\ -} - -#define LASTERR GetLastError() - -#pragma pack(1) -typedef struct PART_TABLE -{ - UINT8 Active; // 0x00 0x80 - - UINT8 StartHead; - UINT16 StartSector : 6; - UINT16 StartCylinder : 10; - - UINT8 FsFlag; - - UINT8 EndHead; - UINT16 EndSector : 6; - UINT16 EndCylinder : 10; - - UINT32 StartSectorId; - UINT32 SectorCount; -}PART_TABLE; - -typedef struct MBR_HEAD -{ - UINT8 BootCode[446]; - PART_TABLE PartTbl[4]; - UINT8 Byte55; - UINT8 ByteAA; -}MBR_HEAD; - -typedef struct VTOY_GPT_HDR -{ - CHAR Signature[8]; /* EFI PART */ - UINT8 Version[4]; - UINT32 Length; - UINT32 Crc; - UINT8 Reserved1[4]; - UINT64 EfiStartLBA; - UINT64 EfiBackupLBA; - UINT64 PartAreaStartLBA; - UINT64 PartAreaEndLBA; - GUID DiskGuid; - UINT64 PartTblStartLBA; - UINT32 PartTblTotNum; - UINT32 PartTblEntryLen; - UINT32 PartTblCrc; - UINT8 Reserved2[420]; -}VTOY_GPT_HDR; - -typedef struct VTOY_GPT_PART_TBL -{ - GUID PartType; - GUID PartGuid; - UINT64 StartLBA; - UINT64 LastLBA; - UINT64 Attr; - UINT16 Name[36]; -}VTOY_GPT_PART_TBL; - -typedef struct VTOY_GPT_INFO -{ - MBR_HEAD MBR; - VTOY_GPT_HDR Head; - VTOY_GPT_PART_TBL PartTbl[128]; -}VTOY_GPT_INFO; - -#pragma pack() - -#define VENTOY_MAX_PHY_DRIVE 128 - -typedef struct PHY_DRIVE_INFO -{ - int Id; - int PhyDrive; - int PartStyle;//0:MBR 1:GPT - UINT64 SizeInBytes; - BYTE DeviceType; - BOOL RemovableMedia; - CHAR VendorId[128]; - CHAR ProductId[128]; - CHAR ProductRev[128]; - CHAR SerialNumber[128]; - STORAGE_BUS_TYPE BusType; - - int FirstDriveLetter; - CHAR VentoyVersion[32]; - -}PHY_DRIVE_INFO; - -typedef enum PROGRESS_POINT -{ - PT_START = 0, - PT_LOCK_FOR_CLEAN, - PT_DEL_ALL_PART, - PT_LOCK_FOR_WRITE, - PT_FORMAT_PART1, - PT_LOCK_VOLUME = PT_FORMAT_PART1, - PT_FORMAT_PART2, - - PT_WRITE_VENTOY_START, - PT_WRITE_VENTOY_FINISH = PT_WRITE_VENTOY_START + 32, - - PT_WRITE_STG1_IMG, - PT_WRITE_PART_TABLE, - PT_MOUNT_VOLUME, - - PT_FINISH -}PROGRESS_POINT; - -#define PROGRESS_BAR_SET_POS(pos) SetProgressBarPos(pos) - -extern PHY_DRIVE_INFO *g_PhyDriveList; -extern DWORD g_PhyDriveCount; -extern int g_ForceOperation; -extern HWND g_ProgressBarHwnd; -extern HFONT g_language_normal_font; -extern HFONT g_language_bold_font; - -void Log(const char *Fmt, ...); -BOOL IsPathExist(BOOL Dir, const char *Fmt, ...); -void DumpWindowsVersion(void); -const CHAR* GetLocalVentoyVersion(void); -const CHAR* ParseVentoyVersionFromString(CHAR *Buf); -CHAR GetFirstUnusedDriveLetter(void); -const CHAR * GetBusTypeString(STORAGE_BUS_TYPE Type); -int VentoyGetLocalBootImg(MBR_HEAD *pMBR); -int GetHumanReadableGBSize(UINT64 SizeBytes); -void TrimString(CHAR *String); -int VentoyFillMBR(UINT64 DiskSizeBytes, MBR_HEAD *pMBR, int PartStyle); -int VentoyFillGpt(UINT64 DiskSizeBytes, VTOY_GPT_INFO *pInfo); -BOOL IsVentoyLogicalDrive(CHAR DriveLetter); -int GetRegDwordValue(HKEY Key, LPCSTR SubKey, LPCSTR ValueName, DWORD *pValue); -int GetPhysicalDriveCount(void); -int GetAllPhysicalDriveInfo(PHY_DRIVE_INFO *pDriveList, DWORD *pDriveCount); -int GetPhyDriveByLogicalDrive(int DriveLetter); -int GetVentoyVerInPhyDrive(const PHY_DRIVE_INFO *pDriveInfo, UINT64 Part2StartSector, CHAR *VerBuf, size_t BufLen); -int Ventoy2DiskInit(void); -int Ventoy2DiskDestroy(void); -PHY_DRIVE_INFO * GetPhyDriveInfoById(int Id); -int ParseCmdLineOption(LPSTR lpCmdLine); -int InstallVentoy2PhyDrive(PHY_DRIVE_INFO *pPhyDrive, int PartStyle); -int UpdateVentoy2PhyDrive(PHY_DRIVE_INFO *pPhyDrive); -int VentoyFillBackupGptHead(VTOY_GPT_INFO *pInfo, VTOY_GPT_HDR *pHead); -void SetProgressBarPos(int Pos); -int ReadWholeFileToBuf(const CHAR *FileName, int ExtLen, void **Bufer, int *BufLen); -int INIT unxz(unsigned char *in, int in_size, - int(*fill)(void *dest, unsigned int size), - int(*flush)(void *src, unsigned int size), - unsigned char *out, int *in_used, - void(*error)(char *x)); -void disk_io_set_param(HANDLE Handle, UINT64 SectorCount); -INT_PTR CALLBACK PartDialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam); -int GetReservedSpaceInMB(void); -int FindProcessOccupyDisk(HANDLE hDrive, PHY_DRIVE_INFO *pPhyDrive); -int VentoyFillLocation(UINT64 DiskSizeInBytes, UINT32 StartSectorId, UINT32 SectorCount, PART_TABLE *Table); -int ClearVentoyFromPhyDrive(HWND hWnd, PHY_DRIVE_INFO *pPhyDrive, char *pDrvLetter); -UINT32 VentoyCrc32(void *Buffer, UINT32 Length); - -#define SET_FILE_POS(pos) \ - liCurrentPosition.QuadPart = pos; \ - SetFilePointerEx(hDrive, liCurrentPosition, &liCurrentPosition, FILE_BEGIN)\ - - -#endif +/****************************************************************************** + * Ventoy2Disk.h + * + * Copyright (c) 2020, longpanda + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + */ + +#ifndef __VENTOY2DISK_H__ +#define __VENTOY2DISK_H__ + +#include + +#define SIZE_1MB (1024 * 1024) +#define VENTOY_EFI_PART_SIZE (32 * SIZE_1MB) +#define VENTOY_PART1_START_SECTOR 2048 + +#define VENTOY_FILE_BOOT_IMG "boot\\boot.img" +#define VENTOY_FILE_STG1_IMG "boot\\core.img.xz" +#define VENTOY_FILE_DISK_IMG "ventoy\\ventoy.disk.img.xz" +#define VENTOY_FILE_LOG "log.txt" +#define VENTOY_FILE_VERSION "ventoy\\version" + +#define DRIVE_ACCESS_TIMEOUT 15000 // How long we should retry drive access (in ms) +#define DRIVE_ACCESS_RETRIES 150 // How many times we should retry + +#define IsFileExist(Fmt, ...) IsPathExist(FALSE, Fmt, __VA_ARGS__) +#define IsDirExist(Fmt, ...) IsPathExist(TRUE, Fmt, __VA_ARGS__) + +#define safe_sprintf(dst, fmt, ...) sprintf_s(dst, sizeof(dst), fmt, __VA_ARGS__) +#define safe_strcpy(dst, src) strcpy_s(dst, sizeof(dst), src) + +#define CHECK_CLOSE_HANDLE(Handle) \ +{\ + if (Handle != INVALID_HANDLE_VALUE) \ + {\ + CloseHandle(Handle); \ + Handle = INVALID_HANDLE_VALUE; \ + }\ +} + +#define LASTERR GetLastError() + +#pragma pack(1) +typedef struct PART_TABLE +{ + UINT8 Active; // 0x00 0x80 + + UINT8 StartHead; + UINT16 StartSector : 6; + UINT16 StartCylinder : 10; + + UINT8 FsFlag; + + UINT8 EndHead; + UINT16 EndSector : 6; + UINT16 EndCylinder : 10; + + UINT32 StartSectorId; + UINT32 SectorCount; +}PART_TABLE; + +typedef struct MBR_HEAD +{ + UINT8 BootCode[446]; + PART_TABLE PartTbl[4]; + UINT8 Byte55; + UINT8 ByteAA; +}MBR_HEAD; + +typedef struct VTOY_GPT_HDR +{ + CHAR Signature[8]; /* EFI PART */ + UINT8 Version[4]; + UINT32 Length; + UINT32 Crc; + UINT8 Reserved1[4]; + UINT64 EfiStartLBA; + UINT64 EfiBackupLBA; + UINT64 PartAreaStartLBA; + UINT64 PartAreaEndLBA; + GUID DiskGuid; + UINT64 PartTblStartLBA; + UINT32 PartTblTotNum; + UINT32 PartTblEntryLen; + UINT32 PartTblCrc; + UINT8 Reserved2[420]; +}VTOY_GPT_HDR; + +typedef struct VTOY_GPT_PART_TBL +{ + GUID PartType; + GUID PartGuid; + UINT64 StartLBA; + UINT64 LastLBA; + UINT64 Attr; + UINT16 Name[36]; +}VTOY_GPT_PART_TBL; + +typedef struct VTOY_GPT_INFO +{ + MBR_HEAD MBR; + VTOY_GPT_HDR Head; + VTOY_GPT_PART_TBL PartTbl[128]; +}VTOY_GPT_INFO; + +#pragma pack() + +#define VENTOY_MAX_PHY_DRIVE 128 + +typedef struct PHY_DRIVE_INFO +{ + int Id; + int PhyDrive; + int PartStyle;//0:MBR 1:GPT + UINT64 SizeInBytes; + BYTE DeviceType; + BOOL RemovableMedia; + CHAR VendorId[128]; + CHAR ProductId[128]; + CHAR ProductRev[128]; + CHAR SerialNumber[128]; + STORAGE_BUS_TYPE BusType; + + CHAR DriveLetters[64]; + + CHAR VentoyVersion[32]; + +}PHY_DRIVE_INFO; + +typedef enum PROGRESS_POINT +{ + PT_START = 0, + PT_LOCK_FOR_CLEAN, + PT_DEL_ALL_PART, + PT_LOCK_FOR_WRITE, + PT_FORMAT_PART1, + PT_LOCK_VOLUME = PT_FORMAT_PART1, + PT_FORMAT_PART2, + + PT_WRITE_VENTOY_START, + PT_WRITE_VENTOY_FINISH = PT_WRITE_VENTOY_START + 32, + + PT_WRITE_STG1_IMG, + PT_WRITE_PART_TABLE, + PT_MOUNT_VOLUME, + + PT_FINISH +}PROGRESS_POINT; + +#define PROGRESS_BAR_SET_POS(pos) SetProgressBarPos(pos) + +extern PHY_DRIVE_INFO *g_PhyDriveList; +extern DWORD g_PhyDriveCount; +extern int g_ForceOperation; +extern HWND g_ProgressBarHwnd; +extern HFONT g_language_normal_font; +extern HFONT g_language_bold_font; + +void Log(const char *Fmt, ...); +BOOL IsPathExist(BOOL Dir, const char *Fmt, ...); +void DumpWindowsVersion(void); +const CHAR* GetLocalVentoyVersion(void); +const CHAR* ParseVentoyVersionFromString(CHAR *Buf); +CHAR GetFirstUnusedDriveLetter(void); +const CHAR * GetBusTypeString(STORAGE_BUS_TYPE Type); +int VentoyGetLocalBootImg(MBR_HEAD *pMBR); +int GetHumanReadableGBSize(UINT64 SizeBytes); +void TrimString(CHAR *String); +int VentoyFillMBR(UINT64 DiskSizeBytes, MBR_HEAD *pMBR, int PartStyle); +int VentoyFillGpt(UINT64 DiskSizeBytes, VTOY_GPT_INFO *pInfo); +BOOL IsVentoyLogicalDrive(CHAR DriveLetter); +int GetRegDwordValue(HKEY Key, LPCSTR SubKey, LPCSTR ValueName, DWORD *pValue); +int GetPhysicalDriveCount(void); +int GetAllPhysicalDriveInfo(PHY_DRIVE_INFO *pDriveList, DWORD *pDriveCount); +int GetPhyDriveByLogicalDrive(int DriveLetter); +int GetVentoyVerInPhyDrive(const PHY_DRIVE_INFO *pDriveInfo, UINT64 Part2StartSector, CHAR *VerBuf, size_t BufLen); +int Ventoy2DiskInit(void); +int Ventoy2DiskDestroy(void); +PHY_DRIVE_INFO * GetPhyDriveInfoById(int Id); +int ParseCmdLineOption(LPSTR lpCmdLine); +int InstallVentoy2PhyDrive(PHY_DRIVE_INFO *pPhyDrive, int PartStyle); +int UpdateVentoy2PhyDrive(PHY_DRIVE_INFO *pPhyDrive); +int VentoyFillBackupGptHead(VTOY_GPT_INFO *pInfo, VTOY_GPT_HDR *pHead); +void SetProgressBarPos(int Pos); +int ReadWholeFileToBuf(const CHAR *FileName, int ExtLen, void **Bufer, int *BufLen); +int INIT unxz(unsigned char *in, int in_size, + int(*fill)(void *dest, unsigned int size), + int(*flush)(void *src, unsigned int size), + unsigned char *out, int *in_used, + void(*error)(char *x)); +void disk_io_set_param(HANDLE Handle, UINT64 SectorCount); +INT_PTR CALLBACK PartDialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam); +int GetReservedSpaceInMB(void); +int FindProcessOccupyDisk(HANDLE hDrive, PHY_DRIVE_INFO *pPhyDrive); +int VentoyFillLocation(UINT64 DiskSizeInBytes, UINT32 StartSectorId, UINT32 SectorCount, PART_TABLE *Table); +int ClearVentoyFromPhyDrive(HWND hWnd, PHY_DRIVE_INFO *pPhyDrive, char *pDrvLetter); +UINT32 VentoyCrc32(void *Buffer, UINT32 Length); + +#define SET_FILE_POS(pos) \ + liCurrentPosition.QuadPart = pos; \ + SetFilePointerEx(hDrive, liCurrentPosition, &liCurrentPosition, FILE_BEGIN)\ + + +#endif diff --git a/Ventoy2Disk/Ventoy2Disk/WinDialog.c b/Ventoy2Disk/Ventoy2Disk/WinDialog.c index 75937055..49179344 100644 Binary files a/Ventoy2Disk/Ventoy2Disk/WinDialog.c and b/Ventoy2Disk/Ventoy2Disk/WinDialog.c differ diff --git a/vtoyjump/vtoyjump/vtoyjump.c b/vtoyjump/vtoyjump/vtoyjump.c index 0ee4ae46..66efff6a 100644 --- a/vtoyjump/vtoyjump/vtoyjump.c +++ b/vtoyjump/vtoyjump/vtoyjump.c @@ -704,6 +704,73 @@ static int DeleteVentoyPart2MountPoint(DWORD PhyDrive) return 1; } +static int DecompressInjectionArchive(const char *archive, DWORD PhyDrive) +{ + int rc = 1; + BOOL bRet; + DWORD dwBytes; + HANDLE hDrive; + CHAR PhyPath[MAX_PATH]; + STARTUPINFOA Si; + PROCESS_INFORMATION Pi; + GET_LENGTH_INFORMATION LengthInfo; + + Log("DecompressInjectionArchive %s", archive); + + sprintf_s(PhyPath, sizeof(PhyPath), "\\\\.\\PhysicalDrive%d", PhyDrive); + hDrive = CreateFileA(PhyPath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0); + if (hDrive == INVALID_HANDLE_VALUE) + { + Log("Could not open the disk<%s>, error:%u", PhyPath, GetLastError()); + goto End; + } + + bRet = DeviceIoControl(hDrive, IOCTL_DISK_GET_LENGTH_INFO, NULL, 0, &LengthInfo, sizeof(LengthInfo), &dwBytes, NULL); + if (!bRet) + { + Log("Could not get phy disk %s size, error:%u", PhyPath, GetLastError()); + goto End; + } + + g_FatPhyDrive = hDrive; + g_Part2StartSec = (LengthInfo.Length.QuadPart - VENTOY_EFI_PART_SIZE) / 512; + + Log("Parse FAT fs..."); + + fl_init(); + + if (0 == fl_attach_media(VentoyFatDiskRead, NULL)) + { + if (g_64bit_system) + { + CopyFileFromFatDisk("/ventoy/7z/64/7za.exe", "ventoy\\7za.exe"); + } + else + { + CopyFileFromFatDisk("/ventoy/7z/32/7za.exe", "ventoy\\7za.exe"); + } + + sprintf_s(PhyPath, sizeof(PhyPath), "ventoy\\7za.exe x -y -aoa -oX:\\ %s", archive); + + Log("extract inject to X:"); + + GetStartupInfoA(&Si); + + Si.dwFlags |= STARTF_USESHOWWINDOW; + Si.wShowWindow = SW_HIDE; + + CreateProcessA(NULL, PhyPath, NULL, NULL, FALSE, 0, NULL, NULL, &Si, &Pi); + WaitForSingleObject(Pi.hProcess, INFINITE); + } + fl_shutdown(); + +End: + + SAFE_CLOSE_HANDLE(hDrive); + + return rc; +} + static int ProcessUnattendedInstallation(const char *script) { DWORD dw; @@ -809,6 +876,24 @@ static int VentoyHook(ventoy_os_param *param) Log("auto install no need"); } + if (g_windows_data.injection_archive[0]) + { + sprintf_s(IsoPath, sizeof(IsoPath), "%C:%s", Letter, g_windows_data.injection_archive); + if (IsPathExist(FALSE, "%s", IsoPath)) + { + Log("decompress injection archive %s...", IsoPath); + DecompressInjectionArchive(IsoPath, DiskExtent.DiskNumber); + } + else + { + Log("injection archive %s not exist", IsoPath); + } + } + else + { + Log("no injection archive found"); + } + return 0; } diff --git a/vtoyjump/vtoyjump/vtoyjump.h b/vtoyjump/vtoyjump/vtoyjump.h index 35fa7276..b3bd22fb 100644 --- a/vtoyjump/vtoyjump/vtoyjump.h +++ b/vtoyjump/vtoyjump/vtoyjump.h @@ -68,6 +68,7 @@ typedef struct ventoy_os_param typedef struct ventoy_windows_data { char auto_install_script[384]; + char injection_archive[384]; UINT8 reserved[128]; }ventoy_windows_data;