mirror of
https://github.com/ventoy/Ventoy.git
synced 2024-12-25 06:35:59 -05:00
1.0.62 release
This commit is contained in:
parent
0c140cf378
commit
73fabd0c65
@ -29,13 +29,21 @@ for i in 0 1 2 3 4 5 6 7 8 9; do
|
||||
fi
|
||||
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)
|
||||
vtLoopExDir=$VTOY_PATH/vtloopex/crux/vtloopex
|
||||
vtKver=$(uname -r)
|
||||
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/dm-mod.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
|
||||
fi
|
||||
|
||||
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
|
||||
set VTOY_PARAM_NO_ACPI=1
|
||||
|
Binary file not shown.
@ -39,7 +39,9 @@ VMware ESXi, Citrix XenServer, Xen XCP-ng
|
||||
# Tested Image Report
|
||||
[【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
|
||||
* 100% open source
|
||||
* Simple to use
|
||||
@ -61,7 +63,7 @@ VMware ESXi, Citrix XenServer, Xen XCP-ng
|
||||
* Not only boot but also complete installation process
|
||||
* Menu dynamically switchable between List/TreeView mode
|
||||
* "Ventoy Compatible" concept
|
||||
* Plugin Framework
|
||||
* Plugin Framework and GUI plugin configurator
|
||||
* Injection files to runtime environment
|
||||
* Boot configuration file dynamically replacement
|
||||
* Highly customizable theme and menu
|
||||
|
Binary file not shown.
@ -84,7 +84,7 @@ static int setctty(const char *name)
|
||||
return fd;
|
||||
}
|
||||
|
||||
static void ventoy_init(char **argv_orig)
|
||||
static void ventoy_init(void)
|
||||
{
|
||||
pid_t pid, wpid;
|
||||
int status, error;
|
||||
@ -155,40 +155,12 @@ static void ventoy_init(char **argv_orig)
|
||||
|
||||
/* step 7: swich_root */
|
||||
vdebug("[VTOY] step 7: switch root ...\n");
|
||||
error = chdir("/new_root");
|
||||
if (error)
|
||||
{
|
||||
printf("[VTOY] chdir /new_root failed %d\n", error);
|
||||
goto chroot_failed;
|
||||
}
|
||||
|
||||
error = chroot_kernel("/new_root");
|
||||
if (error)
|
||||
{
|
||||
printf("[VTOY] chroot_kernel /new_root failed %d\n", error);
|
||||
goto chroot_failed;
|
||||
}
|
||||
|
||||
error = chroot("/new_root");
|
||||
if (error)
|
||||
{
|
||||
printf("[VTOY] chroot /new_root failed %d\n", error);
|
||||
goto chroot_failed;
|
||||
}
|
||||
|
||||
vdebug("[VTOY] step 8: now run /sbin/init ...\n");
|
||||
execv("/sbin/init", __DECONST(char **, argv_orig));
|
||||
|
||||
/* We failed to exec /sbin/init in the chroot, sleep forever */
|
||||
chroot_failed:
|
||||
printf("[VTOY] ################### DEAD ################\n");
|
||||
while(1) {
|
||||
sleep(3);
|
||||
};
|
||||
}
|
||||
|
||||
int main(int argc __unused, char **argv)
|
||||
{
|
||||
pid_t pid, wpid;
|
||||
int status, error;
|
||||
size_t varsize = sizeof(int);
|
||||
|
||||
/* Dispose of random users. */
|
||||
@ -198,13 +170,40 @@ int main(int argc __unused, char **argv)
|
||||
/* Init is not allowed to die, it would make the kernel panic */
|
||||
signal(SIGTERM, SIG_IGN);
|
||||
|
||||
setctty(_PATH_CONSOLE);
|
||||
if ((pid = fork()) == 0) {
|
||||
|
||||
sysctlbyname("debug.bootverbose", &boot_verbose, &varsize, NULL, 0);
|
||||
setctty(_PATH_CONSOLE);
|
||||
sysctlbyname("debug.bootverbose", &boot_verbose, &varsize, NULL, 0);
|
||||
|
||||
vdebug("======= Ventoy Init Start ========\n");
|
||||
vdebug("======= Ventoy Init Start ========\n");
|
||||
|
||||
ventoy_init(argv);
|
||||
ventoy_init();
|
||||
exit(1); /* force single user mode */
|
||||
}
|
||||
|
||||
do {
|
||||
wpid = waitpid(-1, &status, WUNTRACED);
|
||||
} while (wpid != pid);
|
||||
|
||||
error = chdir("/new_root");
|
||||
if (error)
|
||||
goto chroot_failed;
|
||||
|
||||
error = chroot_kernel("/new_root");
|
||||
if (error)
|
||||
goto chroot_failed;
|
||||
|
||||
error = chroot("/new_root");
|
||||
if (error)
|
||||
goto chroot_failed;
|
||||
|
||||
execv("/sbin/init", __DECONST(char **, argv));
|
||||
|
||||
/* We failed to exec /sbin/init in the chroot, sleep forever */
|
||||
chroot_failed:
|
||||
while(1) {
|
||||
sleep(3);
|
||||
};
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -3,6 +3,8 @@
|
||||
#define __UTIL_H__
|
||||
|
||||
extern int boot_verbose;
|
||||
//#define vdebug(fmt, ...)
|
||||
//#define verror
|
||||
#define vdebug(fmt, ...) if (boot_verbose) { printf(fmt, ##__VA_ARGS__); usleep(500000); }
|
||||
#define verror printf
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user