Skip to content

Commit 92de327

Browse files
Merge branch 'Mexit:master' into master
2 parents 85dff89 + f7a382a commit 92de327

9 files changed

Lines changed: 578 additions & 19 deletions

File tree

.github/workflows/build_image.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ jobs:
1616
run: echo "ver=$(git log -1 --pretty=format:"%h")" >> "$GITHUB_ENV"
1717

1818
- name: Linux Release
19-
run: git archive --prefix=MultiOS-USB_$ver/ -o MultiOS-USB_linux_$ver.tar.gz $ver
19+
run: |
20+
git archive --prefix=MultiOS-USB_$ver/ -o MultiOS-USB_linux_$ver.tar $ver
21+
tar --delete --wildcards -f MultiOS-USB_linux_$ver.tar '*/docs/README_image' '*/docs/README_uefi' '*/install.bat' '*/install.ps1'
22+
gzip MultiOS-USB_linux_$ver.tar
2023
2124
- name: Windows Release
2225
run: |
@@ -28,21 +31,28 @@ jobs:
2831
fallocate $tmp_imageName -l $tmp_imageSize
2932
dev=$(sudo losetup -f -P --show $tmp_imageName)
3033
echo "YeS" | sudo ./multios-usb.sh -f fat32 $dev
31-
mkdir part_data && sudo mount ${dev}p2 part_data
32-
(cd part_data && sudo zip -r ../files.zip *)
34+
mkdir part_1 part_2
35+
sudo mount ${dev}p1 part_1
36+
sudo mount ${dev}p2 part_2
37+
sudo rm part_2/MultiOS-USB/install.log
38+
mv docs/README_uefi INSTALL.txt
39+
sudo zip -r MultiOS-USB_uefi_$ver.zip part_1 part_2 INSTALL.txt install.bat install.ps1 README.md -x "part_1/grub/i386-pc/*"
40+
(cd part_2 && sudo zip -r ../files.zip *)
41+
sudo umount ${dev}p1
3342
sudo umount ${dev}p2
3443
sudo dd if=$dev of=$imageName bs=1M count=$imageSize
3544
sudo sgdisk -d 2 $imageName
3645
mv docs/README_image README.txt
3746
sudo zip MultiOS-USB_windows_image_$ver.zip $imageName files.zip README.txt
3847
3948
- name: Generate SHA256SUM
40-
run: sha256sum MultiOS-USB_windows_image_*.zip MultiOS-USB_linux_*.tar.gz > sha256sums.txt
49+
run: sha256sum MultiOS-USB_windows_image_*.zip MultiOS-USB_uefi_*.zip MultiOS-USB_linux_*.tar.gz > sha256sums.txt
4150

4251
- uses: actions/upload-artifact@v7
4352
with:
4453
name: MultiOS-USB_images_${{ env.ver }}
4554
path: |
4655
MultiOS-USB_windows_image_*.zip
56+
MultiOS-USB_uefi_*.zip
4757
MultiOS-USB_linux_*.tar.gz
4858
sha256sums.txt

.github/workflows/release.yml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ jobs:
1414
fetch-depth: 0
1515

1616
- name: Linux Release
17-
run: git archive --prefix=MultiOS-USB_${{ github.ref_name }}/ -o MultiOS-USB_linux_${{ github.ref_name }}.tar.gz ${{ github.ref_name }}
17+
run: |
18+
git archive --prefix=MultiOS-USB_${{ github.ref_name }}/ -o MultiOS-USB_linux_${{ github.ref_name }}.tar ${{ github.ref_name }}
19+
tar --delete --wildcards -f MultiOS-USB_linux_${{ github.ref_name }}.tar '*/docs/README_image' '*/docs/README_uefi' '*/install.bat' '*/install.ps1'
20+
gzip MultiOS-USB_linux_${{ github.ref_name }}.tar
1821
1922
- name: Windows Release
2023
run: |
@@ -26,16 +29,22 @@ jobs:
2629
fallocate $tmp_imageName -l $tmp_imageSize
2730
dev=$(sudo losetup -f -P --show $tmp_imageName)
2831
echo "YeS" | sudo ./multios-usb.sh -f fat32 $dev
29-
mkdir part_data && sudo mount ${dev}p2 part_data
30-
(cd part_data && sudo zip -r ../files.zip *)
32+
mkdir part_1 part_2
33+
sudo mount ${dev}p1 part_1
34+
sudo mount ${dev}p2 part_2
35+
sudo rm part_2/MultiOS-USB/install.log
36+
mv docs/README_uefi INSTALL.txt
37+
sudo zip -r MultiOS-USB_uefi_${{ github.ref_name }}.zip part_1 part_2 INSTALL.txt install.bat install.ps1 README.md -x "part_1/grub/i386-pc/*"
38+
(cd part_2 && sudo zip -r ../files.zip *)
39+
sudo umount ${dev}p1
3140
sudo umount ${dev}p2
3241
sudo dd if=$dev of=$imageName bs=1M count=$imageSize
3342
sudo sgdisk -d 2 $imageName
3443
mv docs/README_image README.txt
3544
sudo zip MultiOS-USB_windows_image_${{ github.ref_name }}.zip $imageName files.zip README.txt
3645
3746
- name: Generate SHA256SUM
38-
run: sha256sum MultiOS-USB_windows_image_*.zip MultiOS-USB_linux_*.tar.gz > sha256sums.txt
47+
run: sha256sum MultiOS-USB_windows_image_*.zip MultiOS-USB_uefi_*.zip MultiOS-USB_linux_*.tar.gz > sha256sums.txt
3948

