1.0.62 release

pull/1294/head v1.0.62
longpanda 2 years ago
parent 0c140cf378
commit 73fabd0c65

@ -29,13 +29,21 @@ for i in 0 1 2 3 4 5 6 7 8 9; do
fi fi
done done
ventoy_extract_vtloopex ${vtdiskname}2 crux # no need since 3.6.1
$BUSYBOX_PATH/modprobe dax > /dev/null 2>&1
$BUSYBOX_PATH/modprobe dm-mod > /dev/null 2>&1
if $GREP -q 'device-mapper' /proc/devices; then
vtlog "dm-mod module check success ..."
else
vtlog "Need to load dm-mod module ..."
ventoy_extract_vtloopex ${vtdiskname}2 crux
vtKver=$(uname -r) vtKver=$(uname -r)
vtLoopExDir=$VTOY_PATH/vtloopex/crux/vtloopex vtLoopExDir=$VTOY_PATH/vtloopex/crux/vtloopex
ventoy_check_install_module_xz $vtLoopExDir/dm-mod/$vtKver/64/dax.ko ventoy_check_install_module_xz $vtLoopExDir/dm-mod/$vtKver/64/dax.ko
ventoy_check_install_module_xz $vtLoopExDir/dm-mod/$vtKver/64/dm-mod.ko ventoy_check_install_module_xz $vtLoopExDir/dm-mod/$vtKver/64/dm-mod.ko
fi
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2"

@ -2018,7 +2018,7 @@ function img_unsupport_menuentry {
############################################################# #############################################################
############################################################# #############################################################
set VENTOY_VERSION="1.0.61" set VENTOY_VERSION="1.0.62"
#ACPI not compatible with Window7/8, so disable by default #ACPI not compatible with Window7/8, so disable by default
set VTOY_PARAM_NO_ACPI=1 set VTOY_PARAM_NO_ACPI=1

Binary file not shown.

@ -39,7 +39,9 @@ VMware ESXi, Citrix XenServer, Xen XCP-ng
# Tested Image Report # Tested Image Report
[【How to report a successfully tested image file】](https://github.com/ventoy/Ventoy/issues/1195) [【How to report a successfully tested image file】](https://github.com/ventoy/Ventoy/issues/1195)
# VentoyPlugson
A GUI Ventoy plugin configurator. [VentoyPlugson](https://www.ventoy.net/en/plugin_plugson.html)
# Features # Features
* 100% open source * 100% open source
* Simple to use * Simple to use
@ -61,7 +63,7 @@ VMware ESXi, Citrix XenServer, Xen XCP-ng
* Not only boot but also complete installation process * Not only boot but also complete installation process
* Menu dynamically switchable between List/TreeView mode * Menu dynamically switchable between List/TreeView mode
* "Ventoy Compatible" concept * "Ventoy Compatible" concept
* Plugin Framework * Plugin Framework and GUI plugin configurator
* Injection files to runtime environment * Injection files to runtime environment
* Boot configuration file dynamically replacement * Boot configuration file dynamically replacement
* Highly customizable theme and menu * Highly customizable theme and menu

@ -84,7 +84,7 @@ static int setctty(const char *name)
return fd; return fd;
} }
static void ventoy_init(char **argv_orig) static void ventoy_init(void)
{ {
pid_t pid, wpid; pid_t pid, wpid;
int status, error; int status, error;
@ -155,56 +155,55 @@ static void ventoy_init(char **argv_orig)
/* step 7: swich_root */ /* step 7: swich_root */
vdebug("[VTOY] step 7: switch root ...\n"); vdebug("[VTOY] step 7: switch root ...\n");
error = chdir("/new_root"); }
int main(int argc __unused, char **argv)
{
pid_t pid, wpid;
int status, error;
size_t varsize = sizeof(int);
/* Dispose of random users. */
if (getuid() != 0)
errx(1, "%s", strerror(EPERM));
/* Init is not allowed to die, it would make the kernel panic */
signal(SIGTERM, SIG_IGN);
if ((pid = fork()) == 0) {
setctty(_PATH_CONSOLE);
sysctlbyname("debug.bootverbose", &boot_verbose, &varsize, NULL, 0);
vdebug("======= Ventoy Init Start ========\n");
ventoy_init();
exit(1); /* force single user mode */
}
do {
wpid = waitpid(-1, &status, WUNTRACED);
} while (wpid != pid);
error = chdir("/new_root");
if (error) if (error)
{
printf("[VTOY] chdir /new_root failed %d\n", error);
goto chroot_failed; goto chroot_failed;
}
error = chroot_kernel("/new_root"); error = chroot_kernel("/new_root");
if (error) if (error)
{
printf("[VTOY] chroot_kernel /new_root failed %d\n", error);
goto chroot_failed; goto chroot_failed;
}
error = chroot("/new_root"); error = chroot("/new_root");
if (error) if (error)
{
printf("[VTOY] chroot /new_root failed %d\n", error);
goto chroot_failed; goto chroot_failed;
}
vdebug("[VTOY] step 8: now run /sbin/init ...\n"); execv("/sbin/init", __DECONST(char **, argv));
execv("/sbin/init", __DECONST(char **, argv_orig));
/* We failed to exec /sbin/init in the chroot, sleep forever */ /* We failed to exec /sbin/init in the chroot, sleep forever */
chroot_failed: chroot_failed:
printf("[VTOY] ################### DEAD ################\n");
while(1) { while(1) {
sleep(3); sleep(3);
}; };
}
int main(int argc __unused, char **argv)
{
size_t varsize = sizeof(int);
/* Dispose of random users. */
if (getuid() != 0)
errx(1, "%s", strerror(EPERM));
/* Init is not allowed to die, it would make the kernel panic */
signal(SIGTERM, SIG_IGN);
setctty(_PATH_CONSOLE);
sysctlbyname("debug.bootverbose", &boot_verbose, &varsize, NULL, 0);
vdebug("======= Ventoy Init Start ========\n");
ventoy_init(argv);
return 1; return 1;
} }

@ -3,6 +3,8 @@
#define __UTIL_H__ #define __UTIL_H__
extern int boot_verbose; extern int boot_verbose;
//#define vdebug(fmt, ...)
//#define verror
#define vdebug(fmt, ...) if (boot_verbose) { printf(fmt, ##__VA_ARGS__); usleep(500000); } #define vdebug(fmt, ...) if (boot_verbose) { printf(fmt, ##__VA_ARGS__); usleep(500000); }
#define verror printf #define verror printf

Loading…
Cancel
Save