mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-08-28 08:21:14 +00:00
update for new release
This commit is contained in:
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
|
||||
========== Ventoy2Disk.sh ===============
|
||||
|
||||
sudo sh Ventoy2Disk.sh { -i | -I | -u } /dev/XXX XXX is the USB device, for example /dev/sdb.
|
||||
sudo sh Ventoy2Disk.sh { -i | -I | -u } /dev/sdX sdX is the USB device, for example /dev/sdb.
|
||||
|
||||
Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX
|
||||
CMD:
|
||||
@@ -13,16 +13,25 @@ Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX
|
||||
-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)
|
||||
|
||||
|
||||
Please refer https://www.ventoy.net/en/doc_start.html for details.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
========== CreatePersistentImg.sh ===============
|
||||
|
||||
sudo sh CreatePersistentImg.sh
|
||||
sudo sh CreatePersistentImg.sh [ -s SIZE_IN_MB ] [ -t FSTYPE ] [ -l LABEL ] for example:
|
||||
|
||||
sh CreatePersistentImg.sh ----> persistence.dat in 1GB size and ext4 filesystem and casper-rw label
|
||||
sh CreatePersistentImg.sh -l MX-Persist ----> persistence.dat in 1GB size and ext4 filesystem and MX-Persist label
|
||||
sh CreatePersistentImg.sh -s 2048 ----> persistence.dat in 2GB size and ext4 filesystem and casper-rw label
|
||||
sh CreatePersistentImg.sh -s 4096 -t xfs ----> persistence.dat in 4GB size and xfs filesystem (ext2/3/4 xfs are supported) and casper-rw label
|
||||
|
||||
Please refer https://www.ventoy.net/en/plugin_persistence.html for details.
|
||||
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
@@ -173,14 +173,28 @@ function distro_specify_initrd_file {
|
||||
vt_linux_specify_initrd_file /pmagic/initrd.img
|
||||
elif [ -e (loop)/boot/initrd.xz ]; then
|
||||
vt_linux_specify_initrd_file /boot/initrd.xz
|
||||
elif [ -e (loop)/boot/initrd.gz ]; then
|
||||
vt_linux_specify_initrd_file /boot/initrd.gz
|
||||
elif [ -f (loop)/boot/initrd ]; then
|
||||
vt_linux_specify_initrd_file /boot/initrd
|
||||
elif [ -f (loop)/boot/x86_64/loader/initrd ]; then
|
||||
vt_linux_specify_initrd_file /boot/x86_64/loader/initrd
|
||||
elif [ -f (loop)/boot/initramfs-x86_64.img ]; then
|
||||
vt_linux_specify_initrd_file /boot/initramfs-x86_64.img
|
||||
|
||||
elif [ -f (loop)/boot/isolinux/initramfs_data64.cpio.gz ]; then
|
||||
vt_linux_specify_initrd_file /boot/isolinux/initramfs_data64.cpio.gz
|
||||
|
||||
|
||||
fi
|
||||
|
||||
if [ -f (loop)/isolinux/initrd.gz ]; then
|
||||
vt_linux_specify_initrd_file /isolinux/initrd.gz
|
||||
fi
|
||||
|
||||
if [ "$vt_chosen_size" = "1133375488" ]; then
|
||||
if [ -d (loop)/boot/grub/x86_64-efi ]; then
|
||||
vt_cpio_busybox64
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -224,8 +238,19 @@ function distro_specify_initrd_file_phase2 {
|
||||
vt_linux_specify_initrd_file /initrd
|
||||
elif [ -f (loop)/live/initrd1 ]; then
|
||||
vt_linux_specify_initrd_file /live/initrd1
|
||||
elif [ -f (loop)/isolinux/initrd.img ]; then
|
||||
vt_linux_specify_initrd_file /isolinux/initrd.img
|
||||
elif [ -f (loop)/isolinux/initrd.gz ]; then
|
||||
vt_linux_specify_initrd_file /isolinux/initrd.gz
|
||||
elif [ -f (loop)/syslinux/kernel/initramfs.gz ]; then
|
||||
vt_linux_specify_initrd_file /syslinux/kernel/initramfs.gz
|
||||
elif vt_strstr $vt_volume_id "Daphile"; then
|
||||
vt_linux_parse_initrd_isolinux (loop)/isolinux/
|
||||
elif [ -f (loop)/boot/rootfs.xz ]; then
|
||||
vt_linux_specify_initrd_file /boot/rootfs.xz
|
||||
if [ "$grub_platform" != "pc" ]; then
|
||||
vt_add_replace_file 0 "minimal\\x86_64\\rootfs.xz"
|
||||
fi
|
||||
|
||||
fi
|
||||
}
|
||||
@@ -263,7 +288,13 @@ function ventoy_get_freenas_ver {
|
||||
fi
|
||||
}
|
||||
|
||||
function ventoy_get_midnightbsd_ver {
|
||||
set vt_freebsd_ver=11.x
|
||||
}
|
||||
|
||||
function ventoy_freebsd_proc {
|
||||
set vtFreeBsdDistro=FreeBSD
|
||||
|
||||
if vt_strstr "$vt_volume_id" "GHOSTBSD"; then
|
||||
ventoy_get_ghostbsd_ver $1 ${chosen_path}
|
||||
elif vt_strstr "$vt_volume_id" "FREENAS"; then
|
||||
@@ -280,6 +311,9 @@ function ventoy_freebsd_proc {
|
||||
set vt_freebsd_ver=10.x
|
||||
elif regexp "^9_[0-9]" "$vt_volume_id"; then
|
||||
set vt_freebsd_ver=9.x
|
||||
elif [ -d (loop)/usr/midnightbsd-dist ]; then
|
||||
ventoy_get_midnightbsd_ver $1 ${chosen_path}
|
||||
set vtFreeBsdDistro=MidnightBSD
|
||||
elif [ -e (loop)/bin/freebsd-version ]; then
|
||||
vt_unix_parse_freebsd_ver (loop)/bin/freebsd-version vt_userland_ver
|
||||
if regexp "\"13\.[0-9]-" "$vt_userland_ver"; then
|
||||
@@ -334,7 +368,11 @@ function ventoy_freebsd_proc {
|
||||
fi
|
||||
done
|
||||
|
||||
vt_unix_replace_ko $vt_unix_mod_path (vtunix)/ventoy_unix/FreeBSD/geom_ventoy_ko/$vt_freebsd_ver/$vt_freebsd_bit/geom_ventoy.ko.xz
|
||||
if [ -e (loop)/usr/freebsd-dist/cloninst.sh ]; then
|
||||
set vtFreeBsdDistro=ClonOS
|
||||
fi
|
||||
|
||||
vt_unix_replace_ko $vt_unix_mod_path (vtunix)/ventoy_unix/$vtFreeBsdDistro/geom_ventoy_ko/$vt_freebsd_ver/$vt_freebsd_bit/geom_ventoy.ko.xz
|
||||
vt_unix_replace_conf FreeBSD ${1}${chosen_path}
|
||||
}
|
||||
|
||||
@@ -458,6 +496,8 @@ function uefi_linux_menu_func {
|
||||
vt_add_replace_file $vtindex "EFI\\BOOT\\initrd.gz"
|
||||
elif [ -f (loop)/loader/entries/thinstation.conf ]; then
|
||||
vt_add_replace_file $vtindex "boot\\initrd"
|
||||
elif [ -f (loop)/loader/entries/pisi-efi-x86_64.conf ]; then
|
||||
vt_add_replace_file $vtindex "EFI\\pisi\\initrd.img"
|
||||
fi
|
||||
elif [ -d (loop)/EFI/boot/entries ]; then
|
||||
if [ -f (loop)/parabola/boot/x86_64/parabolaiso.img ]; then
|
||||
@@ -468,6 +508,8 @@ function uefi_linux_menu_func {
|
||||
elif [ -e (loop)/syslinux/alt0/full.cz ]; then
|
||||
vt_add_replace_file 0 "EFI\\BOOT\\full.cz"
|
||||
set FirstTryBootFile='@EFI@BOOT@grubx64.efi'
|
||||
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
@@ -649,6 +691,10 @@ function legacy_linux_menu_func {
|
||||
|
||||
vt_linux_initrd_count vtcount
|
||||
if [ $vtcount -eq 0 ]; then
|
||||
if [ -d (loop)/rancheros ]; then
|
||||
vt_linux_parse_initrd_isolinux (loop)/boot/ /boot/isolinux/
|
||||
fi
|
||||
|
||||
distro_specify_initrd_file_phase2
|
||||
fi
|
||||
|
||||
@@ -770,6 +816,11 @@ function ventoy_iso_busybox_ver {
|
||||
if vt_str_begin $vt_chosen_path "/deepin-live"; then
|
||||
set ventoy_busybox_ver=64
|
||||
fi
|
||||
elif vt_str_begin $vt_volume_id "PHOTON_"; then
|
||||
set ventoy_busybox_ver=64
|
||||
elif vt_str_begin $vt_volume_id "smgl-test-quinq-x86_64"; then
|
||||
set ventoy_busybox_ver=64
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -785,6 +836,8 @@ function iso_common_menuentry {
|
||||
#special process for Endless OS
|
||||
if vt_str_begin $vt_volume_id "Endless-OS"; then
|
||||
iso_endless_os_proc $vtoy_iso_part $vt_chosen_path
|
||||
elif vt_str_begin $vt_volume_id "TENS-Public"; then
|
||||
set vtcompat=1
|
||||
fi
|
||||
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
@@ -845,9 +898,18 @@ function efi_common_menuentry {
|
||||
|
||||
ventoy_debug_pause
|
||||
|
||||
ventoy_cli_console
|
||||
chainloader ${vtoy_path}/ventoy_x64.efi memdisk env_param=${env_param} isoefi=on ${vtdebug_flag} mem:${vtoy_iso_buf_addr}:size:${vtoy_iso_buf_size}
|
||||
ventoy_cli_console
|
||||
|
||||
unset vtoy_dotefi_retry
|
||||
chainloader ${vtoy_path}/ventoy_x64.efi memdisk env_param=${env_param} dotefi isoefi=on ${vtdebug_flag} mem:${vtoy_iso_buf_addr}:size:${vtoy_iso_buf_size}
|
||||
boot
|
||||
|
||||
if [ -n "$vtoy_dotefi_retry" ]; then
|
||||
unset vtoy_dotefi_retry
|
||||
chainloader ${vtoy_iso_part}${vt_chosen_path}
|
||||
boot
|
||||
fi
|
||||
|
||||
ventoy_gui_console
|
||||
}
|
||||
|
||||
@@ -904,10 +966,147 @@ function ventoy_img_volumio {
|
||||
vt_unset_boot_opt
|
||||
}
|
||||
|
||||
function ventoy_img_openelec {
|
||||
elec_ver=$1
|
||||
|
||||
vt_load_cpio $vtoy_path/ventoy.cpio ${vt_chosen_path} ${vtoy_iso_part} "busybox=$ventoy_busybox_ver"
|
||||
vt_trailer_cpio ${vtoy_iso_part} ${vt_chosen_path} noinit
|
||||
|
||||
loopback vtloopex $vtoy_efi_part/ventoy/vtloopex.cpio
|
||||
vt_img_extra_initrd_append (vtloopex)/$elec_ver/vtloopex.tar.xz
|
||||
|
||||
ventoy_debug_pause
|
||||
|
||||
#boot image file
|
||||
vt_set_boot_opt rdinit=/vtoy/vtoy ventoyos=$elec_ver
|
||||
vt_img_hook_root
|
||||
|
||||
set root=(vtimghd,1)
|
||||
syslinux_configfile (vtimghd,1)/syslinux.cfg
|
||||
|
||||
vt_img_unhook_root
|
||||
vt_unset_boot_opt
|
||||
loopback -d vtloopex
|
||||
}
|
||||
|
||||
|
||||
function ventoy_img_freedombox {
|
||||
vt_load_cpio $vtoy_path/ventoy.cpio ${vt_chosen_path} ${vtoy_iso_part} "busybox=$ventoy_busybox_ver"
|
||||
vt_trailer_cpio ${vtoy_iso_part} ${vt_chosen_path} noinit
|
||||
|
||||
vt_get_lib_module_ver (vtimghd,1) /lib/modules/ vt_module_ver
|
||||
if [ -n "$vt_module_ver" ]; then
|
||||
vt_img_extra_initrd_append (vtimghd,1)/lib/modules/$vt_module_ver/kernel/drivers/md/dm-mod.ko
|
||||
fi
|
||||
|
||||
ventoy_debug_pause
|
||||
|
||||
#boot image file
|
||||
vt_set_boot_opt rdinit=/vtoy/vtoy ventoyos=freedombox
|
||||
vt_img_hook_root
|
||||
|
||||
configfile (vtimghd,1)/boot/grub/grub.cfg
|
||||
|
||||
vt_img_unhook_root
|
||||
vt_unset_boot_opt
|
||||
}
|
||||
|
||||
function ventoy_img_paldo {
|
||||
vt_load_cpio $vtoy_path/ventoy.cpio ${vt_chosen_path} ${vtoy_iso_part} "busybox=$ventoy_busybox_ver"
|
||||
vt_trailer_cpio ${vtoy_iso_part} ${vt_chosen_path} noinit
|
||||
|
||||
ventoy_debug_pause
|
||||
|
||||
#boot image file
|
||||
vt_set_boot_opt rdinit=/vtoy/vtoy ventoyos=paldo
|
||||
vt_img_hook_root
|
||||
|
||||
vt_fs_enum_1st_file (vtimghd,1) /loader/entries/ vt_paldo_entry_conf
|
||||
vt_file_basename $vt_paldo_entry_conf vtPaldoVer
|
||||
|
||||
echo loading file...
|
||||
linux (vtimghd,1)/linux-${vtPaldoVer} root=/dev/ventoy1 rootfstype=vfat
|
||||
initrd (vtimghd,1)/initramfs-${vtPaldoVer}
|
||||
boot
|
||||
|
||||
vt_img_unhook_root
|
||||
vt_unset_boot_opt
|
||||
}
|
||||
|
||||
function ventoy_img_ubos {
|
||||
vt_load_cpio $vtoy_path/ventoy.cpio ${vt_chosen_path} ${vtoy_iso_part} "busybox=$ventoy_busybox_ver"
|
||||
vt_trailer_cpio ${vtoy_iso_part} ${vt_chosen_path} noinit
|
||||
|
||||
vt_get_lib_module_ver (vtimghd,3) /lib/modules/ vt_module_ver
|
||||
if [ -n "$vt_module_ver" ]; then
|
||||
vt_img_extra_initrd_append (vtimghd,3)/lib/modules/$vt_module_ver/kernel/drivers/md/dm-mod.ko.xz
|
||||
fi
|
||||
|
||||
ventoy_debug_pause
|
||||
|
||||
#boot image file
|
||||
vt_set_boot_opt rdinit=/vtoy/vtoy ventoyos=ubos
|
||||
vt_img_hook_root
|
||||
|
||||
echo loading file...
|
||||
linux (vtimghd,2)/vmlinuz-linux root=/dev/ventoy3 rw
|
||||
initrd (vtimghd,2)/initramfs-linux.img
|
||||
boot
|
||||
|
||||
vt_img_unhook_root
|
||||
vt_unset_boot_opt
|
||||
}
|
||||
|
||||
function ventoy_img_recalbox {
|
||||
vt_load_cpio $vtoy_path/ventoy.cpio ${vt_chosen_path} ${vtoy_iso_part} "busybox=$ventoy_busybox_ver"
|
||||
vt_trailer_cpio ${vtoy_iso_part} ${vt_chosen_path} noinit
|
||||
|
||||
ventoy_debug_pause
|
||||
|
||||
#boot image file
|
||||
vt_set_boot_opt rdinit=/vtoy/vtoy ventoyos=recalbox
|
||||
vt_img_hook_root
|
||||
|
||||
set root=(vtimghd,1)
|
||||
configfile (vtimghd,1)/boot/grub/grub.cfg
|
||||
|
||||
vt_img_unhook_root
|
||||
vt_unset_boot_opt
|
||||
}
|
||||
|
||||
function ventoy_img_batocera {
|
||||
vt_load_cpio $vtoy_path/ventoy.cpio ${vt_chosen_path} ${vtoy_iso_part} "busybox=$ventoy_busybox_ver"
|
||||
vt_trailer_cpio ${vtoy_iso_part} ${vt_chosen_path} noinit
|
||||
|
||||
ventoy_debug_pause
|
||||
|
||||
#boot image file
|
||||
vt_set_boot_opt rdinit=/vtoy/vtoy ventoyos=batocera
|
||||
vt_img_hook_root
|
||||
|
||||
set root=(vtimghd,1)
|
||||
syslinux_configfile (vtimghd,1)/boot/syslinux/syslinux.cfg
|
||||
|
||||
vt_img_unhook_root
|
||||
vt_unset_boot_opt
|
||||
}
|
||||
|
||||
function ventoy_img_memtest86 {
|
||||
chainloader (vtimghd,1)/efi/boot/BOOTX64.efi
|
||||
boot
|
||||
}
|
||||
|
||||
function img_unsupport_tip {
|
||||
echo -e "\n This IMG file is NOT supported now. \n"
|
||||
echo -e " 当前不支持启动此 IMG 文件 \n"
|
||||
echo -e "\npress ENTER to exit (请按 回车 键返回) ..."
|
||||
read vtInputKey
|
||||
}
|
||||
|
||||
function img_common_menuentry {
|
||||
set ventoy_compatible=YES
|
||||
set ventoy_busybox_ver=32
|
||||
|
||||
|
||||
vt_chosen_img_path vt_chosen_path vt_chosen_size
|
||||
|
||||
if [ -d (vtimghd)/ ]; then
|
||||
@@ -925,24 +1124,53 @@ function img_common_menuentry {
|
||||
|
||||
vt_img_extra_initrd_reset
|
||||
|
||||
#vt_get_fs_label (vtimghd,1) vtImgHd1Label
|
||||
vt_get_fs_label (vtimghd,1) vtImgHd1Label
|
||||
if [ -d (vtimghd,2)/lib ]; then
|
||||
vt_get_fs_label (vtimghd,2) vtImgHd2Label
|
||||
fi
|
||||
|
||||
if [ -e (vtimghd,1)/etc/hostname ]; then
|
||||
vt_1st_line (vtimghd,1)/etc/hostname vtImgHostname
|
||||
fi
|
||||
|
||||
if [ -e (vtimghd,1)/easy.sfs ]; then
|
||||
ventoy_img_easyos
|
||||
elif [ -e (vtimghd,1)/volumio.initrd ]; then
|
||||
ventoy_img_volumio
|
||||
|
||||
|
||||
elif vt_str_begin $vtImgHd1Label "LAKKA"; then
|
||||
ventoy_img_openelec lakka
|
||||
elif vt_str_begin $vtImgHd1Label "LIBREELEC"; then
|
||||
ventoy_img_openelec LibreELEC
|
||||
elif vt_str_begin $vtImgHd1Label "paldo-live"; then
|
||||
ventoy_img_paldo
|
||||
elif vt_str_begin $vtImgHostname "freedombox"; then
|
||||
ventoy_img_freedombox
|
||||
elif vt_str_begin $vtImgHd1Label "BATOCERA"; then
|
||||
ventoy_img_batocera
|
||||
elif [ "$vtImgHd2Label" = "RECALBOX" ]; then
|
||||
ventoy_img_recalbox
|
||||
elif [ -f (vtimghd,2)/loader/entries/ubos.conf ]; then
|
||||
ventoy_img_ubos
|
||||
elif [ -f (vtimghd,1)/efi/boot/mt86.png ]; then
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
img_unsupport_tip
|
||||
else
|
||||
ventoy_img_memtest86
|
||||
fi
|
||||
else
|
||||
echo -e "\n This IMG file is NOT supported now. \n"
|
||||
echo -e " 当前不支持启动此 IMG 文件 \n"
|
||||
echo -e "\npress ENTER to exit (请按 回车 键返回) ..."
|
||||
read vtInputKey
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
img_unsupport_tip
|
||||
else
|
||||
vt_linux_chain_data ${vtoy_iso_part}${vt_chosen_path}
|
||||
chainloader ${vtoy_path}/ventoy_x64.efi sector512 env_param=${env_param} isoefi=${LoadIsoEfiDriver} FirstTry=${FirstTryBootFile} ${vtdebug_flag} mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
|
||||
boot
|
||||
fi
|
||||
fi
|
||||
|
||||
set root=$vtback_root
|
||||
vt_pop_last_entry
|
||||
ventoy_gui_console
|
||||
set ventoy_compatible=NO
|
||||
}
|
||||
|
||||
function img_unsupport_menuentry {
|
||||
@@ -957,7 +1185,7 @@ function img_unsupport_menuentry {
|
||||
#############################################################
|
||||
#############################################################
|
||||
|
||||
set VENTOY_VERSION="1.0.19"
|
||||
set VENTOY_VERSION="1.0.20"
|
||||
|
||||
# Default menu display mode, you can change it as you want.
|
||||
# 0: List mode
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -16,6 +16,7 @@ fi
|
||||
|
||||
cd ../IMG
|
||||
sh mkcpio.sh
|
||||
sh mkloopex.sh
|
||||
cd -
|
||||
|
||||
|
||||
@@ -103,9 +104,17 @@ for file in $(ls); do
|
||||
fi
|
||||
done
|
||||
|
||||
#chmod
|
||||
cd $CurDir
|
||||
find $tmpdir/ -type d -exec chmod 755 "{}" +
|
||||
find $tmpdir/ -type f -exec chmod 644 "{}" +
|
||||
chmod +x $tmpdir/Ventoy2Disk.sh
|
||||
chmod +x $tmpdir/CreatePersistentImg.sh
|
||||
|
||||
tar -czvf ventoy-${curver}-linux.tar.gz $tmpdir
|
||||
|
||||
|
||||
|
||||
rm -f ventoy-${curver}-windows.zip
|
||||
cp -a Ventoy2Disk*.exe $tmpdir/
|
||||
cp -a $LANG_DIR/languages.ini $tmpdir/ventoy/
|
||||
|
Reference in New Issue
Block a user