Commit 8dce0add authored by longpanda's avatar longpanda
Browse files

update for new release

parent 1bf3e733
========== Ventoy2Disk.sh =============== ========== 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 Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX
CMD: CMD:
...@@ -14,15 +14,24 @@ Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX ...@@ -14,15 +14,24 @@ Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX
-s enable secure boot support (default is disabled) -s enable secure boot support (default is disabled)
-g use GPT partition style, default is MBR style (only for install) -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 =============== ========== 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,15 +173,29 @@ function distro_specify_initrd_file { ...@@ -173,15 +173,29 @@ function distro_specify_initrd_file {
vt_linux_specify_initrd_file /pmagic/initrd.img vt_linux_specify_initrd_file /pmagic/initrd.img
elif [ -e (loop)/boot/initrd.xz ]; then elif [ -e (loop)/boot/initrd.xz ]; then
vt_linux_specify_initrd_file /boot/initrd.xz 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 elif [ -f (loop)/boot/initrd ]; then
vt_linux_specify_initrd_file /boot/initrd vt_linux_specify_initrd_file /boot/initrd
elif [ -f (loop)/boot/x86_64/loader/initrd ]; then elif [ -f (loop)/boot/x86_64/loader/initrd ]; then
vt_linux_specify_initrd_file /boot/x86_64/loader/initrd vt_linux_specify_initrd_file /boot/x86_64/loader/initrd
elif [ -f (loop)/boot/initramfs-x86_64.img ]; then elif [ -f (loop)/boot/initramfs-x86_64.img ]; then
vt_linux_specify_initrd_file /boot/initramfs-x86_64.img 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 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 { ...@@ -224,8 +238,19 @@ function distro_specify_initrd_file_phase2 {
vt_linux_specify_initrd_file /initrd vt_linux_specify_initrd_file /initrd
elif [ -f (loop)/live/initrd1 ]; then elif [ -f (loop)/live/initrd1 ]; then
vt_linux_specify_initrd_file /live/initrd1 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 elif vt_strstr $vt_volume_id "Daphile"; then
vt_linux_parse_initrd_isolinux (loop)/isolinux/ 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 fi
} }
...@@ -263,7 +288,13 @@ function ventoy_get_freenas_ver { ...@@ -263,7 +288,13 @@ function ventoy_get_freenas_ver {
fi fi
} }
function ventoy_get_midnightbsd_ver {
set vt_freebsd_ver=11.x
}
function ventoy_freebsd_proc { function ventoy_freebsd_proc {
set vtFreeBsdDistro=FreeBSD
if vt_strstr "$vt_volume_id" "GHOSTBSD"; then if vt_strstr "$vt_volume_id" "GHOSTBSD"; then
ventoy_get_ghostbsd_ver $1 ${chosen_path} ventoy_get_ghostbsd_ver $1 ${chosen_path}
elif vt_strstr "$vt_volume_id" "FREENAS"; then elif vt_strstr "$vt_volume_id" "FREENAS"; then
...@@ -280,6 +311,9 @@ function ventoy_freebsd_proc { ...@@ -280,6 +311,9 @@ function ventoy_freebsd_proc {
set vt_freebsd_ver=10.x set vt_freebsd_ver=10.x
elif regexp "^9_[0-9]" "$vt_volume_id"; then elif regexp "^9_[0-9]" "$vt_volume_id"; then
set vt_freebsd_ver=9.x 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 elif [ -e (loop)/bin/freebsd-version ]; then
vt_unix_parse_freebsd_ver (loop)/bin/freebsd-version vt_userland_ver vt_unix_parse_freebsd_ver (loop)/bin/freebsd-version vt_userland_ver
if regexp "\"13\.[0-9]-" "$vt_userland_ver"; then if regexp "\"13\.[0-9]-" "$vt_userland_ver"; then
...@@ -334,7 +368,11 @@ function ventoy_freebsd_proc { ...@@ -334,7 +368,11 @@ function ventoy_freebsd_proc {
fi fi
done 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} vt_unix_replace_conf FreeBSD ${1}${chosen_path}
} }
...@@ -458,6 +496,8 @@ function uefi_linux_menu_func { ...@@ -458,6 +496,8 @@ function uefi_linux_menu_func {
vt_add_replace_file $vtindex "EFI\\BOOT\\initrd.gz" vt_add_replace_file $vtindex "EFI\\BOOT\\initrd.gz"
elif [ -f (loop)/loader/entries/thinstation.conf ]; then elif [ -f (loop)/loader/entries/thinstation.conf ]; then
vt_add_replace_file $vtindex "boot\\initrd" 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 fi
elif [ -d (loop)/EFI/boot/entries ]; then elif [ -d (loop)/EFI/boot/entries ]; then
if [ -f (loop)/parabola/boot/x86_64/parabolaiso.img ]; then if [ -f (loop)/parabola/boot/x86_64/parabolaiso.img ]; then
...@@ -468,6 +508,8 @@ function uefi_linux_menu_func { ...@@ -468,6 +508,8 @@ function uefi_linux_menu_func {
elif [ -e (loop)/syslinux/alt0/full.cz ]; then elif [ -e (loop)/syslinux/alt0/full.cz ]; then
vt_add_replace_file 0 "EFI\\BOOT\\full.cz" vt_add_replace_file 0 "EFI\\BOOT\\full.cz"
set FirstTryBootFile='@EFI@BOOT@grubx64.efi' set FirstTryBootFile='@EFI@BOOT@grubx64.efi'
fi fi
fi fi
...@@ -649,6 +691,10 @@ function legacy_linux_menu_func { ...@@ -649,6 +691,10 @@ function legacy_linux_menu_func {
vt_linux_initrd_count vtcount vt_linux_initrd_count vtcount
if [ $vtcount -eq 0 ]; then 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 distro_specify_initrd_file_phase2
fi fi
...@@ -770,6 +816,11 @@ function ventoy_iso_busybox_ver { ...@@ -770,6 +816,11 @@ function ventoy_iso_busybox_ver {
if vt_str_begin $vt_chosen_path "/deepin-live"; then if vt_str_begin $vt_chosen_path "/deepin-live"; then
set ventoy_busybox_ver=64 set ventoy_busybox_ver=64
fi 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 fi
} }
...@@ -785,6 +836,8 @@ function iso_common_menuentry { ...@@ -785,6 +836,8 @@ function iso_common_menuentry {
#special process for Endless OS #special process for Endless OS
if vt_str_begin $vt_volume_id "Endless-OS"; then if vt_str_begin $vt_volume_id "Endless-OS"; then
iso_endless_os_proc $vtoy_iso_part $vt_chosen_path iso_endless_os_proc $vtoy_iso_part $vt_chosen_path
elif vt_str_begin $vt_volume_id "TENS-Public"; then
set vtcompat=1
fi fi
if [ "$grub_platform" = "pc" ]; then if [ "$grub_platform" = "pc" ]; then
...@@ -846,8 +899,17 @@ function efi_common_menuentry { ...@@ -846,8 +899,17 @@ function efi_common_menuentry {
ventoy_debug_pause ventoy_debug_pause
ventoy_cli_console 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}
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 boot
fi
ventoy_gui_console ventoy_gui_console
} }
...@@ -904,8 +966,145 @@ function ventoy_img_volumio { ...@@ -904,8 +966,145 @@ function ventoy_img_volumio {
vt_unset_boot_opt 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 { function img_common_menuentry {
set ventoy_compatible=YES
set ventoy_busybox_ver=32 set ventoy_busybox_ver=32
vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_img_path vt_chosen_path vt_chosen_size
...@@ -925,24 +1124,53 @@ function img_common_menuentry { ...@@ -925,24 +1124,53 @@ function img_common_menuentry {
vt_img_extra_initrd_reset 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 if [ -e (vtimghd,1)/easy.sfs ]; then
ventoy_img_easyos ventoy_img_easyos
elif [ -e (vtimghd,1)/volumio.initrd ]; then elif [ -e (vtimghd,1)/volumio.initrd ]; then
ventoy_img_volumio 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 else
echo -e "\n This IMG file is NOT supported now. \n" ventoy_img_memtest86
echo -e " 当前不支持启动此 IMG 文件 \n" fi
echo -e "\npress ENTER to exit (请按 回车 键返回) ..." else
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 fi
set root=$vtback_root set root=$vtback_root
vt_pop_last_entry vt_pop_last_entry
ventoy_gui_console ventoy_gui_console
set ventoy_compatible=NO
} }
function img_unsupport_menuentry { function img_unsupport_menuentry {
...@@ -957,7 +1185,7 @@ 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. # Default menu display mode, you can change it as you want.
# 0: List mode # 0: List mode
......
...@@ -16,6 +16,7 @@ fi ...@@ -16,6 +16,7 @@ fi
cd ../IMG cd ../IMG
sh mkcpio.sh sh mkcpio.sh
sh mkloopex.sh
cd - cd -
...@@ -103,9 +104,17 @@ for file in $(ls); do ...@@ -103,9 +104,17 @@ for file in $(ls); do
fi fi
done done
#chmod
cd $CurDir 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 tar -czvf ventoy-${curver}-linux.tar.gz $tmpdir
rm -f ventoy-${curver}-windows.zip rm -f ventoy-${curver}-windows.zip
cp -a Ventoy2Disk*.exe $tmpdir/ cp -a Ventoy2Disk*.exe $tmpdir/
cp -a $LANG_DIR/languages.ini $tmpdir/ventoy/ cp -a $LANG_DIR/languages.ini $tmpdir/ventoy/
......
File added
File added
lunzip follows GPLv2+ license (see gpl-2.0.txt)
Ventoy does not modify its source code, only its binary is used.
https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html#versions-13
sysctl kern.osreldate
/usr/src/sys/sys/param.h
#define __FreeBSD_version 1300102
Modify the /usr/src/sys/sys/param.h __FreeBSD_version to the value get by sysctl kern.osreldate in the OS.
No preview for this file type
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment