#!/bin/sh TARGET=$1 VERSION=$(date +%g.%m) OUTPUT=${TARGET}/output/${VERSION} DEBIAN_CODENAME='bookworm' KERNEL_VERSION='6.4.0-0.deb12.2-amd64' KERNEL_REPO="bookworm-backports" ARCH='amd64' QUIET=1 export MKRESCUE_VERBOSE=1 export LANGUAGE=C export LANG=C export LC_ALL=C umask 022 if [ -z "${TARGET}" ]; then echo "Usage: $0 " exit 255 fi SCRIPTDIR="$(dirname "$(realpath "$0")")" export DEBIAN_FRONTEND=noninteractive mkdir ${TARGET} mkdir ${TARGET}/ramdisk mkdir ${TARGET}/firmware mkdir -p ${OUTPUT}/netboot/${ARCH} if [ !$QUIET ]; then echo '\n### Executing basefs_init ###'; fi ${SCRIPTDIR}/bin/basefs_init ${TARGET}/basefs ${DEBIAN_CODENAME} cp -a ${TARGET}/basefs ${TARGET}/rootfs cp -a ${TARGET}/basefs ${TARGET}/helperfs if [ !$QUIET ]; then echo '\n### Executing helperfs_config ###'; fi ${SCRIPTDIR}/bin/helperfs_config ${TARGET}/helperfs ${KERNEL_VERSION} ${KERNEL_REPO} # ROOTFS mkdir -p ${TARGET}/rootfs/lib/modules rsync -aS ${TARGET}/helperfs/lib/modules/ ${TARGET}/rootfs/lib/modules/ if [ !$QUIET ]; then echo '\n### Executing rootfs_config ###'; fi ${SCRIPTDIR}/bin/rootfs_config ${TARGET}/rootfs ${DEBIAN_CODENAME} if [ !$QUIET ]; then echo '\n### Executing rootfs_clear ###'; fi ${SCRIPTDIR}/bin/rootfs_clear ${TARGET}/rootfs if [ !$QUIET ]; then echo '\n### Executing rootfs_mksquashfs ###'; fi ${SCRIPTDIR}/bin/rootfs_mksquashfs ${TARGET}/rootfs ${TARGET}/ramdisk/rootfs.squash # RAMDISK mkdir -p ${TARGET}/ramdisk/bin mkdir -p ${TARGET}/ramdisk/dev mkdir -p ${TARGET}/ramdisk/usr/lib/modules ln -s usr/lib ${TARGET}/ramdisk/lib mkdir -p ${TARGET}/ramdisk/proc mkdir -p ${TARGET}/ramdisk/sys cp ${TARGET}/helperfs/bin/busybox ${TARGET}/ramdisk/bin/busybox if [ !$QUIET ]; then echo '\n### Executing ramdisk_modules ###'; fi ${SCRIPTDIR}/bin/ramdisk_modules ${TARGET}/ramdisk ${TARGET}/rootfs ${KERNEL_VERSION} if [ !$QUIET ]; then echo '\n### Executing ramdisk_config ###'; fi ${SCRIPTDIR}/bin/ramdisk_config ${TARGET}/ramdisk ${KERNEL_VERSION} if [ !$QUIET ]; then echo '\n### Executing ramdisk_make ###'; fi ${SCRIPTDIR}/bin/ramdisk_make ${OUTPUT}/netboot/${ARCH}/initrd.img ${TARGET}/ramdisk # FIRMWARE tar cf ${TARGET}/firmware/firmware.tar --owner=root --group=root -C ${TARGET}/helperfs ./lib/firmware if [ !$QUIET ]; then echo '\n### Executing ramdisk_make ###'; fi ${SCRIPTDIR}/bin/ramdisk_make ${OUTPUT}/netboot/firmware.img ${TARGET}/firmware # KERNEL cp ${TARGET}/helperfs/boot/vmlinuz-${KERNEL_VERSION} ${OUTPUT}/netboot/${ARCH}/vmlinuz # DIST tar cvf ${OUTPUT}/wmirescue_${ARCH}-netboot.tar -C ${OUTPUT}/netboot . if [ !$QUIET ]; then echo '\n### Executing dist_ipxe ###'; fi ${SCRIPTDIR}/bin/dist_ipxe ${VERSION} ${OUTPUT} if [ !$QUIET ]; then echo '\n### Executing dist_ipxe --nofirmware ###'; fi ${SCRIPTDIR}/bin/dist_ipxe ${VERSION} ${OUTPUT} --nofirmware if [ !$QUIET ]; then echo '\n### Executing dist_iso ###'; fi ${SCRIPTDIR}/bin/dist_iso ${VERSION} ${ARCH} ${OUTPUT} if [ !$QUIET ]; then echo '\n### Executing dist_iso --nofirmware ###'; fi ${SCRIPTDIR}/bin/dist_iso ${VERSION} ${ARCH} ${OUTPUT} --nofirmware