Compare commits

..

9 Commits

Author SHA1 Message Date
elseif
2c77a67e7d modified: .github/workflows/patch_v7.yml 2026-08-29 10:11:57 +08:00
elseif
66667fc2ed modified: .github/workflows/patch_v7.yml 2026-08-29 10:02:36 +08:00
elseif
39ae5ca66d modified: .github/workflows/patch_v7.yml 2026-08-29 09:53:20 +08:00
elseif
486d4afe26 modified: .github/workflows/patch_v7.yml 2026-08-29 09:48:39 +08:00
elseif
f984370098 modified: .github/workflows/patch_v7.yml 2026-08-29 09:47:30 +08:00
elseif
d13e050198 modified: .github/workflows/patch_v7.yml 2026-08-29 09:43:31 +08:00
elseif
daca50dced # modified: .github/workflows/patch_v7.yml 2026-08-29 09:33:33 +08:00
elseif
c126421897 modified: .github/workflows/patch_v7.yml 2026-08-28 21:35:43 +08:00
elseif
2a4ad51ca9 modified: .github/workflows/patch_v7.yml
modified:   busybox/busybox_arm64
	modified:   busybox/busybox_x86
2026-08-28 20:11:46 +08:00
3 changed files with 91 additions and 5 deletions

View File

@@ -378,6 +378,72 @@ jobs:
if: matrix.arch == 'x86' && steps.cache-refind.outputs.cache-hit != 'true'
run: wget -nv -O $BUILD_DIR/refind-bin-0.14.2.zip https://downloads.sourceforge.net/project/refind/0.14.2/refind-bin-0.14.2.zip
- name: Build alpine livecd
if: matrix.arch == 'x86'
run: |
set -e
ROOTFS_URL="https://dl-cdn.alpinelinux.org/alpine/v3.24/releases/x86_64/alpine-minirootfs-3.24.1-x86_64.tar.gz"
ROOTFS_DIR=$BUILD_DIR/rootfs
mkdir -p $ROOTFS_DIR
curl -# -L "$ROOTFS_URL" | tar -xzC $ROOTFS_DIR
sudo mount -v --bind /dev $ROOTFS_DIR/dev
sudo mount -vt sysfs sysfs $ROOTFS_DIR/sys
sudo mount -vt proc proc $ROOTFS_DIR/proc
echo "nameserver 1.1.1.1" > $ROOTFS_DIR/etc/resolv.conf
cat << EOF | sudo chroot $ROOTFS_DIR /usr/bin/env PATH=/usr/bin:/bin:/usr/sbin:/sbin /bin/sh
set -e
apk update
apk upgrade
apk add alpine-base openrc busybox-mdev-openrc dhcpcd curl iputils ca-certificates linux-lts linux-firmware-none
rc-update add devfs sysinit
rc-update add dmesg sysinit
rc-update add mdev sysinit
rc-update add hwdrivers sysinit
rc-update add acpid boot
rc-update add hostname boot
rc-update add hwclock boot
rc-update add modules boot
rc-update add sysctl boot
rc-update add bootmisc boot
rc-update add dhcpcd boot
apk cache clean
EOF
sudo sed -i 's/^features=.*/features="ata base cdrom scsi nvme ext4 usb virtio"/' $ROOTFS_DIR/etc/mkinitfs/mkinitfs.conf
KERNEL_VERSION=$(ls $ROOTFS_DIR/lib/modules | head -1)
sudo chroot $ROOTFS_DIR /usr/bin/env PATH=/usr/bin:/bin:/usr/sbin:/sbin /sbin/mkinitfs -k -t /tmp "$KERNEL_VERSION"
sudo rm -rf $ROOTFS_DIR/lib/modules
sudo mv $ROOTFS_DIR/tmp/lib/modules $ROOTFS_DIR/lib
sudo chroot $ROOTFS_DIR /sbin/depmod -b / "$KERNEL_VERSION"
sudo umount -v $ROOTFS_DIR/dev
sudo umount -v $ROOTFS_DIR/sys
sudo umount -v $ROOTFS_DIR/proc
sed -i 's/^#\(ttyS0.*\)/\1/' $ROOTFS_DIR/etc/inittab
sed -i 's/^root:.*/root:::0:::::/' $ROOTFS_DIR/etc/shadow
echo "" > $ROOTFS_DIR/etc/motd
sudo ln -sf sbin/init $ROOTFS_DIR/init
cp $ROOTFS_DIR/boot/vmlinuz-* $BUILD_DIR/vmlinuz
sudo rm -rf $ROOTFS_DIR/tmp/*
sudo rm -rf $ROOTFS_DIR/boot/*
sudo rm -rf $ROOTFS_DIR/var/cache/*
(cd "$ROOTFS_DIR" && sudo find . -print0 | sudo cpio --owner=root:root --null -H newc -o 2>/dev/null | xz -C crc32 -v9eT0 > $BUILD_DIR/initramfs.xz)
sudo rm -rf $ROOTFS_DIR
size=$(stat -c %s "$BUILD_DIR/vmlinuz")
printf "vmlinuz size : %d bytes (%.1f MB)\n" "$size" "$(echo "scale=1; $size/1024/1024" | bc)"
size=$(stat -c %s "$BUILD_DIR/initramfs.xz")
printf "initramfs size : %d bytes (%.1f MB)\n" "$size" "$(echo "scale=1; $size/1024/1024" | bc)"
- name: Create ISO & INSTALL image files
run: |
set -e
@@ -395,9 +461,8 @@ jobs:
sudo mount -o loop $BUILD_DIR/new_iso/efiboot.img $BUILD_DIR/efiboot
python3 patch.py kernel $BUILD_DIR/efiboot/linux.x86_64 -O $BUILD_DIR/new_iso/isolinux/linux
sudo umount $BUILD_DIR/efiboot
#修改为16M,减小镜像体积
rm -f $BUILD_DIR/new_iso/efiboot.img
truncate --size 16M $BUILD_DIR/new_iso/efiboot.img
truncate --size 64M $BUILD_DIR/new_iso/efiboot.img
mkfs.vfat -n "Boot" $BUILD_DIR/new_iso/efiboot.img
sudo mount -o loop,uid=$(id -u),gid=$(id -g) $BUILD_DIR/new_iso/efiboot.img $BUILD_DIR/efiboot
mkdir -p $BUILD_DIR/efiboot/EFI/BOOT
@@ -412,11 +477,32 @@ jobs:
loader /linux.x86_64
options "load_ramdisk=1 root=/dev/ram0 -install -cdrom debug"
}
menuentry "Alpine Linux LiveCD" {
loader /vmlinuz
initrd /initramfs.xz
options "debug"
}
default_selection /EFI/BOOT/BOOTX64.EFI
EOF
cp -v $BUILD_DIR/new_iso/isolinux/linux $BUILD_DIR/efiboot/linux.x86_64
cp -v $BUILD_DIR/vmlinuz $BUILD_DIR/efiboot/vmlinuz
cp -v $BUILD_DIR/initramfs.xz $BUILD_DIR/efiboot/initramfs.xz
sync
sudo umount $BUILD_DIR/efiboot
tee $BUILD_DIR/new_iso/isolinux/syslinux.cfg > /dev/null << 'EOF'
default system
timeout 50
prompt 1
label system
kernel linux
append load_ramdisk=1 -install -cdrom debug
label alpine
kernel vmlinuz
append initrd=initramfs.xz debug
EOF
cp -v $BUILD_DIR/vmlinuz $BUILD_DIR/new_iso/isolinux/vmlinuz
cp -v $BUILD_DIR/initramfs.xz $BUILD_DIR/new_iso/isolinux/initramfs.xz
xorriso -as mkisofs -o $PUBLISH_DIR/mikrotik-$VERSION$ARCH_EXT.iso \
-V 'MikroTik' \
-publisher "WWW.MIKROTIK.COM" \
@@ -463,9 +549,9 @@ jobs:
EOF
tee $BUILD_DIR/install/syslinux.cfg > /dev/null << 'EOF'
default system
LABEL system
KERNEL linux
APPEND load_ramdisk=1 -install -hdd
label system
kernel linux
append load_ramdisk=1 -install -hdd
EOF
NPK_FILES=($(find $BUILD_DIR/new_iso/*.npk))
for ((i=1; i<=${#NPK_FILES[@]}; i++))

Binary file not shown.

Binary file not shown.