mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-08-28 00:11:15 +00:00
1. change some directory structure for the build script
2. add build script and document see DOC/BuildVentoyFromSource.txt for detail
This commit is contained in:
62
INSTALL/all_in_one.sh
Normal file
62
INSTALL/all_in_one.sh
Normal file
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
|
||||
VTOY_PATH=$PWD/..
|
||||
|
||||
cd $VTOY_PATH/DOC
|
||||
sh installdietlibc.sh
|
||||
|
||||
cd $VTOY_PATH/GRUB2
|
||||
sh buildgrub.sh || exit 1
|
||||
|
||||
cd $VTOY_PATH/IPXE
|
||||
sh buildipxe.sh || exit 1
|
||||
|
||||
cd $VTOY_PATH/EDK2
|
||||
sh buildedk.sh || exit 1
|
||||
|
||||
cd $VTOY_PATH/VtoyTool
|
||||
sh build.sh || exit 1
|
||||
|
||||
cd $VTOY_PATH/vtoyfat/fat_io_lib
|
||||
sh buildlib.sh
|
||||
|
||||
cd $VTOY_PATH/vtoyfat
|
||||
sh build.sh || exit 1
|
||||
|
||||
|
||||
cd $VTOY_PATH/ExFAT
|
||||
sh buidlibfuse.sh || exit 1
|
||||
sh buidexfat.sh || exit 1
|
||||
/bin/cp -a EXFAT/shared/mkexfatfs $VTOY_PATH/INSTALL/tool/mkexfatfs_64
|
||||
/bin/cp -a EXFAT/shared/mount.exfat-fuse $VTOY_PATH/INSTALL/tool/mount.exfat-fuse_64
|
||||
|
||||
|
||||
cd $VTOY_PATH/FUSEISO
|
||||
sh build_libfuse.sh
|
||||
sh build.sh
|
||||
|
||||
cd $VTOY_PATH/SQUASHFS/SRC
|
||||
sh build_lz4.sh
|
||||
sh build_lzma.sh
|
||||
sh build_lzo.sh
|
||||
sh build_zstd.sh
|
||||
|
||||
cd $VTOY_PATH/SQUASHFS/squashfs-tools-4.4/squashfs-tools
|
||||
sh build.sh
|
||||
|
||||
cd $VTOY_PATH/VBLADE/vblade-master
|
||||
sh build.sh
|
||||
|
||||
cd $VTOY_PATH/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/userspace
|
||||
make -f ventoy_makefile
|
||||
strip --strip-all xzminidec
|
||||
rm -f $VTOY_PATH/IMG/cpio/ventoy/tool/xzminidec
|
||||
cp -a xzminidec $VTOY_PATH/IMG/cpio/ventoy/tool/xzminidec
|
||||
make clean; rm -f *.o
|
||||
|
||||
|
||||
|
||||
cd $VTOY_PATH/INSTALL
|
||||
sh ventoy_pack.sh || exit 1
|
||||
|
||||
echo -e '\n============== SUCCESS ==================\n'
|
@@ -38,7 +38,7 @@ function ventoy_power {
|
||||
|
||||
function get_os_type {
|
||||
set vtoy_os=Linux
|
||||
for file in "efi/microsoft" "sources/boot.wim" "boot/bcd" "bootmgr.efi" "boot/etfsboot.com"; do
|
||||
for file in "efi/microsoft" "sources/boot.wim" "boot/bcd" "bootmgr.efi" "boot/etfsboot.com" "BOOT/etfsboot.com"; do
|
||||
if [ -e $1/$file ]; then
|
||||
set vtoy_os=Windows
|
||||
break
|
||||
@@ -453,8 +453,7 @@ function common_menuentry {
|
||||
#############################################################
|
||||
#############################################################
|
||||
|
||||
set VENTOY_VERSION="1.0.9Y"
|
||||
|
||||
set VENTOY_VERSION="1.0.10"
|
||||
|
||||
# Default menu display mode, you can change it as you want.
|
||||
# 0: List mode
|
||||
@@ -470,14 +469,6 @@ set VTOY_ISO_UEFI_DRV_STR="UEFI FS"
|
||||
|
||||
set VTOY_F2_CMD="ventoy_power"
|
||||
|
||||
if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then
|
||||
set VTOY_F3_CMD="vt_dynamic_menu 1 1"
|
||||
set VTOY_HOTKEY_TIP="F1:Memdisk F2:Power F3:TreeView"
|
||||
else
|
||||
set VTOY_F3_CMD="vt_dynamic_menu 1 0"
|
||||
set VTOY_HOTKEY_TIP="F1:Memdisk F2:Power F3:ListView"
|
||||
fi
|
||||
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
set VTOY_TEXT_MENU_VER="Ventoy $VENTOY_VERSION BIOS www.ventoy.net"
|
||||
else
|
||||
@@ -501,10 +492,21 @@ fi
|
||||
|
||||
loadfont ascii
|
||||
|
||||
#Load Plugin
|
||||
if [ -f $iso_path/ventoy/ventoy.json ]; then
|
||||
vt_load_plugin $iso_path
|
||||
fi
|
||||
|
||||
|
||||
if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then
|
||||
set VTOY_F3_CMD="vt_dynamic_menu 1 1"
|
||||
set VTOY_HOTKEY_TIP="F1:Memdisk F2:Power F3:TreeView"
|
||||
else
|
||||
set VTOY_F3_CMD="vt_dynamic_menu 1 0"
|
||||
set VTOY_HOTKEY_TIP="F1:Memdisk F2:Power F3:ListView"
|
||||
fi
|
||||
|
||||
|
||||
if [ -n "$vtoy_gfxmode" ]; then
|
||||
set gfxmode=$vtoy_gfxmode
|
||||
else
|
||||
|
119
INSTALL/ventoy_pack.sh
Normal file
119
INSTALL/ventoy_pack.sh
Normal file
@@ -0,0 +1,119 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ./tool/ventoy_lib.sh
|
||||
|
||||
GRUB_DIR=../GRUB2/INSTALL
|
||||
LANG_DIR=../LANGUAGES
|
||||
|
||||
if ! [ -d $GRUB_DIR ]; then
|
||||
echo "$GRUB_DIR not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
cd ../IMG
|
||||
sh mkcpio.sh
|
||||
cd -
|
||||
|
||||
|
||||
LOOP=$(losetup -f)
|
||||
|
||||
rm -f img.bin
|
||||
dd if=/dev/zero of=img.bin bs=1M count=256 status=none
|
||||
|
||||
losetup -P $LOOP img.bin
|
||||
|
||||
while ! grep -q 524288 /sys/block/${LOOP#/dev/}/size 2>/dev/null; do
|
||||
echo "wait $LOOP ..."
|
||||
sleep 1
|
||||
done
|
||||
|
||||
format_ventoy_disk $LOOP
|
||||
|
||||
$GRUB_DIR/sbin/grub-bios-setup --skip-fs-probe --directory="./grub/i386-pc" $LOOP
|
||||
|
||||
curver=$(get_ventoy_version_from_cfg ./grub/grub.cfg)
|
||||
|
||||
tmpmnt=./ventoy-${curver}-mnt
|
||||
tmpdir=./ventoy-${curver}
|
||||
|
||||
rm -rf $tmpmnt
|
||||
mkdir -p $tmpmnt
|
||||
|
||||
mount ${LOOP}p2 $tmpmnt
|
||||
|
||||
mkdir -p $tmpmnt/grub
|
||||
|
||||
# First copy grub.cfg file, to make it locate at front of the part2
|
||||
cp -a ./grub/grub.cfg $tmpmnt/grub/
|
||||
|
||||
ls -1 ./grub/ | grep -v 'grub\.cfg' | while read line; do
|
||||
cp -a ./grub/$line $tmpmnt/grub/
|
||||
done
|
||||
|
||||
cp -a ./ventoy $tmpmnt/
|
||||
cp -a ./EFI $tmpmnt/
|
||||
cp -a ./tool/ENROLL_THIS_KEY_IN_MOKMANAGER.cer $tmpmnt/
|
||||
|
||||
|
||||
mkdir -p $tmpmnt/tool
|
||||
cp -a ./tool/mount* $tmpmnt/tool/
|
||||
|
||||
rm -f $tmpmnt/grub/i386-pc/*
|
||||
|
||||
|
||||
umount $tmpmnt && rm -rf $tmpmnt
|
||||
|
||||
|
||||
rm -rf $tmpdir
|
||||
mkdir -p $tmpdir/boot
|
||||
mkdir -p $tmpdir/ventoy
|
||||
echo $curver > $tmpdir/ventoy/version
|
||||
dd if=$LOOP of=$tmpdir/boot/boot.img bs=1 count=512 status=none
|
||||
dd if=$LOOP of=$tmpdir/boot/core.img bs=512 count=2047 skip=1 status=none
|
||||
xz --check=crc32 $tmpdir/boot/core.img
|
||||
|
||||
cp -a ./tool $tmpdir/
|
||||
cp -a Ventoy2Disk.sh $tmpdir/
|
||||
|
||||
|
||||
#32MB disk img
|
||||
dd status=none if=$LOOP of=$tmpdir/ventoy/ventoy.disk.img bs=512 count=$VENTOY_SECTOR_NUM skip=$part2_start_sector
|
||||
xz --check=crc32 $tmpdir/ventoy/ventoy.disk.img
|
||||
|
||||
losetup -d $LOOP && rm -f img.bin
|
||||
|
||||
rm -f ventoy-${curver}-linux.tar.gz
|
||||
|
||||
|
||||
CurDir=$PWD
|
||||
cd $tmpdir/tool
|
||||
|
||||
for file in $(ls); do
|
||||
if [ "$file" != "xzcat" ] && [ "$file" != "ventoy_lib.sh" ]; then
|
||||
xz --check=crc32 $file
|
||||
fi
|
||||
done
|
||||
|
||||
cd $CurDir
|
||||
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/
|
||||
rm -rf $tmpdir/tool
|
||||
rm -f $tmpdir/*.sh
|
||||
|
||||
|
||||
zip -r ventoy-${curver}-windows.zip $tmpdir/
|
||||
|
||||
rm -rf $tmpdir
|
||||
|
||||
if [ -e ventoy-${curver}-windows.zip ] && [ -e ventoy-${curver}-linux.tar.gz ]; then
|
||||
echo -e "\n ============= SUCCESS =================\n"
|
||||
else
|
||||
echo -e "\n ============= FAILED =================\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
Reference in New Issue
Block a user