3 dos2unix
-q .
/tool
/ventoy_lib.sh
4 dos2unix
-q .
/tool
/VentoyWorker.sh
8 GRUB_DIR
=..
/GRUB
2/INSTALL
11 if ! [ -d $GRUB_DIR ]; then
12 echo "$GRUB_DIR not exist"
26 dd if=/dev
/zero of
=img.bin bs
=1M count
=256 status
=none
28 losetup
-P $LOOP img.bin
30 while ! grep -q 524288 /sys
/block
/${LOOP#/dev/}/size
2>/dev
/null
; do
35 format_ventoy_disk_mbr
0 $LOOP fdisk
37 $GRUB_DIR/sbin
/grub
-bios-setup --skip-fs-probe --directory="./grub/i386-pc" $LOOP
39 curver
=$(get_ventoy_version_from_cfg ./grub/grub.cfg)
41 tmpmnt
=.
/ventoy
-${curver}-mnt
42 tmpdir
=.
/ventoy
-${curver}
47 mount
${LOOP}p2
$tmpmnt
51 # First copy grub.cfg file, to make it locate at front of the part2
52 cp -a .
/grub
/grub.cfg
$tmpmnt/grub
/
54 ls -1 .
/grub
/ | grep -v 'grub\.cfg' | while read line
; do
55 cp -a .
/grub
/$line $tmpmnt/grub
/
58 cp -a .
/ventoy
$tmpmnt/
60 cp -a .
/tool
/ENROLL_THIS_KEY_IN_MOKMANAGER.cer
$tmpmnt/
64 cp -a .
/tool
/i
386/mount.exfat
-fuse $tmpmnt/tool
/mount.exfat
-fuse_i386
65 cp -a .
/tool
/x
86_
64/mount.exfat
-fuse $tmpmnt/tool
/mount.exfat
-fuse_x86_64
66 cp -a .
/tool
/aarch
64/mount.exfat
-fuse $tmpmnt/tool
/mount.exfat
-fuse_aarch64
68 rm -f $tmpmnt/grub
/i386
-pc/*.img
71 umount
$tmpmnt && rm -rf $tmpmnt
76 mkdir -p $tmpdir/ventoy
77 echo $curver > $tmpdir/ventoy
/version
78 dd if=$LOOP of
=$tmpdir/boot
/boot.img bs
=1 count
=512 status
=none
79 dd if=$LOOP of
=$tmpdir/boot
/core.img bs
=512 count
=2047 skip
=1 status
=none
80 xz
--check=crc32
$tmpdir/boot
/core.img
83 rm -f $tmpdir/ENROLL_THIS_KEY_IN_MOKMANAGER.cer
84 cp -a Ventoy2Disk.sh
$tmpdir/
87 cp -a CreatePersistentImg.sh
$tmpdir/
88 dos2unix
-q $tmpdir/Ventoy2Disk.sh
89 dos2unix
-q $tmpdir/CreatePersistentImg.sh
92 dd status
=none
if=$LOOP of
=$tmpdir/ventoy
/ventoy.disk.img bs
=512 count
=$VENTOY_SECTOR_NUM skip
=$part2_start_sector
93 xz
--check=crc32
$tmpdir/ventoy
/ventoy.disk.img
95 losetup
-d $LOOP && rm -f img.bin
97 rm -f ventoy
-${curver}-linux.
tar.gz
102 for d
in i386 x86_64 aarch64
; do
104 for file in $(ls); do
105 if [ "$file" != "xzcat" ]; then
106 xz
--check=crc32
$file
113 find $tmpdir/ -type d
-exec chmod 755 "{}" +
114 find $tmpdir/ -type f
-exec chmod 644 "{}" +
115 chmod +x
$tmpdir/Ventoy2Disk.sh
116 chmod +x
$tmpdir/CreatePersistentImg.sh
118 tar -czvf ventoy
-${curver}-linux.
tar.gz
$tmpdir
122 rm -f ventoy
-${curver}-windows.
zip
123 cp -a Ventoy2Disk
*.exe
$tmpdir/
124 cp -a $LANG_DIR/languages.ini
$tmpdir/ventoy
/
130 zip -r ventoy
-${curver}-windows.
zip $tmpdir/
138 mv ..
/LiveCD
/ventoy
*.iso .
/
140 if [ -e ventoy
-${curver}-windows.
zip ] && [ -e ventoy
-${curver}-linux.
tar.gz
]; then
141 echo -e "\n ============= SUCCESS =================\n"
143 echo -e "\n ============= FAILED =================\n"