diff --git a/.github/workflows/patch.yml b/.github/workflows/patch.yml new file mode 100644 index 00000000..7bc26528 --- /dev/null +++ b/.github/workflows/patch.yml @@ -0,0 +1,369 @@ +name: Patch + +on: + workflow_dispatch: + +permissions: + contents: write + +env: + MIKRO_NPK_SIGN_PUBLIC_KEY: C293CED638A2A33C681FC8DE98EE26C54EADC5390C2DFCE197D35C83C416CF59 + MIKRO_LICENSE_PUBLIC_KEY: 8E1067E4305FCDC0CFBF95C10F96E5DFE8C49AEF486BD1A4E2E96C27F01E3E32 + CUSTOM_NPK_SIGN_PRIVATE_KEY: 7D008D9B80B036FB0205601FEE79D550927EBCA937B7008CC877281F2F8AC640 + CUSTOM_NPK_SIGN_PUBLIC_KEY: 28F886E32C141123126CFBCAD56766E99D1720CEB1F12BE2468BEBE7662FBEDB + CUSTOM_LICENSE_PRIVATE_KEY: 9DBC845E9018537810FDAE62824322EEE1B12BAD81FCA28EC295FB397C61CE0B + CUSTOM_LICENSE_PUBLIC_KEY: 723A34A6E3300F23E4BAA06156B9327514AEC170732655F16E04C17928DD770F + +jobs: + patch: + runs-on: ubuntu-latest + strategy: + matrix: + arch: [x86, arm, arm64, mipsbe, mmips, smips, tile, ppc] + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + + - name: Get latest version + id: get_latest + run: | + echo $(uname -a) + NEWEST=$(curl -s https://upgrade.mikrotik.com/routeros/NEWESTa7.stable) + LATEST_VERSION=$(echo "$NEWEST" | cut -d' ' -f1) + BUILD_TIME=$(echo "$NEWEST" | cut -d' ' -f2) + echo Latest Version: $LATEST_VERSION + echo Build Time: $BUILD_TIME + _LATEST_VERSION=$(cat latest.txt | cut -d ' ' -f1) + if [ "$_LATEST_VERSION" == "$LATEST_VERSION" ]; then + echo "No new version found" + echo "has_new_version=false" >> $GITHUB_OUTPUT + exit 0 + fi + echo "has_new_version=true" >> $GITHUB_OUTPUT + curl -s -o CHANGELOG https://upgrade.mikrotik.com/routeros/$LATEST_VERSION/CHANGELOG + cat CHANGELOG + echo "NEWEST=${NEWEST}" >> $GITHUB_ENV + echo "LATEST_VERSION=${LATEST_VERSION}" >> $GITHUB_ENV + if [ "${{ matrix.arch }}" == "x86" ]; then + ARCH='' + elif [ "${{ matrix.arch }}" == "arm" ]; then + ARCH='-arm' + elif [ "${{ matrix.arch }}" == "arm64" ]; then + ARCH='-arm64' + elif [ "${{ matrix.arch }}" == "mipsbe" ]; then + ARCH='-mipsbe' + elif [ "${{ matrix.arch }}" == "mmips" ]; then + ARCH='-mmips' + elif [ "${{ matrix.arch }}" == "smips" ]; then + ARCH='-smips' + elif [ "${{ matrix.arch }}" == "tile" ]; then + ARCH='-tile' + elif [ "${{ matrix.arch }}" == "ppc" ]; then + ARCH='-ppc' + fi + echo "ARCH=$ARCH" >> $GITHUB_ENV + sudo apt-get update > /dev/null + + - name: Cache mikrotik-${{ env.LATEST_VERSION }}${{ env.ARCH }}.iso + if: steps.get_latest.outputs.has_new_version == 'true' && (matrix.arch == 'x86' || matrix.arch == 'arm64') + id: cache_mikrotik + uses: actions/cache@v4 + with: + path: mikrotik.iso + key: mikrotik-${{ env.LATEST_VERSION }}-${{ matrix.arch }} + + - name: Get mikrotik-${{ env.LATEST_VERSION }}${{ env.ARCH }}.iso + if: steps.get_latest.outputs.has_new_version == 'true' && steps.cache_mikrotik.outputs.cache-hit != 'true' && (matrix.arch == 'x86' || matrix.arch == 'arm64') + run: | + sudo curl -s -o mikrotik.iso https://download.mikrotik.com/routeros/$LATEST_VERSION/mikrotik-$LATEST_VERSION$ARCH.iso + + - name: Patch mikrotik-${{ env.LATEST_VERSION }}${{ env.ARCH }}.iso + if: steps.get_latest.outputs.has_new_version == 'true' && (matrix.arch == 'x86' || matrix.arch == 'arm64') + run: | + sudo apt-get install -y mkisofs xorriso > /dev/null + sudo mkdir ./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/ + sudo umount ./iso + sudo rm -rf ./iso + sudo -E python3 patch.py npk ./new_iso/routeros-$LATEST_VERSION*.npk + sudo cp ./new_iso/routeros-$LATEST_VERSION*.npk ./routeros-$LATEST_VERSION$ARCH-patched.npk + NPK_FILES=$(find ./new_iso/*.npk) + for file in $NPK_FILES; do + sudo -E python3 npk.py sign $file $file + done + sudo mkdir ./efiboot + sudo mount -o loop ./new_iso/efiboot.img ./efiboot + if [ "${{ matrix.arch }}" == "x86" ]; then + sudo -E python3 patch.py kernel ./efiboot/linux.x86_64 + sudo cp ./efiboot/linux.x86_64 ./BOOTX64.EFI + sudo cp ./BOOTX64.EFI ./new_iso/isolinux/linux + sudo umount ./efiboot + sudo mkisofs -o mikrotik-$LATEST_VERSION$ARCH-patched.iso \ + -V "MikroTik $LATEST_VERSION $ARCH" \ + -sysid "" -preparer "MiKroTiK" \ + -publisher "" -A "MiKroTiK RouterOS" \ + -input-charset utf-8 \ + -b isolinux/isolinux.bin \ + -c isolinux/boot.cat \ + -no-emul-boot \ + -boot-load-size 4 \ + -boot-info-table \ + -eltorito-alt-boot \ + -e efiboot.img \ + -no-emul-boot \ + -R -J \ + ./new_iso + elif [ "${{ matrix.arch }}" == "arm64" ]; then + sudo -E python3 patch.py kernel ./efiboot/EFI/BOOT/BOOTAA64.EFI + sudo umount ./efiboot + sudo xorriso -as mkisofs -o mikrotik-$LATEST_VERSION$ARCH-patched.iso \ + -V "MikroTik $LATEST_VERSION ${{ matrix.arch }}" \ + -sysid "" -preparer "MiKroTiK" \ + -publisher "" -A "MiKroTiK RouterOS" \ + -input-charset utf-8 \ + -b efiboot.img \ + -no-emul-boot \ + -R -J \ + ./new_iso + fi + sudo rm -rf ./efiboot + sudo mkdir ./all_packages_iso$ARCH-$LATEST_VERSION + sudo cp ./new_iso/*.npk ./all_packages_iso$ARCH-$LATEST_VERSION/ + sudo rm -rf ./new_iso + cd ./all_packages_iso$ARCH-$LATEST_VERSION + sudo zip ../all_packages$ARCH-$LATEST_VERSION-patched.zip *.npk + cd .. + + - name: Cache refind + if: steps.get_latest.outputs.has_new_version == 'true' && matrix.arch == 'x86' + id: cache_refind + uses: actions/cache@v4 + with: + path: refind-bin-0.14.2.zip + key: refind + + - name: Get refind + if: steps.get_latest.outputs.has_new_version == 'true' && steps.cache_refind.outputs.cache-hit != 'true' && matrix.arch == 'x86' + run: sudo curl -s -o refind-bin-0.14.2.zip https://nchc.dl.sourceforge.net/project/refind/0.14.2/refind-bin-0.14.2.zip + + - name: Cache install-image-${{ env.LATEST_VERSION }}${{ env.ARCH }}.img + if: steps.get_latest.outputs.has_new_version == 'true' && matrix.arch == 'x86' + id: cache_install_image + uses: actions/cache@v4 + with: + path: install-image.img + key: install-image-${{ env.LATEST_VERSION }}-${{ matrix.arch }} + + - name: Get install-image-${{ env.LATEST_VERSION }}${{ env.ARCH }}.img + if: steps.get_latest.outputs.has_new_version == 'true' && steps.cache_install_image.outputs.cache-hit != 'true' && matrix.arch == 'x86' + run: | + sudo curl -s -o install-image.zip https://download.mikrotik.com/routeros/$LATEST_VERSION/install-image-$LATEST_VERSION.zip + sudo unzip install-image.zip + sudo rm install-image.zip + sudo mv install-image-$LATEST_VERSION.img install-image.img + + - name: Patch install-image-${{ env.LATEST_VERSION }}${{ env.ARCH }}.img + if: steps.get_latest.outputs.has_new_version == 'true' && matrix.arch == 'x86' + run: | + sudo modprobe nbd + sudo apt-get install -y qemu-utils extlinux > /dev/null + sudo qemu-nbd -c /dev/nbd0 -f raw install-image.img + 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 + sudo cp ./BOOTX64.EFI ./install/linux + NPK_FILES=($(find ./all_packages_iso$ARCH-$LATEST_VERSION/*.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 umount /dev/nbd0 + sudo qemu-nbd -d /dev/nbd0 + sudo rm -rf ./install + sudo cp install-image.img install-image-$LATEST_VERSION$ARCH-patched.img + + sudo qemu-img convert -f raw -O qcow2 install-image-$LATEST_VERSION$ARCH-patched.img install-image-$LATEST_VERSION$ARCH-patched.qcow2 + sudo qemu-img convert -f raw -O vmdk install-image-$LATEST_VERSION$ARCH-patched.img install-image-$LATEST_VERSION$ARCH-patched.vmdk + sudo qemu-img convert -f raw -O vpc install-image-$LATEST_VERSION$ARCH-patched.img install-image-$LATEST_VERSION$ARCH-patched.vhd + sudo qemu-img convert -f raw -O vhdx install-image-$LATEST_VERSION$ARCH-patched.img install-image-$LATEST_VERSION$ARCH-patched.vhdx + sudo qemu-img convert -f raw -O vdi install-image-$LATEST_VERSION$ARCH-patched.img install-image-$LATEST_VERSION$ARCH-patched.vdi + + sudo zip install-image-$LATEST_VERSION$ARCH-patched.qcow2.zip install-image-$LATEST_VERSION$ARCH-patched.qcow2 + sudo zip install-image-$LATEST_VERSION$ARCH-patched.vmdk.zip install-image-$LATEST_VERSION$ARCH-patched.vmdk + sudo zip install-image-$LATEST_VERSION$ARCH-patched.vhd.zip install-image-$LATEST_VERSION$ARCH-patched.vhd + sudo zip install-image-$LATEST_VERSION$ARCH-patched.vhdx.zip install-image-$LATEST_VERSION$ARCH-patched.vhdx + sudo zip install-image-$LATEST_VERSION$ARCH-patched.vdi.zip install-image-$LATEST_VERSION$ARCH-patched.vdi + sudo zip install-image-$LATEST_VERSION$ARCH-patched.img.zip install-image-$LATEST_VERSION$ARCH-patched.img + + sudo rm install-image-$LATEST_VERSION$ARCH-patched.qcow2 + sudo rm install-image-$LATEST_VERSION$ARCH-patched.vmdk + sudo rm install-image-$LATEST_VERSION$ARCH-patched.vhd + sudo rm install-image-$LATEST_VERSION$ARCH-patched.vhdx + sudo rm install-image-$LATEST_VERSION$ARCH-patched.vdi + sudo rm install-image-$LATEST_VERSION$ARCH-patched.img + + - name: Cache chr-${{ env.LATEST_VERSION }}${{ env.ARCH }}.img + if: steps.get_latest.outputs.has_new_version == 'true' && (matrix.arch == 'x86' || matrix.arch == 'arm64') + id: cache_chr_img + uses: actions/cache@v4 + with: + path: chr.img + key: chr-${{ env.LATEST_VERSION }}-${{ matrix.arch }} + + - name: Get chr-${{ env.LATEST_VERSION }}${{ env.ARCH }}.img + if: steps.get_latest.outputs.has_new_version == 'true' && steps.cache_chr_img.outputs.cache-hit != 'true' && (matrix.arch == 'x86' || matrix.arch == 'arm64') + run: | + sudo curl -s -o chr.img.zip https://download.mikrotik.com/routeros/$LATEST_VERSION/chr-$LATEST_VERSION$ARCH.img.zip + sudo unzip chr.img.zip + sudo rm chr.img.zip + sudo mv chr-$LATEST_VERSION$ARCH.img chr.img + + - name: Patch chr-${{ env.LATEST_VERSION }}${{ env.ARCH }}.img + if: steps.get_latest.outputs.has_new_version == 'true' && (matrix.arch == 'x86' || matrix.arch == 'arm64') + run: | + sudo modprobe nbd + sudo apt-get install -y qemu-utils extlinux > /dev/null + sudo qemu-nbd -c /dev/nbd0 -f raw chr.img + sudo mkdir -p ./img/{boot,routeros} + sudo mount /dev/nbd0p1 ./img/boot/ + if [ "${{ matrix.arch }}" == "x86" ]; then + sudo mkdir -p ./img/boot/BOOT + sudo cp ./BOOTX64.EFI ./img/boot/EFI/BOOT/BOOTX64.EFI + sudo extlinux --install -H 64 -S 32 ./img/boot/BOOT + echo -e "default system\nlabel system\n\tkernel /EFI/BOOT/BOOTX64.EFI\n\tappend load_ramdisk=1 root=/dev/ram0 quiet" > syslinux.cfg + sudo cp syslinux.cfg ./img/boot/BOOT/ + sudo rm syslinux.cfg + elif [ "${{ matrix.arch }}" == "arm64" ]; then + sudo -E python3 patch.py kernel ./img/boot/EFI/BOOT/BOOTAA64.EFI + fi + sudo umount /dev/nbd0p1 + sudo mount /dev/nbd0p2 ./img/routeros/ + sudo cp ./routeros-$LATEST_VERSION$ARCH-patched.npk ./img/routeros/var/pdb/system/image + sudo umount /dev/nbd0p2 + sudo rm -rf ./img + sudo qemu-nbd -d /dev/nbd0 + sudo cp chr.img chr-$LATEST_VERSION$ARCH-patched.img + + sudo qemu-img convert -f raw -O qcow2 chr-$LATEST_VERSION$ARCH-patched.img chr-$LATEST_VERSION$ARCH-patched.qcow2 + sudo qemu-img convert -f raw -O vmdk chr-$LATEST_VERSION$ARCH-patched.img chr-$LATEST_VERSION$ARCH-patched.vmdk + sudo qemu-img convert -f raw -O vpc chr-$LATEST_VERSION$ARCH-patched.img chr-$LATEST_VERSION$ARCH-patched.vhd + sudo qemu-img convert -f raw -O vhdx chr-$LATEST_VERSION$ARCH-patched.img chr-$LATEST_VERSION$ARCH-patched.vhdx + sudo qemu-img convert -f raw -O vdi chr-$LATEST_VERSION$ARCH-patched.img chr-$LATEST_VERSION$ARCH-patched.vdi + + sudo zip chr-$LATEST_VERSION$ARCH-patched.qcow2.zip chr-$LATEST_VERSION$ARCH-patched.qcow2 + sudo zip chr-$LATEST_VERSION$ARCH-patched.vmdk.zip chr-$LATEST_VERSION$ARCH-patched.vmdk + sudo zip chr-$LATEST_VERSION$ARCH-patched.vhd.zip chr-$LATEST_VERSION$ARCH-patched.vhd + sudo zip chr-$LATEST_VERSION$ARCH-patched.vhdx.zip chr-$LATEST_VERSION$ARCH-patched.vhdx + sudo zip chr-$LATEST_VERSION$ARCH-patched.vdi.zip chr-$LATEST_VERSION$ARCH-patched.vdi + sudo zip chr-$LATEST_VERSION$ARCH-patched.img.zip chr-$LATEST_VERSION$ARCH-patched.img + + sudo rm chr-$LATEST_VERSION$ARCH-patched.qcow2 + sudo rm chr-$LATEST_VERSION$ARCH-patched.vmdk + sudo rm chr-$LATEST_VERSION$ARCH-patched.vhd + sudo rm chr-$LATEST_VERSION$ARCH-patched.vhdx + sudo rm chr-$LATEST_VERSION$ARCH-patched.vdi + sudo rm chr-$LATEST_VERSION$ARCH-patched.img + + - name: Cache NetInstall ${{ env.LATEST_VERSION }} + if: steps.get_latest.outputs.has_new_version == 'true' && matrix.arch == 'x86' + id: cache_netinstall + uses: actions/cache@v4 + with: + path: | + netinstall.zip + netinstall64.zip + netinstall.tar.gz + key: netinstall-${{ env.LATEST_VERSION }} + + - name: Get netinstall ${{ env.LATEST_VERSION }} + if: steps.get_latest.outputs.has_new_version == 'true' && matrix.arch == 'x86' && steps.cache_netinstall.outputs.cache-hit != 'true' + run: | + sudo curl -s -o netinstall.zip https://download.mikrotik.com/routeros/$LATEST_VERSION/netinstall-$LATEST_VERSION.zip + sudo curl -s -o netinstall64.zip https://download.mikrotik.com/routeros/$LATEST_VERSION/netinstall64-$LATEST_VERSION.zip + sudo curl -s -o netinstall.tar.gz https://download.mikrotik.com/routeros/$LATEST_VERSION/netinstall-$LATEST_VERSION.tar.gz + + - name: Patch netinstall ${{ env.LATEST_VERSION }} + if: steps.get_latest.outputs.has_new_version == 'true' && matrix.arch == 'x86' + run: | + sudo unzip netinstall.zip netinstall.exe + sudo -E python3 patch.py netinstall netinstall.exe + sudo zip netinstall-$LATEST_VERSION-patched.zip ./netinstall.exe + sudo unzip netinstall64.zip netinstall64.exe + sudo -E python3 patch.py netinstall netinstall64.exe + sudo zip netinstall64-$LATEST_VERSION-patched.zip ./netinstall64.exe + sudo tar -xvf netinstall.tar.gz + sudo -E python3 patch.py netinstall netinstall-cli + sudo tar -czvf netinstall-$LATEST_VERSION-patched.tar.gz ./netinstall-cli + + - name: Cache routeros-${{ env.LATEST_VERSION }}${{ env.ARCH }}.npk & all_packages${{ env.ARCH }}-${{ env.LATEST_VERSION }}.zip + if: steps.get_latest.outputs.has_new_version == 'true' && matrix.arch != 'x86' + id: cache_routeros_npk + uses: actions/cache@v4 + with: + path: | + routeros-${{ env.LATEST_VERSION }}${{ env.ARCH }}.npk + all_packages${{ env.ARCH }}-${{ env.LATEST_VERSION }}.zip + key: routeros-${{ env.LATEST_VERSION }}-${{ matrix.arch }} + + - name: Get routeros-${{ env.LATEST_VERSION }}${{ env.ARCH }}.npk & all_packages${{ env.ARCH }}-${{ env.LATEST_VERSION }}.zip + if: steps.get_latest.outputs.has_new_version == 'true' && steps.cache_routeros_npk.outputs.cache-hit != 'true' && matrix.arch != 'x86' + run: | + sudo curl -s -o routeros-$LATEST_VERSION$ARCH.npk https://download.mikrotik.com/routeros/$LATEST_VERSION/routeros-$LATEST_VERSION$ARCH.npk + sudo curl -s -o all_packages$ARCH-$LATEST_VERSION.zip https://download.mikrotik.com/routeros/$LATEST_VERSION/all_packages$ARCH-$LATEST_VERSION.zip + + - name: Patch routeros-${{ env.LATEST_VERSION }}${{ env.ARCH }}.npk & all_packages${{ env.ARCH }}-${{ env.LATEST_VERSION }}.zip + if: steps.get_latest.outputs.has_new_version == 'true' && matrix.arch != 'x86' + run: | + sudo mkdir ./all_packages$ARCH-$LATEST_VERSION + sudo unzip all_packages$ARCH-$LATEST_VERSION.zip -d ./all_packages$ARCH-$LATEST_VERSION/ + sudo cp routeros-$LATEST_VERSION$ARCH.npk routeros-$LATEST_VERSION$ARCH-patched.npk + sudo -E python3 patch.py npk routeros-$LATEST_VERSION$ARCH.npk + NPK_FILES=$(find ./all_packages$ARCH-$LATEST_VERSION/*.npk) + for file in $NPK_FILES; do + sudo -E python3 npk.py sign $file $file + done + cd ./all_packages$ARCH-$LATEST_VERSION + sudo zip ../all_packages$ARCH-$LATEST_VERSION-patched.zip *.npk + cd .. + sudo rm -rf ./all_packages$ARCH-$LATEST_VERSION + + - name: Update latest version + if: steps.get_latest.outputs.has_new_version == 'true' && matrix.arch == 'x86' + run: | + echo $NEWEST > latest.txt + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git add latest.txt + git commit -m "Update latest version" + git push + + - name: Create Release tag ${{ env.LATEST_VERSION }} + if: steps.get_latest.outputs.has_new_version == 'true' + uses: softprops/action-gh-release@v2 + with: + name: "RouterOS ${{ env.LATEST_VERSION }}" + body_path: "CHANGELOG" + tag_name: ${{ env.LATEST_VERSION }} + make_latest: true + files: | + mikrotik-${{ env.LATEST_VERSION }}${{ env.ARCH }}-patched.iso + netinstall-${{ env.LATEST_VERSION }}-patched.zip + netinstall64-${{ env.LATEST_VERSION }}-patched.zip + netinstall-${{ env.LATEST_VERSION }}-patched.tar.gz + install-image-${{ env.LATEST_VERSION }}${{ env.ARCH }}-patched.*.zip + chr-${{ env.LATEST_VERSION }}${{ env.ARCH }}-patched.*.zip + routeros-${{ env.LATEST_VERSION }}${{ env.ARCH }}-patched.npk + all_packages*-${{ env.LATEST_VERSION }}-patched.zip diff --git a/chr.sh b/chr.sh deleted file mode 100644 index 82f47853..00000000 --- a/chr.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -apt-get install -y gdisk extlinux -dd if=/dev/zero of=/dev/sda bs=1 count=512 conv=notrunc -sgdisk --clear --set-alignment=2 --new=1::+32M --typecode=1:8300 --change-name=1:"RouterOS Boot" --attributes=1:set:2 --new=2::-0 --typecode=2:8300 --change-name=2:"RouterOS" --gpttombr=1:2 /dev/sda -dd if=/dev/sda of=/tmp/pt.bin bs=1 count=66 skip=446 -echo -e "\x80" | dd of=/tmp/pt.bin bs=1 count=1 conv=notrunc -dd if=/dev/zero of=/dev/sda bs=1 count=512 conv=notrunc -sgdisk --clear --set-alignment=2 --new=1::+32M --typecode=1:8300 --change-name=1:"RouterOS Boot" --attributes=1:set:2 --new=2::-0 --typecode=2:8300 --change-name=2:"RouterOS" /dev/sda -wget -O /tmp/mbr.bin https://raw.gitmirror.com/elseif/MikroTikPatch/main/mbr.bin -dd if=/tmp/mbr.bin of=/dev/sda bs=1 count=446 conv=notrunc -dd if=/tmp/pt.bin of=/dev/sda bs=1 count=66 seek=446 conv=notrunc -sync -mkfs.vfat -n "Boot" /dev/sda1 -mkfs.ext4 -F -L "RouterOS" -m 0 /dev/sda2 -mkdir -p /tmp/{boot,routeros} -mount -o loop,rw /dev/sda1 /tmp/boot -mkdir -p /tmp/boot/{BOOT,EFI/BOOT} -wget -O /tmp/boot/EFI/BOOT/BOOTX64.EFI https://hub.gitmirror.com/https://github.com/elseif/MikroTikPatch/releases/download/7.15.2/BOOTX64.EFI -extlinux --install -H 64 -S 32 /tmp/boot/BOOT -echo -e "default system\nlabel system\n\tkernel /EFI/BOOT/BOOTX64.EFI\n\tappend load_ramdisk=1 root=/dev/ram0 quiet" > /tmp/boot/BOOT/syslinux.cfg -umount /tmp/boot -mount -o loop,rw /dev/sda2 /tmp/routeros -mkdir -p /tmp/routeros/{var/pdb/{system,option},boot,rw} -wget -O /tmp/routeros/var/pdb/option/image https://hub.gitmirror.com/https://github.com/elseif/MikroTikPatch/releases/download/7.15.2/option-7.15.2.npk -wget -O /tmp/routeros/var/pdb/system/image https://hub.gitmirror.com/https://github.com/elseif/MikroTikPatch/releases/download/7.15.2/routeros-7.15.2.npk -umount /tmp/routeros \ No newline at end of file diff --git a/image/arm.png b/image/arm.png deleted file mode 100644 index 5f500822..00000000 Binary files a/image/arm.png and /dev/null differ diff --git a/image/chr.png b/image/chr.png deleted file mode 100644 index e96d9828..00000000 Binary files a/image/chr.png and /dev/null differ diff --git a/image/install.png b/image/install.png deleted file mode 100644 index e67428dc..00000000 Binary files a/image/install.png and /dev/null differ diff --git a/image/mips.png b/image/mips.png deleted file mode 100644 index 6e44fbd6..00000000 Binary files a/image/mips.png and /dev/null differ diff --git a/image/renew.png b/image/renew.png deleted file mode 100644 index 7b83baf4..00000000 Binary files a/image/renew.png and /dev/null differ diff --git a/image/renew_v6.png b/image/renew_v6.png deleted file mode 100644 index ad8b01c8..00000000 Binary files a/image/renew_v6.png and /dev/null differ diff --git a/image/routeros.png b/image/routeros.png deleted file mode 100644 index f00456bb..00000000 Binary files a/image/routeros.png and /dev/null differ diff --git a/image/x86.png b/image/x86.png deleted file mode 100644 index fe8aec0c..00000000 Binary files a/image/x86.png and /dev/null differ diff --git a/latest.txt b/latest.txt new file mode 100644 index 00000000..d264e3c7 --- /dev/null +++ b/latest.txt @@ -0,0 +1 @@ +7.15.2 1732622980 diff --git a/mbr.bin b/mbr.bin deleted file mode 100644 index 9d190d7f..00000000 Binary files a/mbr.bin and /dev/null differ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..fae34db4 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +pefile