4049
- name: Release
4150
env:
@@ -52,4 +61,4 @@ jobs:
5261
--verify-tag \
5362
--latest \
5463
--notes-file notes.txt \
55-
MultiOS-USB_windows_image_*.zip MultiOS-USB_linux_*.tar.gz sha256sums.txt
64+
MultiOS-USB_windows_image_*.zip MultiOS-USB_uefi_*.zip MultiOS-USB_linux_*.tar.gz sha256sums.txt

README.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ makepkg -si
7070

7171
**From GitHub - Linux console**
7272

73-
Go to [Releases](https://github.com/Mexit/MultiOS-USB/releases), download the latest version and unpack the downloaded archive.
73+
Go to [Releases](../../releases/latest), download and unpack the downloaded archive.
7474

7575
Check and install the required packages (in most cases they should be installed by default):
7676
- tar, bzip2, xz
@@ -91,10 +91,13 @@ For example:
9191
sudo ./multios-usb.sh /dev/sdX
9292
```
9393

94-
**From GitHub - image based installation (experimental)**
94+
**From GitHub - PowerShell installer or manual installation (UEFI only)**
9595

96-
Recommended installation method for Windows. Go to [Releases](https://github.com/Mexit/MultiOS-USB/releases) and download the appropriate file.
97-
Installation details can be found [here](docs/README_image) and in the downloaded archive.
96+
Recommended installation method for Windows. Installation details can be found [here](docs/README_uefi) and in the downloaded [archive](../../releases/latest).
97+
98+
**From GitHub - Windows: image based installation (BIOS + UEFI - experimental)**
99+
100+
Required external tools. Installation details can be found [here](docs/README_image) and in the downloaded [archive](../../releases/latest).
98101

99102
## First use
100103

config/grub.config

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -206,10 +206,10 @@ if [ "${grub_platform}" == "efi" ]; then
206206
submenu "EFI User Tools -->" {
207207
set found=0
208208

209-
for efifile in /MultiOS-USB/tools/*.efi; do
209+
for efifile in /MultiOS-USB/tools_priv/*.efi; do
210210
if [ -f "$efifile" ]; then
211211
set found=1
212-
regexp --set=efiname "/MultiOS-USB/tools/(.*)" "$efifile"
212+
regexp --set=efiname "/MultiOS-USB/tools_priv/(.*)" "$efifile"
213213

214214
menuentry --class=efi "$efiname" "$efifile" {
215215
chainloader "${2}"
@@ -218,8 +218,8 @@ if [ "${grub_platform}" == "efi" ]; then
218218
done
219219

220220
if [ "$found" = "0" ]; then
221-
menuentry "(!) No .efi files found — place them in /MultiOS-USB/tools/" --class=warning {
222-
echo "No EFI files found in /MultiOS-USB/tools/"
221+
menuentry "(!) No .efi files found — place them in /MultiOS-USB/tools_priv/" --class=warning {
222+
echo "No EFI files found in /MultiOS-USB/tools_priv/"
223223
echo "Copy your .efi files to that folder and reboot."
224224
sleep 5
225225
}

docs/README_image

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Installation steps
1010
2) Use Windows+R to open Run, type diskmgmt.msc and press Enter
1111
3) Right click on the unallocated space on your USB and select New Simple Volume
1212
- select size: as you wish, maximum?
13-
- Filesystem: fat32
13+
- Filesystem: exfat
1414
- Volume label: MultiOS-USB
1515
4) Unpack 'files.zip' to the newly created disk
1616
5) Copy your ISO files, and boot computer from USB

docs/README_uefi

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
Download the UEFI archive and extract it to the disk.
2+
3+
You can perform the installation in one of the following ways:
4+
5+
- Using the attached .bat file — simply double-click it
6+
7+
- Using the included PowerShell installer:
8+
9+
1. Open PowerShell as Administrator.
10+
2. Navigate to the folder where the downloaded file is located:
11+
12+
cd "C:\Path\To\Folder"
13+
14+
3. Run the script:
15+
16+
powershell -ExecutionPolicy Bypass -File .\install.ps1
17+
18+
or for PowerShell 7:
19+
20+
pwsh -ExecutionPolicy Bypass -File .\install.ps1
21+
22+
If prompted by Windows, confirm that you want to run the script.
23+
24+
- Manually create partitions (for advanced users):
25+
26+
1. Create the partitions (Microsoft basic data) on a GPT-formatted disk (MBR may work, but it has not been tested):
27+
28+
Partition 1: Name: MultiOS-EFI, File System: FAT, Size: 25 MB, Attribute flags: 0x8000000000000001
29+
Partition 2: Name: MultiOS-USB, File System: exFAT, Size: as large as you want
30+
31+
2. Copy the contents of the attached folders to the corresponding partitions.

install.bat

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
@echo off
2+
net session >nul 2>&1
3+
if %errorLevel% == 0 (
4+
goto :run
5+
) else (
6+
powershell -Command "Start-Process '%~f0' -Verb RunAs"
7+
exit /b
8+
)
9+
10+
:run
11+
powershell -ExecutionPolicy Bypass -File "%~dp0install.ps1"
12+
pause

0 commit comments

Comments
 (0)