livecd.sh 1.86 KB
Newer Older
longpanda's avatar
update  
longpanda committed
1
2
#!/bin/bash

longpanda's avatar
longpanda committed
3
4
5
6
7
8
if [ "$1" = "CI" ]; then
    OPT='-dR'
else
    OPT='-a'
fi

longpanda's avatar
update  
longpanda committed
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
VENTOY_PATH=$PWD/../

if ! [ -f $VENTOY_PATH/INSTALL/grub/grub.cfg ]; then
    echo "no grub.cfg detected"
    exit 1
fi

version=$(grep 'set.*VENTOY_VERSION=' $VENTOY_PATH/INSTALL/grub/grub.cfg | awk -F'"' '{print $2}')

if ! [ -e $VENTOY_PATH/INSTALL/ventoy-${version}-linux.tar.gz ]; then
    echo "no ventoy-${version}-linux.tar.gz detected"
    exit 1
fi

rm -rf ISO_TMP
longpanda's avatar
longpanda committed
24
cp $OPT ISO ISO_TMP
longpanda's avatar
update  
longpanda committed
25

longpanda's avatar
longpanda committed
26
cp $OPT VTOY VTOY_TMP 
longpanda's avatar
longpanda committed
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

ls -la
if ! [ -d ISO_TMP ]; then
    echo "Copy ISO_TMP failed"
    exit 1
fi

if ! [ -d VTOY_TMP ]; then
    echo "Copy VTOY_TMP failed"
    exit 1
fi

mkdir -p ISO_TMP/EFI/ventoy
cd VTOY_TMP

longpanda's avatar
update  
longpanda committed
42
43
gcc -O2 -m32 ./ventoy/disksize.c -o ./ventoy/disksize
rm -f ./ventoy/disksize.c
longpanda's avatar
longpanda committed
44
find . | cpio  -o -H newc | gzip -c -9 > ../ISO_TMP/EFI/ventoy/ventoy.gz
longpanda's avatar
update  
longpanda committed
45
46
47
cd .. && rm -rf VTOY_TMP


longpanda's avatar
longpanda committed
48
49
50
cp $OPT $VENTOY_PATH/INSTALL/ventoy-${version}-linux.tar.gz ISO_TMP/EFI/ventoy/
cp $OPT GRUB/cdrom.img ISO_TMP/EFI/boot/
cp $OPT GRUB/bootx64.efi ISO_TMP/EFI/boot/
longpanda's avatar
update  
longpanda committed
51
52
53
54
55
56
57
58
59
60


rm -rf efimnt
rm -f efi.img
mkdir -p efimnt

dd if=/dev/zero of=efi.img bs=1M count=2
mkfs.vfat efi.img
mount efi.img efimnt
mkdir -p efimnt/EFI/boot
longpanda's avatar
longpanda committed
61
cp $OPT GRUB/bootx64.efi efimnt/EFI/boot/
longpanda's avatar
update  
longpanda committed
62
63
64
umount efimnt

sync
longpanda's avatar
longpanda committed
65
cp $OPT efi.img ISO_TMP/EFI/boot/
longpanda's avatar
update  
longpanda committed
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81

rm -rf efimnt
rm -f efi.img


cd ISO_TMP

sed "s/xxx/$version/g" -i EFI/boot/grub.cfg

rm -f ../ventoy-${version}-livecd.iso

xorriso -as mkisofs  -allow-lowercase  --sort-weight 0 / --sort-weight 1 /EFI  -v -R -J  -V  'VentoyLiveCD' -P 'VENTOY COMPATIBLE' -p 'https://www.ventoy.net' -sysid 'Ventoy' -A 'VentoyLiveCD' -b EFI/boot/cdrom.img --grub2-boot-info --grub2-mbr ../GRUB/boot_hybrid.img  -c EFI/boot/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e EFI/boot/efi.img -no-emul-boot  -append_partition 2 0xEF  EFI/boot/efi.img   -o ../ventoy-${version}-livecd.iso  .

cd ../
rm -rf ISO_TMP