# --- T2-COPYRIGHT-BEGIN --- # t2/package/*/embutils/z-mkswap.patch # Copyright (C) 2024 - 2026 The T2 SDE Project # SPDX-License-Identifier: GPL-2.0 or patched project license # --- T2-COPYRIGHT-END --- --- embutils-0.19/mkswap.c.vanilla 2024-01-14 14:30:38.427442305 +0100 +++ embutils-0.19/mkswap.c 2024-01-14 14:58:21.016511460 +0100 @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include +#include + +void pf(const char*msg) { write(2,msg,strlen(msg)); } +void die(const char*msg) { pf(msg); exit(1); } + +int main(int argc,char *argv[]) { + if (argc <= 1) die("Usage: mkswap swap\n"); + + int fd = open(argv[1], O_RDWR), pagesize = sysconf(_SC_PAGE_SIZE); + if (fd <= 0) die("mkswap: error opening swap\n"); + + off_t len = lseek(fd, 0, SEEK_END); + if (len < 0) die("mkswap: error sizing swap\n"); + + unsigned int pages = (len / pagesize) - 1, swap[129] = {}; + + swap[0] = 1; + swap[1] = pages; + + lseek(fd, 1024, SEEK_SET); + write(fd, swap, 129 * sizeof(unsigned int)); + lseek(fd, pagesize - 10, SEEK_SET); + write(fd, "SWAPSPACE2", 10); + syncfs(fd); + + printf("Swap size: %luk\n", pages * (unsigned long)(pagesize / 1024)); + + return 0; +} --- embutils-0.19/Makefile.vanilla 2024-01-14 14:30:42.583442478 +0100 +++ embutils-0.19/Makefile 2024-01-14 14:30:46.979442661 +0100 @@ -15,7 +15,7 @@ sosrm soscp sosmv sosln soslns sleep2 uniq tr mesg du \ uuencode uudecode nohup nice cmp mktemp truncate test date \ printenv chrootuid renice \ -free losetup switch_root readlink swapon +free losetup switch_root readlink swapon mkswap OS:=$(shell uname) ifeq ($(OS),Linux)