mirror of https://github.com/ventoy/Ventoy
IA32 ARM64 support
parent
2936666a78
commit
ebaa4d954a
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,20 @@
|
|||||||
|
======== Build busybox 1.32 for aarch64 ========
|
||||||
|
|
||||||
|
ARCH=arm64 CROSS_COMPILE=aarch64-linux- make defconfig
|
||||||
|
ARCH=arm64 CROSS_COMPILE=aarch64-linux- make menuconfig
|
||||||
|
----> enable static build
|
||||||
|
----> enable ar
|
||||||
|
----> enable inotifyd
|
||||||
|
|
||||||
|
|
||||||
|
ARCH=arm64 CROSS_COMPILE=aarch64-linux- make
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ARCH=arm64 CROSS_COMPILE=aarch64-linux- make allnoconfig
|
||||||
|
|
||||||
|
|
||||||
|
======== use mini-native-x86_64 uclibc to build ash/hexdump/busybox for x86_64 ==========
|
||||||
|
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,49 +1,64 @@
|
|||||||
Build a static linked, small dmsetup tool
|
Build a static linked, small dmsetup tool
|
||||||
|
|
||||||
======== Source Code ========
|
======== Source Code ========
|
||||||
use an old version of dmsetup
|
use an old version of dmsetup
|
||||||
http://vault.centos.org/5.3/os/SRPMS/device-mapper-1.02.28-2.el5.src.rpm
|
http://vault.centos.org/5.3/os/SRPMS/device-mapper-1.02.28-2.el5.src.rpm
|
||||||
https://www.fefe.de/dietlibc/dietlibc-0.34.tar.xz
|
https://www.fefe.de/dietlibc/dietlibc-0.34.tar.xz
|
||||||
|
|
||||||
======== Build Envrioment ========
|
======== Build Envrioment ========
|
||||||
build for 32bit, static linked with dietlibc
|
build for 32bit, static linked with dietlibc
|
||||||
1. install centos 6.10 i386 with CentOS-6.10-i386-bin-DVD1.iso
|
1. install centos 6.10 i386 with CentOS-6.10-i386-bin-DVD1.iso
|
||||||
2. yum install gcc kernel-devel package
|
2. yum install gcc kernel-devel package
|
||||||
3. install dietc libc (just make && make install)
|
3. install dietc libc (just make && make install)
|
||||||
4. export PATH=$PATH:/opt/diet/bin
|
4. export PATH=$PATH:/opt/diet/bin
|
||||||
|
|
||||||
======== Build Step ========
|
======== Build Step ========
|
||||||
1. extract device mapper source code
|
1. extract device mapper source code
|
||||||
2. CC="diet gcc" ./configure --disable-nls --disable-selinux --disable-shared
|
2. CC="diet gcc" ./configure --disable-nls --disable-selinux --disable-shared
|
||||||
3. modify include/configure.h file
|
3. modify include/configure.h file
|
||||||
--- delete the line with "#define malloc rpl_malloc"
|
--- delete the line with "#define malloc rpl_malloc"
|
||||||
--- add 2 defines as follow:
|
--- add 2 defines as follow:
|
||||||
#ifndef UINT32_MAX
|
#ifndef UINT32_MAX
|
||||||
#define UINT32_MAX (4294967295U)
|
#define UINT32_MAX (4294967295U)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef UINT64_C
|
#ifndef UINT64_C
|
||||||
#define UINT64_C(c) c ## ULL
|
#define UINT64_C(c) c ## ULL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
4. make
|
4. make
|
||||||
5. strip dmsetup/dmsetup
|
5. strip dmsetup/dmsetup
|
||||||
6. get dmsetup/dmsetup as the dmsetup32 binary file
|
6. get dmsetup/dmsetup as the dmsetup32 binary file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
======================== Build for 64bit dmsetup =========================
|
======================== Build for 64bit dmsetup =========================
|
||||||
https://www.uclibc.org/downloads/binaries/0.9.30.1/mini-native-x86_64.tar.bz2
|
https://www.uclibc.org/downloads/binaries/0.9.30.1/mini-native-x86_64.tar.bz2
|
||||||
1. extract device mapper source code
|
1. extract device mapper source code
|
||||||
2. extract mini-native-x86_64.tar.bz2
|
2. extract mini-native-x86_64.tar.bz2
|
||||||
3. chroot to mini-native-x86_64
|
3. chroot to mini-native-x86_64
|
||||||
3. ./configure --disable-nls --disable-selinux --disable-shared --enable-static_link
|
3. ./configure --disable-nls --disable-selinux --disable-shared --enable-static_link
|
||||||
4. make
|
4. make
|
||||||
5. strip dmsetup/dmsetup.static
|
5. strip dmsetup/dmsetup.static
|
||||||
6. get dmsetup/dmsetup.static as the dmsetup64 binary file
|
6. get dmsetup/dmsetup.static as the dmsetup64 binary file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
======================== Build for arm64 dmsetup =========================
|
||||||
|
https://www.uclibc.org/downloads/binaries/0.9.30.1/mini-native-x86_64.tar.bz2
|
||||||
|
1. extract device mapper source code
|
||||||
|
2. ./configure CC=aarch64-linux-gcc --target=arm --host=x86_64-linux-gnu --disable-nls --disable-selinux --disable-shared --enable-static_link
|
||||||
|
3. modify include/configure.h file
|
||||||
|
--- delete the line with "#define malloc rpl_malloc"
|
||||||
|
4. make
|
||||||
|
5. aarch64-linux-strip dmsetup/dmsetup.static
|
||||||
|
6. get dmsetup/dmsetup.static as the dmsetupaa64 binary file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Binary file not shown.
@ -1,228 +1,234 @@
|
|||||||
|
|
||||||
==========================================
|
==========================================
|
||||||
1. Compile Enviroment
|
1. Compile Enviroment
|
||||||
==========================================
|
==========================================
|
||||||
My build envrioment is CentOS 7.8 x86_64. So here I first explain how to create the build environment from scratch.
|
My build envrioment is CentOS 7.8 x86_64. So here I first explain how to create the build environment from scratch.
|
||||||
Because Ventoy is based on many open source projects, so the environment is important. I suggest you test it on a virtual machine first.
|
Because Ventoy is based on many open source projects, so the environment is important. I suggest you test it on a virtual machine first.
|
||||||
|
|
||||||
1.1 Install CentOS 7.8
|
1.1 Install CentOS 7.8
|
||||||
I use CentOS-7-x86_64-Everything-2003.iso and select Minimal install
|
I use CentOS-7-x86_64-Everything-2003.iso and select Minimal install
|
||||||
|
|
||||||
1.2 Install Packages
|
1.2 Install Packages
|
||||||
yum install \
|
yum install \
|
||||||
libXpm net-tools bzip2 wget vim gcc gcc-c++ samba dos2unix glibc-devel glibc.i686 glibc-devel.i686 \
|
libXpm net-tools bzip2 wget vim gcc gcc-c++ samba dos2unix glibc-devel glibc.i686 glibc-devel.i686 \
|
||||||
mpfr.i686 mpfr-devel.i686 zlib.i686 rsync autogen autoconf automake libtool gettext* bison binutils \
|
mpfr.i686 mpfr-devel.i686 zlib.i686 rsync autogen autoconf automake libtool gettext* bison binutils \
|
||||||
flex device-mapper-devel SDL libpciaccess libusb freetype freetype-devel gnu-free-* qemu-* virt-* \
|
flex device-mapper-devel SDL libpciaccess libusb freetype freetype-devel gnu-free-* qemu-* virt-* \
|
||||||
libvirt* vte* NetworkManager-bluetooth brlapi fuse-devel dejavu* gnu-efi* pesign shim \
|
libvirt* vte* NetworkManager-bluetooth brlapi fuse-devel dejavu* gnu-efi* pesign shim \
|
||||||
iscsi-initiator-utils grub2-tools zip nasm acpica-tools glibc-static zlib-static
|
iscsi-initiator-utils grub2-tools zip nasm acpica-tools glibc-static zlib-static
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
==========================================
|
==========================================
|
||||||
2. Download Source Code
|
2. Download Source Code
|
||||||
==========================================
|
==========================================
|
||||||
2.1 Download Ventoy source code from github and decompress it.
|
2.1 Download Ventoy source code from github and decompress it.
|
||||||
Next I assume that you have unzipped the code into the /home directory (check /home/Ventoy-master/README.md file for the directory level).
|
Next I assume that you have unzipped the code into the /home directory (check /home/Ventoy-master/README.md file for the directory level).
|
||||||
|
|
||||||
2.2 Download third-part source code
|
2.2 Download third-part source code
|
||||||
|
|
||||||
https://www.fefe.de/dietlibc/dietlibc-0.34.tar.xz ===> /home/Ventoy-master/DOC/dietlibc-0.34.tar.xz
|
https://www.fefe.de/dietlibc/dietlibc-0.34.tar.xz ===> /home/Ventoy-master/DOC/dietlibc-0.34.tar.xz
|
||||||
https://ftp.gnu.org/gnu/grub/grub-2.04.tar.xz ===> /home/Ventoy-master/GRUB2/grub-2.04.tar.xz
|
https://ftp.gnu.org/gnu/grub/grub-2.04.tar.xz ===> /home/Ventoy-master/GRUB2/grub-2.04.tar.xz
|
||||||
https://codeload.github.com/tianocore/edk2/zip/edk2-stable201911 ===> /home/Ventoy-master/EDK2/edk2-edk2-stable201911.zip
|
https://codeload.github.com/tianocore/edk2/zip/edk2-stable201911 ===> /home/Ventoy-master/EDK2/edk2-edk2-stable201911.zip
|
||||||
https://codeload.github.com/relan/exfat/zip/v1.3.0 ===> /home/Ventoy-master/ExFAT/exfat-1.3.0.zip
|
https://codeload.github.com/relan/exfat/zip/v1.3.0 ===> /home/Ventoy-master/ExFAT/exfat-1.3.0.zip
|
||||||
https://codeload.github.com/libfuse/libfuse/zip/fuse-2.9.9 ===> /home/Ventoy-master/ExFAT/libfuse-fuse-2.9.9.zip
|
https://codeload.github.com/libfuse/libfuse/zip/fuse-2.9.9 ===> /home/Ventoy-master/ExFAT/libfuse-fuse-2.9.9.zip
|
||||||
|
https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/aarch64-linux-gnu/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz ===> /opt/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz
|
||||||
|
https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--uclibc--stable-2020.08-1.tar.bz2 ===> /opt/aarch64--uclibc--stable-2020.08-1.tar.bz2
|
||||||
|
|
||||||
==========================================
|
|
||||||
3. All in one script
|
==========================================
|
||||||
==========================================
|
3. All in one script
|
||||||
I have made the whole build process in all_in_one.sh, you can run this script to build and pack ventoy.
|
==========================================
|
||||||
If you want to compile a certain part separately, you can continue to refer to the later chapters of this text.
|
I have made the whole build process in all_in_one.sh, you can run this script to build and pack ventoy.
|
||||||
|
If you want to compile a certain part separately, you can continue to refer to the later chapters of this text.
|
||||||
cd /home/Ventoy-master/INSTALL
|
|
||||||
sh all_in_one.sh
|
cd /home/Ventoy-master/INSTALL
|
||||||
|
sh all_in_one.sh
|
||||||
It should be noted that, some part of Ventoy has 32bit&64bit version (like 4.9 4.10 4.11 follows)
|
|
||||||
all_in_one.sh only build 64bit version of them, if you want to rebuild the 32bit verison. You should create a 32bit CentOS environment and build them.
|
It should be noted that, some part of Ventoy has 32bit&64bit version (like 4.9 4.10 4.11 follows)
|
||||||
Fortunately these parts are few modified, you only need to build once or you can directly use the binary I have built.
|
all_in_one.sh only build 64bit version of them, if you want to rebuild the 32bit verison. You should create a 32bit CentOS environment and build them.
|
||||||
|
Fortunately these parts are few modified, you only need to build once or you can directly use the binary I have built.
|
||||||
Besides, after a fully compile and pack, you can only build the part you modified (for example grub2) and run ventoy_pack.sh to generate the package.
|
|
||||||
|
Besides, after a fully compile and pack, you can only build the part you modified (for example grub2) and run ventoy_pack.sh to generate the package.
|
||||||
|
|
||||||
|
|
||||||
==========================================
|
|
||||||
4. Build every part of Ventoy
|
==========================================
|
||||||
==========================================
|
4. Build every part of Ventoy
|
||||||
4.1 == Build grub2 ==
|
==========================================
|
||||||
cd /home/Ventoy-master/GRUB2
|
4.1 == Build grub2 ==
|
||||||
sh buildgrub.sh
|
cd /home/Ventoy-master/GRUB2
|
||||||
|
sh buildgrub.sh
|
||||||
4.2 == Build ipxe.krn ==
|
|
||||||
cd /home/Ventoy-master/IPXE
|
4.2 == Build ipxe.krn ==
|
||||||
sh buildipxe.sh
|
cd /home/Ventoy-master/IPXE
|
||||||
|
sh buildipxe.sh
|
||||||
4.3 == Build Ventoy2Disk.exe ==
|
|
||||||
Ventoy2Disk.exe is the installer in Windows platform. And it must be built in Windows with Microsoft Visual Studio (2013+).
|
4.3 == Build Ventoy2Disk.exe ==
|
||||||
Open /home/Ventoy-master/Ventoy2Disk/Ventoy2Disk.sln with Visual Studio and build it.
|
Ventoy2Disk.exe is the installer in Windows platform. And it must be built in Windows with Microsoft Visual Studio (2013+).
|
||||||
|
Open /home/Ventoy-master/Ventoy2Disk/Ventoy2Disk.sln with Visual Studio and build it.
|
||||||
4.4 == Build vtoyjump64.exe/vtoyjump32.exe ==
|
|
||||||
vtoyjump64.exe/vtoyjump32.exe is used to mount iso file in windows PE. You should install Microsoft Visual Studio (2013+) to build it.
|
4.4 == Build vtoyjump64.exe/vtoyjump32.exe ==
|
||||||
Open /home/Ventoy-master/vtoyjump/vtoyjump.sln with Visual Studio and build it (64&32).
|
vtoyjump64.exe/vtoyjump32.exe is used to mount iso file in windows PE. You should install Microsoft Visual Studio (2013+) to build it.
|
||||||
|
Open /home/Ventoy-master/vtoyjump/vtoyjump.sln with Visual Studio and build it (64&32).
|
||||||
4.5 == Build dmsetup ==
|
|
||||||
Please refer to DMSETUP/build.txt
|
4.5 == Build dmsetup ==
|
||||||
|
Please refer to DMSETUP/build.txt
|
||||||
4.6 == Build ventoy_x64.efi ==
|
|
||||||
cd /home/Ventoy-master/EDK2
|
4.6 == Build ventoy_x64.efi ==
|
||||||
sh buildedk.sh
|
cd /home/Ventoy-master/EDK2
|
||||||
|
sh buildedk.sh
|
||||||
4.7 == Build VtoyTool ==
|
|
||||||
cd /home/Ventoy-master/VtoyTool
|
4.7 == Build VtoyTool ==
|
||||||
sh build.sh
|
cd /home/Ventoy-master/VtoyTool
|
||||||
|
sh build.sh
|
||||||
4.8 == Build vtoyfat ==
|
|
||||||
cd /home/Ventoy-master/vtoyfat/fat_io_lib
|
4.8 == Build vtoyfat ==
|
||||||
sh buildlib.sh
|
cd /home/Ventoy-master/vtoyfat/fat_io_lib
|
||||||
cd /home/Ventoy-master/vtoyfat
|
sh buildlib.sh
|
||||||
sh build.sh
|
cd /home/Ventoy-master/vtoyfat
|
||||||
|
sh build.sh
|
||||||
4.9 == Build exfat-util ==
|
|
||||||
cd /home/Ventoy-master/ExFAT
|
4.9 == Build exfat-util ==
|
||||||
sh buidlibfuse.sh
|
cd /home/Ventoy-master/ExFAT
|
||||||
sh buidexfat.sh
|
sh buidlibfuse.sh
|
||||||
|
sh buidexfat.sh
|
||||||
After that, copy EXFAT/shared/mkexfatfs ===> /home/Ventoy-master/INSTALL/tool/mkexfatfs_64
|
|
||||||
After that, copy EXFAT/shared/mount.exfat-fuse ===> /home/Ventoy-master/INSTALL/tool/mount.exfat-fuse_64
|
After that, copy EXFAT/shared/mkexfatfs ===> /home/Ventoy-master/INSTALL/tool/mkexfatfs_64
|
||||||
|
After that, copy EXFAT/shared/mount.exfat-fuse ===> /home/Ventoy-master/INSTALL/tool/mount.exfat-fuse_64
|
||||||
Use the same build step to build exfat-util 32bit in a 32bit CentOS system and get mkexfatfs_32 and mount.exfat-fuse_32
|
|
||||||
|
Use the same build step to build exfat-util 32bit in a 32bit CentOS system and get mkexfatfs_32 and mount.exfat-fuse_32
|
||||||
4.10 == Build vtoy_fuse_iso_64/vtoy_fuse_iso_32 ==
|
|
||||||
cd /home/Ventoy-master/FUSEISO
|
4.10 == Build vtoy_fuse_iso_64/vtoy_fuse_iso_32 ==
|
||||||
sh build_libfuse.sh
|
cd /home/Ventoy-master/FUSEISO
|
||||||
sh build.sh
|
sh build_libfuse.sh
|
||||||
|
sh build.sh
|
||||||
Use the same build step to build in a 32bit CentOS system and get vtoy_fuse_iso_32
|
|
||||||
|
Use the same build step to build in a 32bit CentOS system and get vtoy_fuse_iso_32
|
||||||
4.11 == Build unsquashfs_64/unsquashfs_32 ==
|
|
||||||
cd /home/Ventoy-master/SQUASHFS/SRC
|
4.11 == Build unsquashfs_64/unsquashfs_32 ==
|
||||||
sh build_lz4.sh
|
cd /home/Ventoy-master/SQUASHFS/SRC
|
||||||
sh build_lzma.sh
|
sh build_lz4.sh
|
||||||
sh build_lzo.sh
|
sh build_lzma.sh
|
||||||
sh build_zstd.sh
|
sh build_lzo.sh
|
||||||
|
sh build_zstd.sh
|
||||||
cd /home/Ventoy-master/SQUASHFS/squashfs-tools-4.4/squashfs-tools
|
|
||||||
sh build.sh
|
cd /home/Ventoy-master/SQUASHFS/squashfs-tools-4.4/squashfs-tools
|
||||||
|
sh build.sh
|
||||||
Use the same build step to build in a 32bit CentOS system and get unsquashfs_32
|
|
||||||
|
Use the same build step to build in a 32bit CentOS system and get unsquashfs_32
|
||||||
4.12 == Build vblade_64/vblade_32 ==
|
|
||||||
cd /home/Ventoy-master/VBLADE/vblade-master
|
4.12 == Build vblade_64/vblade_32 ==
|
||||||
sh build.sh
|
cd /home/Ventoy-master/VBLADE/vblade-master
|
||||||
|
sh build.sh
|
||||||
4.13 == Build zstdcat ==
|
|
||||||
Please refer to ZSTD/build.txt
|
4.13 == Build zstdcat ==
|
||||||
|
Please refer to ZSTD/build.txt
|
||||||
4.14 == Build vtoy_gen_uuid ==
|
|
||||||
cd /home/Ventoy-master/GenUUID
|
4.14 == Build vtoy_gen_uuid ==
|
||||||
sh build.sh
|
cd /home/Ventoy-master/GenUUID
|
||||||
|
sh build.sh
|
||||||
4.15 == Build xzminidec32 ==
|
|
||||||
cd /home/Ventoy-master/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/userspace
|
4.15 == Build xzminidec32 ==
|
||||||
make -f ventoy_makefile
|
cd /home/Ventoy-master/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/userspace
|
||||||
strip --strip-all xzminidec
|
make -f ventoy_makefile
|
||||||
|
strip --strip-all xzminidec
|
||||||
4.16 == Build xzminidec64 ==
|
|
||||||
cd /home/Ventoy-master/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/userspace
|
4.16 == Build xzminidec64 ==
|
||||||
make -f ventoy_makefile64
|
cd /home/Ventoy-master/Ventoy2Disk/Ventoy2Disk/xz-embedded-20130513/userspace
|
||||||
strip --strip-all xzminidec
|
make -f ventoy_makefile64
|
||||||
|
strip --strip-all xzminidec
|
||||||
4.17 == Build iso9660_x64.efi ==
|
|
||||||
This efi driver is from https://github.com/pbatard/efifs
|
4.17 == Build iso9660_x64.efi ==
|
||||||
Follow all the build instructions in this project. I modified 3 files (the original and modified source are at /home/Ventoy-master/EDK2/efiffs)
|
This efi driver is from https://github.com/pbatard/efifs
|
||||||
|
Follow all the build instructions in this project. I modified 3 files (the original and modified source are at /home/Ventoy-master/EDK2/efiffs)
|
||||||
4.18 IMG/cpio/ventoy/busybox/64h
|
|
||||||
https://www.uclibc.org/downloads/binaries/0.9.30.1/mini-native-x86_64.tar.bz2
|
4.18 IMG/cpio/ventoy/busybox/64h
|
||||||
https://busybox.net/downloads/busybox-1.32.0.tar.bz2
|
https://www.uclibc.org/downloads/binaries/0.9.30.1/mini-native-x86_64.tar.bz2
|
||||||
use BUSYBOX/64h.config and uclibc to build busybox-1.32
|
https://busybox.net/downloads/busybox-1.32.0.tar.bz2
|
||||||
|
use BUSYBOX/x86_64_ash.config and uclibc to build busybox-1.32
|
||||||
4.19 == Build lunzip32/lunzip64 ==
|
|
||||||
http://mirror.yongbok.net/nongnu/lzip/lunzip/lunzip-1.11.tar.gz
|
4.19 == Build lunzip32/lunzip64 ==
|
||||||
PATH=$PATH:/opt/diet/bin
|
http://mirror.yongbok.net/nongnu/lzip/lunzip/lunzip-1.11.tar.gz
|
||||||
./configure --disable-nls CC='diet gcc -nostdinc'
|
PATH=$PATH:/opt/diet/bin
|
||||||
make
|
./configure --disable-nls CC='diet gcc -nostdinc'
|
||||||
strip --strip-all lunzip
|
make
|
||||||
|
strip --strip-all lunzip
|
||||||
|
|
||||||
|
#aarch64
|
||||||
==========================================
|
./configure --disable-nls CC='aarch64-buildroot-linux-uclibc-gcc -static'
|
||||||
5. Binaries
|
make
|
||||||
==========================================
|
aarch64-buildroot-linux-uclibc-strip --strip-all lunzip
|
||||||
There some binaries in Ventoy install package. These files are downloaded from other open source project's website, such as busybox.
|
|
||||||
Here is the list of the binaries, their SHA-256 and the download urls:
|
|
||||||
|
|
||||||
5.1 IMG/cpio/ventoy/tool/lz4cat
|
==========================================
|
||||||
https://create.stephan-brumme.com/smallz4 smallz4cat-x32-v1.4
|
5. Binaries
|
||||||
SHA-256: 13d293ddeedb469f51da41167f79b2cbdb904e681716f6e6191b233dbb162438
|
==========================================
|
||||||
|
There some binaries in Ventoy install package. These files are downloaded from other open source project's website, such as busybox.
|
||||||
5.2 IMG/cpio/ventoy/tool/ar
|
Here is the list of the binaries, their SHA-256 and the download urls:
|
||||||
https://busybox.net/downloads/binaries/1.30.0-i686 busybox_AR
|
|
||||||
SHA-256: f29b7d81a983c0c85d22496f4a833c18f2528a1b666eb7d47c93084c1ed66ae0
|
5.1 IMG/cpio/ventoy/tool/lz4cat
|
||||||
|
https://create.stephan-brumme.com/smallz4 smallz4cat-x32-v1.4
|
||||||
5.3 IMG/cpio/ventoy/tool/inotifyd
|
SHA-256: 13d293ddeedb469f51da41167f79b2cbdb904e681716f6e6191b233dbb162438
|
||||||
https://busybox.net/downloads/binaries/1.30.0-i686 busybox_INOTIFYD
|
|
||||||
SHA-256: 3532162a8695e91a1ed9ddea28b2cb22259a90e93d5d9c4a517b6c36842c686f
|
5.2 IMG/cpio/ventoy/tool/ar
|
||||||
|
https://busybox.net/downloads/binaries/1.30.0-i686 busybox_AR
|
||||||
5.4 IMG/cpio/ventoy/busybox/ash
|
SHA-256: f29b7d81a983c0c85d22496f4a833c18f2528a1b666eb7d47c93084c1ed66ae0
|
||||||
https://busybox.net/downloads/binaries/1.27.1-i686 busybox_ASH
|
|
||||||
SHA-256: 44a6274bca580c2758ffc173fc76d18bb855b1fe8dcf70efd9ee75cbd57dee97
|
5.3 IMG/cpio/ventoy/tool/inotifyd
|
||||||
|
https://busybox.net/downloads/binaries/1.30.0-i686 busybox_INOTIFYD
|
||||||
5.5 IMG/cpio/ventoy/busybox/tmpxz
|
SHA-256: 3532162a8695e91a1ed9ddea28b2cb22259a90e93d5d9c4a517b6c36842c686f
|
||||||
https://busybox.net/downloads/binaries/1.27.1-i686 busybox_XZ
|
|
||||||
SHA-256: f6cdb6293680424c29b89bde0685ca27f455166c9b302cd6082ef90681456291
|
5.4 IMG/cpio/ventoy/busybox/ash
|
||||||
|
https://busybox.net/downloads/binaries/1.27.1-i686 busybox_ASH
|
||||||
5.6 INSTALL/tool/xzcat
|
SHA-256: 44a6274bca580c2758ffc173fc76d18bb855b1fe8dcf70efd9ee75cbd57dee97
|
||||||
https://busybox.net/downloads/binaries/1.30.0-i686/ busybox_XZCAT
|
|
||||||
SHA-256: 7399db642c2beaf52a16ab5264ffc55cfd1ff5699a524f63e5d48edf84e20f44
|
5.5 IMG/cpio/ventoy/busybox/tmpxz
|
||||||
|
https://busybox.net/downloads/binaries/1.27.1-i686 busybox_XZ
|
||||||
5.7 INSTALL/tool/hexdump
|
SHA-256: f6cdb6293680424c29b89bde0685ca27f455166c9b302cd6082ef90681456291
|
||||||
https://busybox.net/downloads/binaries/1.30.0-i686/ busybox_HEXDUMP
|
|
||||||
SHA-256: cde08b6a2cf5ad914f05203e18e3f7c2ed6060a63604e3d75536f19b55e8e0af
|
5.6 INSTALL/tool/i386/xzcat
|
||||||
|
https://busybox.net/downloads/binaries/1.30.0-i686/ busybox_XZCAT
|
||||||
5.8 imdisk
|
SHA-256: 7399db642c2beaf52a16ab5264ffc55cfd1ff5699a524f63e5d48edf84e20f44
|
||||||
download http://www.ltr-data.se/files/imdiskinst.exe and extract it by 7zip.
|
|
||||||
|
5.7 INSTALL/tool/i386/hexdump
|
||||||
INSTALL/ventoy/imdisk/64/imdisk.sys --> sys/amd64/imdisk.sys SHA-256: 6702202220268787e361f5a82dae53362c8e6c6dcd240bb01b44dd77ae0788da
|
https://busybox.net/downloads/binaries/1.30.0-i686/ busybox_HEXDUMP
|
||||||
INSTALL/ventoy/imdisk/64/imdisk.exe --> cli/amd64/imdisk.exe SHA-256: 9759175380af836869443e5f21ce2e33022125d154bc6b3d1c04dc36b190de04
|
SHA-256: cde08b6a2cf5ad914f05203e18e3f7c2ed6060a63604e3d75536f19b55e8e0af
|
||||||
INSTALL/ventoy/imdisk/64/imdisk.cpl --> cpl/amd64/imdisk.cpl SHA-256: aea2ebbea2b073c947263744962af8a3eab025ff4c9d825c543e380e738a4c99
|
|
||||||
|
5.8 imdisk
|
||||||
INSTALL/ventoy/imdisk/32/imdisk.sys --> sys/i386/imdisk.sys SHA-256: a94caec2f71a924d6a914c093ad4b905d7cfdea3f515ed48aaa8c3950b2dc191
|
download http://www.ltr-data.se/files/imdiskinst.exe and extract it by 7zip.
|
||||||
INSTALL/ventoy/imdisk/32/imdisk.exe --> cli/i386/imdisk.exe SHA-256: 33b53858e2139704cf603b115a3e5e1dfd4daeaaed4d3e03c633f2df3b55dbaa
|
|
||||||
INSTALL/ventoy/imdisk/32/imdisk.cpl --> cpl/i386/imdisk.cpl SHA-256: b781d3e2d286ac8bf548f44e50cbbb3fe78203296e41e4d2e73b407668f88f2d
|
INSTALL/ventoy/imdisk/64/imdisk.sys --> sys/amd64/imdisk.sys SHA-256: 6702202220268787e361f5a82dae53362c8e6c6dcd240bb01b44dd77ae0788da
|
||||||
|
INSTALL/ventoy/imdisk/64/imdisk.exe --> cli/amd64/imdisk.exe SHA-256: 9759175380af836869443e5f21ce2e33022125d154bc6b3d1c04dc36b190de04
|
||||||
5.9 INSTALL/ventoy/memdisk
|
INSTALL/ventoy/imdisk/64/imdisk.cpl --> cpl/amd64/imdisk.cpl SHA-256: aea2ebbea2b073c947263744962af8a3eab025ff4c9d825c543e380e738a4c99
|
||||||
https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.gz
|
|
||||||
decompress it and memdisk is at syslinux-6.03/bios/memdisk/memdisk
|
INSTALL/ventoy/imdisk/32/imdisk.sys --> sys/i386/imdisk.sys SHA-256: a94caec2f71a924d6a914c093ad4b905d7cfdea3f515ed48aaa8c3950b2dc191
|
||||||
SHA-256: 3f6cd656b8a14109cd3f906fee2dd2e75418f983a5e1bfdb64f44f7765588cbb
|
INSTALL/ventoy/imdisk/32/imdisk.exe --> cli/i386/imdisk.exe SHA-256: 33b53858e2139704cf603b115a3e5e1dfd4daeaaed4d3e03c633f2df3b55dbaa
|
||||||
|
INSTALL/ventoy/imdisk/32/imdisk.cpl --> cpl/i386/imdisk.cpl SHA-256: b781d3e2d286ac8bf548f44e50cbbb3fe78203296e41e4d2e73b407668f88f2d
|
||||||
|
|
||||||
5.10 UEFIinSecureBoot
|
5.9 INSTALL/ventoy/memdisk
|
||||||
https://github.com/ValdikSS/Super-UEFIinSecureBoot-Disk/releases Super-UEFIinSecureBoot-Disk_minimal_v3.zip
|
https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.gz
|
||||||
unzip it and get Super-UEFIinSecureBoot-Disk_minimal.img, extract the img by 7zip.
|
decompress it and memdisk is at syslinux-6.03/bios/memdisk/memdisk
|
||||||
|
SHA-256: 3f6cd656b8a14109cd3f906fee2dd2e75418f983a5e1bfdb64f44f7765588cbb
|
||||||
INSTALL/EFI/BOOT/BOOTX64.EFI --> EFI/BOOT/BOOTX64.EFI SHA-256: 475552c7476ad45e42344eee8b30d44c264d200ac2468428aa86fc8795fb6e34
|
|
||||||
INSTALL/EFI/BOOT/grubx64.efi --> EFI/BOOT/grubx64.efi SHA-256: 25d858157349dc52fa70f3cdf5c62fe1e0bae37ddfc3a6b6528af9a3c745775f
|
|
||||||
INSTALL/EFI/BOOT/MokManager.efi --> EFI/BOOT/MokManager.efi SHA-256: 3bf1f46cee0832355c7dd1dba880dea9bcaa78cc44375a1559d43bc9db18933b
|
5.10 UEFIinSecureBoot
|
||||||
|
https://github.com/ValdikSS/Super-UEFIinSecureBoot-Disk/releases Super-UEFIinSecureBoot-Disk_minimal_v3.zip
|
||||||
|
unzip it and get Super-UEFIinSecureBoot-Disk_minimal.img, extract the img by 7zip.
|
||||||
5.11 INSTALL/tool/ash
|
|
||||||
https://busybox.net/downloads/binaries/1.31.0-i686-uclibc/ busybox_ASH
|
INSTALL/EFI/BOOT/BOOTX64.EFI --> EFI/BOOT/BOOTX64.EFI SHA-256: 475552c7476ad45e42344eee8b30d44c264d200ac2468428aa86fc8795fb6e34
|
||||||
SHA-256: 2943f02f85fee0c9551aec47110a558a73f919c032b3c51e56d6f197b5ec4d7b
|
INSTALL/EFI/BOOT/grubx64.efi --> EFI/BOOT/grubx64.efi SHA-256: 25d858157349dc52fa70f3cdf5c62fe1e0bae37ddfc3a6b6528af9a3c745775f
|
||||||
|
INSTALL/EFI/BOOT/MokManager.efi --> EFI/BOOT/MokManager.efi SHA-256: 3bf1f46cee0832355c7dd1dba880dea9bcaa78cc44375a1559d43bc9db18933b
|
||||||
5.12 7za.exe
|
|
||||||
download from https://www.7-zip.org/a/7z1900-extra.7z
|
|
||||||
ISNTALL/ventoy/7z/64/7za.exe SHA-256: 8117e40ee7f824f63373a4f5625bb62749f69159d0c449b3ce2f35aad3b83549
|
5.11 INSTALL/tool/ash
|
||||||
ISNTALL/ventoy/7z/32/7za.exe SHA-256: ea308c76a2f927b160a143d94072b0dce232e04b751f0c6432a94e05164e716d
|
https://busybox.net/downloads/binaries/1.31.0-i686-uclibc/ busybox_ASH
|
||||||
|
SHA-256: 2943f02f85fee0c9551aec47110a558a73f919c032b3c51e56d6f197b5ec4d7b
|
||||||
|
|
||||||
|
5.12 7za.exe
|
||||||
|
download from https://www.7-zip.org/a/7z1900-extra.7z
|
||||||
|
ISNTALL/ventoy/7z/64/7za.exe SHA-256: 8117e40ee7f824f63373a4f5625bb62749f69159d0c449b3ce2f35aad3b83549
|
||||||
|
ISNTALL/ventoy/7z/32/7za.exe SHA-256: ea308c76a2f927b160a143d94072b0dce232e04b751f0c6432a94e05164e716d
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,81 +1,81 @@
|
|||||||
#************************************************************************************
|
#************************************************************************************
|
||||||
# Copyright (c) 2020, longpanda <admin@ventoy.net>
|
# Copyright (c) 2020, longpanda <admin@ventoy.net>
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License as
|
# modify it under the terms of the GNU General Public License as
|
||||||
# published by the Free Software Foundation; either version 3 of the
|
# published by the Free Software Foundation; either version 3 of the
|
||||||
# License, or (at your option) any later version.
|
# License, or (at your option) any later version.
|
||||||
#
|
#
|
||||||
# This program is distributed in the hope that it will be useful, but
|
# This program is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
# General Public License for more details.
|
# General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
#************************************************************************************
|
#************************************************************************************
|
||||||
|
|
||||||
[Defines]
|
[Defines]
|
||||||
INF_VERSION = 0x00010005
|
INF_VERSION = 0x00010005
|
||||||
BASE_NAME = Ventoy
|
BASE_NAME = Ventoy
|
||||||
FILE_GUID = 1c3a0915-09dc-49c2-873d-0aaaa7733299
|
FILE_GUID = 1c3a0915-09dc-49c2-873d-0aaaa7733299
|
||||||
MODULE_TYPE = UEFI_APPLICATION
|
MODULE_TYPE = UEFI_APPLICATION
|
||||||
VERSION_STRING = 1.0
|
VERSION_STRING = 1.0
|
||||||
ENTRY_POINT = VentoyEfiMain
|
ENTRY_POINT = VentoyEfiMain
|
||||||
|
|
||||||
|
|
||||||
[Sources]
|
[Sources]
|
||||||
Ventoy.h
|
Ventoy.h
|
||||||
Ventoy.c
|
Ventoy.c
|
||||||
VentoyDebug.c
|
VentoyDebug.c
|
||||||
VentoyProtocol.c
|
VentoyProtocol.c
|
||||||
|
|
||||||
[Packages]
|
[Packages]
|
||||||
MdePkg/MdePkg.dec
|
MdePkg/MdePkg.dec
|
||||||
MdeModulePkg/MdeModulePkg.dec
|
MdeModulePkg/MdeModulePkg.dec
|
||||||
ShellPkg/ShellPkg.dec
|
ShellPkg/ShellPkg.dec
|
||||||
|
|
||||||
[LibraryClasses]
|
[LibraryClasses]
|
||||||
UefiApplicationEntryPoint
|
UefiApplicationEntryPoint
|
||||||
UefiLib
|
UefiLib
|
||||||
DebugLib
|
DebugLib
|
||||||
|
|
||||||
[Guids]
|
[Guids]
|
||||||
gShellVariableGuid
|
gShellVariableGuid
|
||||||
gEfiVirtualCdGuid
|
gEfiVirtualCdGuid
|
||||||
gEfiFileInfoGuid
|
gEfiFileInfoGuid
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiLoadedImageProtocolGuid
|
gEfiLoadedImageProtocolGuid
|
||||||
gEfiBlockIoProtocolGuid
|
gEfiBlockIoProtocolGuid
|
||||||
gEfiDevicePathProtocolGuid
|
gEfiDevicePathProtocolGuid
|
||||||
gEfiSimpleFileSystemProtocolGuid
|
gEfiSimpleFileSystemProtocolGuid
|
||||||
gEfiRamDiskProtocolGuid
|
gEfiRamDiskProtocolGuid
|
||||||
gEfiAbsolutePointerProtocolGuid
|
gEfiAbsolutePointerProtocolGuid
|
||||||
gEfiAcpiTableProtocolGuid
|
gEfiAcpiTableProtocolGuid
|
||||||
gEfiBlockIo2ProtocolGuid
|
gEfiBlockIo2ProtocolGuid
|
||||||
gEfiBusSpecificDriverOverrideProtocolGuid
|
gEfiBusSpecificDriverOverrideProtocolGuid
|
||||||
gEfiComponentNameProtocolGuid
|
gEfiComponentNameProtocolGuid
|
||||||
gEfiComponentName2ProtocolGuid
|
gEfiComponentName2ProtocolGuid
|
||||||
gEfiDriverBindingProtocolGuid
|
gEfiDriverBindingProtocolGuid
|
||||||
gEfiDiskIoProtocolGuid
|
gEfiDiskIoProtocolGuid
|
||||||
gEfiDiskIo2ProtocolGuid
|
gEfiDiskIo2ProtocolGuid
|
||||||
gEfiGraphicsOutputProtocolGuid
|
gEfiGraphicsOutputProtocolGuid
|
||||||
gEfiHiiConfigAccessProtocolGuid
|
gEfiHiiConfigAccessProtocolGuid
|
||||||
gEfiHiiFontProtocolGuid
|
gEfiHiiFontProtocolGuid
|
||||||
gEfiLoadFileProtocolGuid
|
gEfiLoadFileProtocolGuid
|
||||||
gEfiLoadFile2ProtocolGuid
|
gEfiLoadFile2ProtocolGuid
|
||||||
gEfiLoadedImageProtocolGuid
|
gEfiLoadedImageProtocolGuid
|
||||||
gEfiLoadedImageDevicePathProtocolGuid
|
gEfiLoadedImageDevicePathProtocolGuid
|
||||||
gEfiPciIoProtocolGuid
|
gEfiPciIoProtocolGuid
|
||||||
gEfiSerialIoProtocolGuid
|
gEfiSerialIoProtocolGuid
|
||||||
gEfiSimpleTextInProtocolGuid
|
gEfiSimpleTextInProtocolGuid
|
||||||
gEfiSimpleTextInputExProtocolGuid
|
gEfiSimpleTextInputExProtocolGuid
|
||||||
gEfiSimpleTextOutProtocolGuid
|
gEfiSimpleTextOutProtocolGuid
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
CUR="$PWD"
|
||||||
|
|
||||||
|
if ! [ -e LIBFUSE ]; then
|
||||||
|
./buidlibfuse.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f EXFAT/shared/*
|
||||||
|
|
||||||
|
|
||||||
|
rm -rf exfat-1.3.0
|
||||||
|
unzip exfat-1.3.0.zip
|
||||||
|
sed "/printf.*VERSION/a\ if (access(\"/etc/initrd-release\", F_OK) >= 0) argv[0][0] = '@';" -i exfat-1.3.0/fuse/main.c
|
||||||
|
|
||||||
|
cd exfat-1.3.0
|
||||||
|
autoreconf --install
|
||||||
|
./configure --prefix="$CUR" CFLAGS='-O2 -D_FILE_OFFSET_BITS=64' FUSE_CFLAGS="-I$CUR/LIBFUSE/include/" FUSE_LIBS="$CUR/LIBFUSE/lib/libfuse.a -lpthread -ldl"
|
||||||
|
make
|
||||||
|
|
||||||
|
strip --strip-all fuse/mount.exfat-fuse
|
||||||
|
strip --strip-all mkfs/mkexfatfs
|
||||||
|
|
||||||
|
cp fuse/mount.exfat-fuse ../EXFAT/shared/mount.exfat-fuse
|
||||||
|
cp mkfs/mkexfatfs ../EXFAT/shared/mkexfatfs
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
rm -rf exfat-1.3.0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
CUR="$PWD"
|
||||||
|
|
||||||
|
rm -rf libfuse
|
||||||
|
rm -rf LIBFUSE
|
||||||
|
|
||||||
|
if [ -e mirrors-libfuse-fuse-2.9.9.zip ]; then
|
||||||
|
unzip mirrors-libfuse-fuse-2.9.9.zip
|
||||||
|
cd libfuse
|
||||||
|
else
|
||||||
|
unzip libfuse-fuse-2.9.9.zip
|
||||||
|
cd libfuse-fuse-2.9.9
|
||||||
|
fi
|
||||||
|
|
||||||
|
./makeconf.sh
|
||||||
|
|
||||||
|
./configure --prefix="$CUR/LIBFUSE"
|
||||||
|
|
||||||
|
sed '/#define *__u64/d' -i include/fuse_kernel.h
|
||||||
|
sed '/#define *__s64/d' -i include/fuse_kernel.h
|
||||||
|
|
||||||
|
sed 's/__u64/uint64_t/g' -i include/fuse_kernel.h
|
||||||
|
sed 's/__s64/int64_t/g' -i include/fuse_kernel.h
|
||||||
|
|
||||||
|
make -j 16
|
||||||
|
make install
|
||||||
|
cd ..
|
||||||
|
rm -rf libfuse
|
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
CUR="$PWD"
|
||||||
|
|
||||||
|
LIBFUSE_DIR=$CUR/LIBFUSE
|
||||||
|
|
||||||
|
name=vtoy_fuse_iso_aa64
|
||||||
|
|
||||||
|
export C_INCLUDE_PATH=$LIBFUSE_DIR/include
|
||||||
|
|
||||||
|
rm -f $name
|
||||||
|
aarch64-buildroot-linux-uclibc-gcc -static -O2 -D_FILE_OFFSET_BITS=64 vtoy_fuse_iso.c -o $name $LIBFUSE_DIR/lib/libfuse.a
|
||||||
|
|
||||||
|
if [ -e $name ]; then
|
||||||
|
echo -e "\n############### SUCCESS $name ##################\n"
|
||||||
|
else
|
||||||
|
echo -e "\n############### FAILED $name ##################\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
aarch64-buildroot-linux-uclibc-strip --strip-all $name
|
||||||
|
|
@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Package Dependency:
|
||||||
|
# gcc automake autoconf gettext gettext-devel libtool unzip
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
CUR="$PWD"
|
||||||
|
LIBFUSE_DIR=$CUR/LIBFUSE
|
||||||
|
|
||||||
|
rm -rf libfuse
|
||||||
|
rm -rf $LIBFUSE_DIR
|
||||||
|
|
||||||
|
# please download https://codeload.github.com/libfuse/libfuse/zip/fuse-2.9.9
|
||||||
|
if [ -e ../ExFAT/mirrors-libfuse-fuse-2.9.9.zip ]; then
|
||||||
|
rm -rf libfuse
|
||||||
|
unzip ../ExFAT/mirrors-libfuse-fuse-2.9.9.zip
|
||||||
|
cd libfuse
|
||||||
|
elif [ -e ../ExFAT/libfuse-fuse-2.9.9.zip ]; then
|
||||||
|
rm -rf libfuse-fuse-2.9.9
|
||||||
|
unzip ../ExFAT/libfuse-fuse-2.9.9.zip
|
||||||
|
cd libfuse-fuse-2.9.9
|
||||||
|
else
|
||||||
|
echo "Please download mirrors-libfuse-fuse-2.9.9.zip first"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
./makeconf.sh
|
||||||
|
|
||||||
|
sed '/#define *__u64/d' -i include/fuse_kernel.h
|
||||||
|
sed '/#define *__s64/d' -i include/fuse_kernel.h
|
||||||
|
|
||||||
|
sed 's/__u64/uint64_t/g' -i include/fuse_kernel.h
|
||||||
|
sed 's/__s64/int64_t/g' -i include/fuse_kernel.h
|
||||||
|
|
||||||
|
./configure --prefix="$LIBFUSE_DIR" --host=aarch64 CC=aarch64-buildroot-linux-uclibc-gcc
|
||||||
|
|
||||||
|
|
||||||
|
make -j 16
|
||||||
|
make install
|
||||||
|
cd ..
|
||||||
|
rm -rf libfuse
|
Binary file not shown.
@ -1,14 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
/opt/diet32/bin/diet gcc -Os -m32 vtoy_gen_uuid.c -o vtoy_gen_uuid
|
|
||||||
|
|
||||||
if [ -e vtoy_gen_uuid ]; then
|
|
||||||
echo -e '\n############### SUCCESS ###############\n'
|
|
||||||
|
|
||||||
rm -f ../INSTALL/tool/vtoy_gen_uuid
|
|
||||||
cp -a vtoy_gen_uuid ../INSTALL/tool/vtoy_gen_uuid
|
|
||||||
else
|
|
||||||
echo -e '\n############### FAILED ################\n'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
|||||||
/******************************************************************************
|
|
||||||
* vtoy_gen_uuid.c
|
|
||||||
*
|
|
||||||
* Copyright (c) 2020, longpanda <admin@ventoy.net>
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License as
|
|
||||||
* published by the Free Software Foundation; either version 3 of the
|
|
||||||
* License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
int fd;
|
|
||||||
unsigned char uuid[16];
|
|
||||||
|
|
||||||
fd = open("/dev/random", O_RDONLY);
|
|
||||||
if (fd < 0)
|
|
||||||
{
|
|
||||||
srand(time(NULL));
|
|
||||||
for (i = 0; i < 16; i++)
|
|
||||||
{
|
|
||||||
uuid[i] = (unsigned char)(rand());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
read(fd, uuid, 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
fwrite(uuid, 1, 16, stdout);
|
|
||||||
return 0;
|
|
||||||
}
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,68 @@
|
|||||||
|
#!/ventoy/busybox/sh
|
||||||
|
#************************************************************************************
|
||||||
|
# Copyright (c) 2020, longpanda <admin@ventoy.net>
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation; either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
#************************************************************************************
|
||||||
|
|
||||||
|
. /ventoy/hook/ventoy-hook-lib.sh
|
||||||
|
|
||||||
|
VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
|
||||||
|
|
||||||
|
|
||||||
|
ventoy_os_install_dmsetup_by_fuse() {
|
||||||
|
vtlog "ventoy_os_install_dmsetup_by_fuse $*"
|
||||||
|
|
||||||
|
mkdir -p $VTOY_PATH/mnt/fuse $VTOY_PATH/mnt/iso $VTOY_PATH/mnt/squashfs
|
||||||
|
|
||||||
|
vtoydm -p -f $VTOY_PATH/ventoy_image_map -d $1 > $VTOY_PATH/ventoy_dm_table
|
||||||
|
vtoy_fuse_iso -f $VTOY_PATH/ventoy_dm_table -m $VTOY_PATH/mnt/fuse
|
||||||
|
|
||||||
|
mount -t iso9660 $VTOY_PATH/mnt/fuse/ventoy.iso $VTOY_PATH/mnt/iso
|
||||||
|
|
||||||
|
sfsfile=$VTOY_PATH/mnt/iso/casper/filesystem.squashfs
|
||||||
|
|
||||||
|
mount -t squashfs $sfsfile $VTOY_PATH/mnt/squashfs
|
||||||
|
|
||||||
|
kVer=$(uname -r)
|
||||||
|
KoName=$(ls $VTOY_PATH/mnt/squashfs/lib/modules/$kVer/kernel/drivers/md/dm-mod.ko*)
|
||||||
|
vtlog "insmod $KoName"
|
||||||
|
insmod $KoName
|
||||||
|
|
||||||
|
umount $VTOY_PATH/mnt/squashfs
|
||||||
|
umount $VTOY_PATH/mnt/iso
|
||||||
|
umount $VTOY_PATH/mnt/fuse
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
wait_for_usb_disk_ready
|
||||||
|
|
||||||
|
vtdiskname=$(get_ventoy_disk_name)
|
||||||
|
if [ "$vtdiskname" = "unknown" ]; then
|
||||||
|
vtlog "ventoy disk not found"
|
||||||
|
PATH=$VTPATH_OLD
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! grep -q 'device-mapper' /proc/devices; then
|
||||||
|
ventoy_os_install_dmsetup_by_fuse $vtdiskname
|
||||||
|
fi
|
||||||
|
|
||||||
|
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
|
||||||
|
|
||||||
|
PATH=$VTPATH_OLD
|
||||||
|
|
||||||
|
# OK finish
|
||||||
|
set_ventoy_hook_finish
|
@ -0,0 +1,26 @@
|
|||||||
|
#!/ventoy/busybox/sh
|
||||||
|
#************************************************************************************
|
||||||
|
# Copyright (c) 2020, longpanda <admin@ventoy.net>
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation; either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
#************************************************************************************
|
||||||
|
|
||||||
|
if [ -e /init ] && $GREP -q '^mountroot$' /init; then
|
||||||
|
echo "Here before mountroot ..." >> $VTLOG
|
||||||
|
|
||||||
|
$SED "/^mountroot$/i\\$BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/kylin-disk.sh" -i /init
|
||||||
|
$SED "/^mountroot$/i\\export LIVEMEDIA=/dev/mapper/ventoy" -i /init
|
||||||
|
$SED "/^mountroot$/i\\export LIVE_MEDIA=/dev/mapper/ventoy" -i /init
|
||||||
|
fi
|
@ -0,0 +1,38 @@
|
|||||||
|
#!/ventoy/busybox/sh
|
||||||
|
#************************************************************************************
|
||||||
|
# Copyright (c) 2020, longpanda <admin@ventoy.net>
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation; either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
#************************************************************************************
|
||||||
|
|
||||||
|
. /ventoy/hook/ventoy-hook-lib.sh
|
||||||
|
|
||||||
|
VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
|
||||||
|
|
||||||
|
wait_for_usb_disk_ready
|
||||||
|
vtdiskname=$(get_ventoy_disk_name)
|
||||||
|
if [ "$vtdiskname" = "unknown" ]; then
|
||||||
|
vtlog "ventoy disk not found"
|
||||||
|
PATH=$VTPATH_OLD
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
|
||||||
|
|
||||||
|
blkdev_num=$($VTOY_PATH/tool/dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1:\2/')
|
||||||
|
vtDM=$(ventoy_find_dm_id ${blkdev_num})
|
||||||
|
echo -n "/dev/$vtDM" > /ventoy/rootdev
|
||||||
|
|
||||||
|
PATH=$VTPATH_OLD
|
@ -0,0 +1,25 @@
|
|||||||
|
#!/ventoy/busybox/sh
|
||||||
|
#************************************************************************************
|
||||||
|
# Copyright (c) 2020, longpanda <admin@ventoy.net>
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation; either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
#************************************************************************************
|
||||||
|
|
||||||
|
. $VTOY_PATH/hook/ventoy-os-lib.sh
|
||||||
|
|
||||||
|
$BUSYBOX_PATH/mkdir /dev
|
||||||
|
|
||||||
|
$SED '/Detecting *PrimeOS/a\ ROOT=$(cat /ventoy/rootdev)' -i /init
|
||||||
|
$SED "/Detecting *PrimeOS/a\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/primeos/ventoy-disk.sh" -i /init
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,136 @@
|
|||||||
|
*acpi: acpi
|
||||||
|
*all_functional_test: functional_test
|
||||||
|
*background_image: gfxterm_background
|
||||||
|
*bls_import: blscfg
|
||||||
|
*blscfg: blscfg
|
||||||
|
*cat: cat
|
||||||
|
*crc: hashsum
|
||||||
|
*cryptomount: cryptodisk
|
||||||
|
*echo: echo
|
||||||
|
*extract_syslinux_entries_configfile: syslinuxcfg
|
||||||
|
*extract_syslinux_entries_source: syslinuxcfg
|
||||||
|
*file: file
|
||||||
|
*functional_test: functional_test
|
||||||
|
*gettext: gettext
|
||||||
|
*hashsum: hashsum
|
||||||
|
*hello: hello
|
||||||
|
*help: help
|
||||||
|
*hexdump: hexdump
|
||||||
|
*keystatus: keystatus
|
||||||
|
*list_env: loadenv
|
||||||
|
*load_env: loadenv
|
||||||
|
*loopback: loopback
|
||||||
|
*ls: ls
|
||||||
|
*lsacpi: lsacpi
|
||||||
|
*md5sum: hashsum
|
||||||
|
*menuentry: normal
|
||||||
|
*probe: probe
|
||||||
|
*read_byte: memrw
|
||||||
|
*read_dword: memrw
|
||||||
|
*read_word: memrw
|
||||||
|
*regexp: regexp
|
||||||
|
*save_env: loadenv
|
||||||
|
*search: search
|
||||||
|
*serial: serial
|
||||||
|
*sha1sum: hashsum
|
||||||
|
*sha256sum: hashsum
|
||||||
|
*sha512sum: hashsum
|
||||||
|
*sleep: sleep
|
||||||
|
*submenu: normal
|
||||||
|
*syslinux_configfile: syslinuxcfg
|
||||||
|
*syslinux_source: syslinuxcfg
|
||||||
|
*terminfo: terminfo
|
||||||
|
*test_blockarg: test_blockarg
|
||||||
|
*testspeed: testspeed
|
||||||
|
*tr: tr
|
||||||
|
*trust: pgp
|
||||||
|
*verify_detached: pgp
|
||||||
|
*zfskey: zfscrypt
|
||||||
|
.: configfile
|
||||||
|
[: test
|
||||||
|
authenticate: normal
|
||||||
|
background_color: gfxterm_background
|
||||||
|
badram: mmap
|
||||||
|
blocklist: blocklist
|
||||||
|
boot: boot
|
||||||
|
break: normal
|
||||||
|
cat: minicmd
|
||||||
|
chainloader: chain
|
||||||
|
clear: normal
|
||||||
|
cmp: cmp
|
||||||
|
configfile: configfile
|
||||||
|
continue: normal
|
||||||
|
cutmem: mmap
|
||||||
|
date: date
|
||||||
|
devicetree: fdt
|
||||||
|
distrust: pgp
|
||||||
|
dump: minicmd
|
||||||
|
eval: eval
|
||||||
|
exit: minicmd
|
||||||
|
export: normal
|
||||||
|
extract_entries_configfile: configfile
|
||||||
|
extract_entries_source: configfile
|
||||||
|
false: true
|
||||||
|
fwsetup: efifwsetup
|
||||||
|
gptsync: gptsync
|
||||||
|
halt: halt
|
||||||
|
help: minicmd
|
||||||
|
initrd: linux
|
||||||
|
linux: linux
|
||||||
|
list_trusted: pgp
|
||||||
|
loadfont: font
|
||||||
|
lsefi: lsefi
|
||||||
|
lsefimmap: lsefimmap
|
||||||
|
lsefisystab: lsefisystab
|
||||||
|
lsfonts: font
|
||||||
|
lsmmap: lsmmap
|
||||||
|
lsmod: minicmd
|
||||||
|
lssal: lssal
|
||||||
|
macppcbless: macbless
|
||||||
|
mactelbless: macbless
|
||||||
|
net_add_addr: net
|
||||||
|
net_add_dns: net
|
||||||
|
net_add_route: net
|
||||||
|
net_bootp: net
|
||||||
|
net_del_addr: net
|
||||||
|
net_del_dns: net
|
||||||
|
net_del_route: net
|
||||||
|
net_dhcp: net
|
||||||
|
net_get_dhcp_option: net
|
||||||
|
net_ipv6_autoconf: net
|
||||||
|
net_ls_addr: net
|
||||||
|
net_ls_cards: net
|
||||||
|
net_ls_dns: net
|
||||||
|
net_ls_routes: net
|
||||||
|
net_nslookup: net
|
||||||
|
normal: normal
|
||||||
|
normal_exit: normal
|
||||||
|
parttool: parttool
|
||||||
|
password: password
|
||||||
|
password_pbkdf2: password_pbkdf2
|
||||||
|
read: read
|
||||||
|
reboot: reboot
|
||||||
|
return: normal
|
||||||
|
rmmod: minicmd
|
||||||
|
search.file: search_fs_file
|
||||||
|
search.fs_label: search_label
|
||||||
|
search.fs_uuid: search_fs_uuid
|
||||||
|
setparams: normal
|
||||||
|
shift: normal
|
||||||
|
source: configfile
|
||||||
|
terminal_input: terminal
|
||||||
|
terminal_output: terminal
|
||||||
|
test: test
|
||||||
|
testload: testload
|
||||||
|
time: time
|
||||||
|
true: true
|
||||||
|
videoinfo: videoinfo
|
||||||
|
videotest: videotest
|
||||||
|
write_byte: memrw
|
||||||
|
write_dword: memrw
|
||||||
|
write_word: memrw
|
||||||
|
xen_hypervisor: xen_boot
|
||||||
|
xen_module: xen_boot
|
||||||
|
xnu_uuid: xnu_uuid
|
||||||
|
zfs-bootfs: zfsinfo
|
||||||
|
zfsinfo: zfsinfo
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,45 @@
|
|||||||
|
RIJNDAEL: gcry_rijndael
|
||||||
|
RIJNDAEL192: gcry_rijndael
|
||||||
|
RIJNDAEL256: gcry_rijndael
|
||||||
|
AES128: gcry_rijndael
|
||||||
|
AES-128: gcry_rijndael
|
||||||
|
AES-192: gcry_rijndael
|
||||||
|
AES-256: gcry_rijndael
|
||||||
|
ADLER32: adler32
|
||||||
|
CRC64: crc64
|
||||||
|
ARCFOUR: gcry_arcfour
|
||||||
|
BLOWFISH: gcry_blowfish
|
||||||
|
CAMELLIA128: gcry_camellia
|
||||||
|
CAMELLIA192: gcry_camellia
|
||||||
|
CAMELLIA256: gcry_camellia
|
||||||
|
CAST5: gcry_cast5
|
||||||
|
CRC32: gcry_crc
|
||||||
|
CRC32RFC1510: gcry_crc
|
||||||
|
CRC24RFC2440: gcry_crc
|
||||||
|
DES: gcry_des
|
||||||
|
3DES: gcry_des
|
||||||
|
DSA: gcry_dsa
|
||||||
|
IDEA: gcry_idea
|
||||||
|
MD4: gcry_md4
|
||||||
|
MD5: gcry_md5
|
||||||
|
RFC2268_40: gcry_rfc2268
|
||||||
|
AES: gcry_rijndael
|
||||||
|
AES192: gcry_rijndael
|
||||||
|
AES256: gcry_rijndael
|
||||||
|
RIPEMD160: gcry_rmd160
|
||||||
|
RSA: gcry_rsa
|
||||||
|
SEED: gcry_seed
|
||||||
|
SERPENT128: gcry_serpent
|
||||||
|
SERPENT192: gcry_serpent
|
||||||
|
SERPENT256: gcry_serpent
|
||||||
|
SHA1: gcry_sha1
|
||||||
|
SHA224: gcry_sha256
|
||||||
|
SHA256: gcry_sha256
|
||||||
|
SHA512: gcry_sha512
|
||||||
|
SHA384: gcry_sha512
|
||||||
|
TIGER192: gcry_tiger
|
||||||
|
TIGER: gcry_tiger
|
||||||
|
TIGER2: gcry_tiger
|
||||||
|
TWOFISH: gcry_twofish
|
||||||
|
TWOFISH128: gcry_twofish
|
||||||
|
WHIRLPOOL: gcry_whirlpool
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,37 @@
|
|||||||
|
affs
|
||||||
|
afs
|
||||||
|
bfs
|
||||||
|
btrfs
|
||||||
|
cbfs
|
||||||
|
cpio
|
||||||
|
cpio_be
|
||||||
|
exfat
|
||||||
|
ext2
|
||||||
|
f2fs
|
||||||
|
fat
|
||||||
|
hfs
|
||||||
|
hfsplus
|
||||||
|
iso9660
|
||||||
|
jfs
|
||||||
|
minix
|
||||||
|
minix2
|
||||||
|
minix2_be
|
||||||
|
minix3
|
||||||
|
minix3_be
|
||||||
|
minix_be
|
||||||
|
newc
|
||||||
|
nilfs2
|
||||||
|
ntfs
|
||||||
|
odc
|
||||||
|
procfs
|
||||||
|
reiserfs
|
||||||
|
romfs
|
||||||
|
sfs
|
||||||
|
squash4
|
||||||
|
tar
|
||||||
|
udf
|
||||||
|
ufs1
|
||||||
|
ufs1_be
|
||||||
|
ufs2
|
||||||
|
xfs
|
||||||
|
zfs
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue