From 38b73de7df500017f6f1564a047e4197ba258747 Mon Sep 17 00:00:00 2001 From: zyb Date: Mon, 24 Jun 2024 17:59:14 +0800 Subject: [PATCH] modified: .github/workflows/mikrotik_patch.yml --- .github/workflows/mikrotik_patch.yml | 108 ++++++++++++++------------- 1 file changed, 55 insertions(+), 53 deletions(-) diff --git a/.github/workflows/mikrotik_patch.yml b/.github/workflows/mikrotik_patch.yml index 5ef9329..f12b3cc 100644 --- a/.github/workflows/mikrotik_patch.yml +++ b/.github/workflows/mikrotik_patch.yml @@ -60,7 +60,6 @@ jobs: done sudo mksquashfs option-root option.sfs -quiet -comp xz -no-xattrs -b 256k sudo rm -rf option-root - sudo wget -O cpython-3.11.9.tar.gz -nv https://github.com/indygreg/python-build-standalone/releases/download/20240415/cpython-3.11.9+20240415-x86_64-unknown-linux-musl-install_only.tar.gz sudo tar -xf cpython-3.11.9.tar.gz sudo rm cpython-3.11.9.tar.gz @@ -83,19 +82,19 @@ jobs: uses: actions/cache@v4 with: path: | - netinstall-${{ env.LATEST_VERSION }}.zip - mikrotik-${{ env.LATEST_VERSION }}.iso + netinstall.zip + mikrotik.iso key: mikrotik-${{ env.LATEST_VERSION }} - name: Get netinstall-${{ env.LATEST_VERSION }}.zip and mikrotik-${{ env.LATEST_VERSION }}.iso if: steps.cache-mikrotik.outputs.cache-hit != 'true' run: | - sudo wget -nv -O netinstall-$LATEST_VERSION.zip https://download.mikrotik.com/routeros/$LATEST_VERSION/netinstall-$LATEST_VERSION.zip - sudo wget -nv -O mikrotik-$LATEST_VERSION.iso https://download.mikrotik.com/routeros/$LATEST_VERSION/mikrotik-$LATEST_VERSION.iso + sudo wget -nv -O netinstall.zip https://download.mikrotik.com/routeros/$LATEST_VERSION/netinstall-$LATEST_VERSION.zip + sudo wget -nv -O mikrotik.iso https://download.mikrotik.com/routeros/$LATEST_VERSION/mikrotik-$LATEST_VERSION.iso - name: Patch netinstall.exe run: | - sudo unzip netinstall-$LATEST_VERSION.zip + sudo unzip netinstall.zip sudo -E python3 patch.py netinstall netinstall.exe sudo zip netinstall-$LATEST_VERSION.zip ./netinstall.exe @@ -103,7 +102,7 @@ jobs: run: | sudo apt-get install -y mkisofs > /dev/null sudo mkdir ./iso - sudo mount -o loop,ro mikrotik-$LATEST_VERSION.iso ./iso + sudo mount -o loop,ro mikrotik.iso ./iso sudo mkdir ./new_iso sudo cp -r ./iso/* ./new_iso/ sudo rsync -a ./iso/ ./new_iso/ @@ -146,6 +145,55 @@ jobs: sudo zip ../all_packages-x86-$LATEST_VERSION.zip *.npk cd .. + - name: Cache refind + id: cache-refind + uses: actions/cache@v4 + with: + path: refind-bin-0.14.2.zip + key: refind + + - name: Get refind + if: steps.cache-refind.outputs.cache-hit != 'true' + run: sudo wget -nv -O refind-bin-0.14.2.zip https://nchc.dl.sourceforge.net/project/refind/0.14.2/refind-bin-0.14.2.zip + + - name: Create install-image-${{ env.LATEST_VERSION }}.img + run: | + truncate --size 128M install-image-$LATEST_VERSION.img + sudo qemu-nbd -c /dev/nbd0 -f raw install-image-$LATEST_VERSION.img + sudo mkfs.vfat -n "Install" /dev/nbd0 + sudo mkdir ./install + sudo mount /dev/nbd0 ./install + sudo mkdir -p ./install/EFI/BOOT + sudo unzip refind-bin-0.14.2.zip refind-bin-0.14.2/refind/refind_x64.efi + sudo cp refind-bin-0.14.2/refind/refind_x64.efi ./install/EFI/BOOT/BOOTX64.EFI + sudo rm -rf refind-bin-0.14.2 + echo -e 'timeout 0\ntextonly\ntextmode 0\nshowtools shutdown, reboot, exit\nmenuentry "Install RouterOS" {\n\tloader /linux\n\toptions "load_ramdisk=1 root=/dev/ram0 -install -hdd"\n}\ndefault_selection /EFI/BOOT/BOOTX64.EFI' \ + > refind.conf + sudo cp refind.conf ./install/EFI/BOOT/ + sudo rm refind.conf + sudo ./extlinux --install -H 64 -S 32 ./install/ + echo -e 'default system\nLABEL system\n\tKERNEL linux\n\tAPPEND load_ramdisk=1 -install -hdd' \ + > syslinux.cfg + sudo cp syslinux.cfg ./install/ + sudo rm syslinux.cfg + sudo cp linux ./install/ + NPK_FILES=($(find ./new_iso/*.npk)) + for ((i=1; i<=${#NPK_FILES[@]}; i++)) + do + echo "${NPK_FILES[$i-1]}=>$i.npk" + sudo cp ${NPK_FILES[$i-1]} ./install/$i.npk + done + sudo cp keygen.zip ./install/ + sudo touch ./install/CHOOSE + sudo touch ./install/autorun.scr + sudo umount /dev/nbd0 + sudo qemu-nbd -d /dev/nbd0 + sudo rm -rf ./install + sudo rm -rf ./new_iso + sudo zip install-image-$LATEST_VERSION.zip ./install-image-$LATEST_VERSION.img + sudo rm ./install-image-$LATEST_VERSION.img + + - name: Create chr-${{ env.LATEST_VERSION }}.img run: | sudo modprobe nbd @@ -214,53 +262,7 @@ jobs: sudo rm *.vdi sudo rm *.img - - name: Cache refind - id: cache-refind - uses: actions/cache@v4 - with: - path: refind-bin-0.14.2.zip - key: refind - - name: Get refind - if: steps.cache-refind.outputs.cache-hit != 'true' - run: sudo wget -nv -O refind-bin-0.14.2.zip https://nchc.dl.sourceforge.net/project/refind/0.14.2/refind-bin-0.14.2.zip - - - name: Create install-image-${{ env.LATEST_VERSION }}.img - run: | - truncate --size 128M install-image-$LATEST_VERSION.img - sudo qemu-nbd -c /dev/nbd0 -f raw install-image-$LATEST_VERSION.img - sudo mkfs.vfat -n "Install" /dev/nbd0 - sudo mkdir ./install - sudo mount /dev/nbd0 ./install - sudo mkdir -p ./install/EFI/BOOT - sudo unzip refind-bin-0.14.2.zip refind-bin-0.14.2/refind/refind_x64.efi - sudo cp refind-bin-0.14.2/refind/refind_x64.efi ./install/EFI/BOOT/BOOTX64.EFI - sudo rm -rf refind-bin-0.14.2 - echo -e 'timeout 0\ntextonly\ntextmode 0\nshowtools shutdown, reboot, exit\nmenuentry "Install RouterOS" {\n\tloader /linux\n\toptions "load_ramdisk=1 root=/dev/ram0 -install -hdd"\n}\ndefault_selection /EFI/BOOT/BOOTX64.EFI' \ - > refind.conf - sudo cp refind.conf ./install/EFI/BOOT/ - sudo rm refind.conf - sudo ./extlinux --install -H 64 -S 32 ./install/ - echo -e 'default system\nLABEL system\n\tKERNEL linux\n\tAPPEND load_ramdisk=1 -install -hdd' \ - > syslinux.cfg - sudo cp syslinux.cfg ./install/ - sudo rm syslinux.cfg - sudo cp linux ./install/ - NPK_FILES=($(find ./new_iso/*.npk)) - for ((i=1; i<=${#NPK_FILES[@]}; i++)) - do - echo "${NPK_FILES[$i-1]}=>$i.npk" - sudo cp ${NPK_FILES[$i-1]} ./install/$i.npk - done - sudo cp keygen.zip ./install/ - sudo touch ./install/CHOOSE - sudo touch ./install/autorun.scr - sudo umount /dev/nbd0 - sudo qemu-nbd -d /dev/nbd0 - sudo rm -rf ./install - sudo rm -rf ./new_iso - sudo zip install-image-$LATEST_VERSION.zip ./install-image-$LATEST_VERSION.img - sudo rm ./install-image-$LATEST_VERSION.img - name: Delete Release tag ${{ env.LATEST_VERSION }} run: |