From 818b222f2a36af4bcd3754ccb7906b2755aeb907 Mon Sep 17 00:00:00 2001 From: mykola2312 <49044616+mykola2312@users.noreply.github.com> Date: Sat, 3 Aug 2024 00:29:36 +0300 Subject: [PATCH] implement heuristic random filesystem filling. for boot its random modules + kernel, for root its recreation of FreeBSD's file structure, for stress testing purposes. The Makefile containts proper target doing all required steps to recreate disk image with 1 test partition and 2 real-life example EXT2 partitions. --- .gitignore | 2 ++ Makefile | 20 +++++++++++++++- gen/generate_files.py | 53 ++++++++++++++++++++++++++++++++++++++++++ gen/rootfs-dirs.gz | Bin 0 -> 272129 bytes 4 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 gen/generate_files.py create mode 100644 gen/rootfs-dirs.gz diff --git a/.gitignore b/.gitignore index c6e49ef..3fd1587 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ +.vscode/ obj/ bin/ +mnt/ \ No newline at end of file diff --git a/Makefile b/Makefile index 5462a57..655350d 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,9 @@ CC = gcc CLFAGS = -g -Wall LDFLAGS = -g +UID := $(shell id -u) +GID := $(shell id -g) + DISK = bin/disk.img DISK_SIZE = 268435456 DISK_LOOP = /dev/loop690 @@ -38,7 +41,10 @@ PART3_LOOP = /dev/loop693 .PHONY: clean -$(DISK): +mnt: + mkdir mnt + +$(DISK): mnt # create img file truncate -s 256m $(DISK) # format img file in MBR and create partitions @@ -60,6 +66,18 @@ $(DISK): sudo mkfs.ext2 -t $(PART2_FSTYPE) -L $(PART2_LABEL) -U $(PART2_UUID) $(PART2_LOOP) sudo mkfs.ext2 -t $(PART3_FSTYPE) -L $(PART3_LABEL) -U $(PART3_UUID) $(PART3_LOOP) # fill EXT2 partitions + # mount and fill boot partition + sudo mount $(PART2_LOOP) mnt/ # mount + sudo chown -R ${UID}:${GID} mnt/ # because we ain't gonna run python with root, so own it by user + python gen/generate_files.py --mode=boot --dirs=gen/rootfs-dirs.gz --path=mnt + sudo chown -R 0:0 mnt/ # make it root + sudo umount mnt/ # done + # mount and fill root partition + sudo mount $(PART3_LOOP) mnt/ # mount + sudo chown -R ${UID}:${GID} mnt/ # because we ain't gonna run python with root, so own it by user + python gen/generate_files.py --mode=root --dirs=gen/rootfs-dirs.gz --path=mnt + sudo chown -R 0:0 mnt/ # make it root + sudo umount mnt/ # done # detach loopback devices sudo losetup -d $(PART1_LOOP) sudo losetup -d $(PART2_LOOP) diff --git a/gen/generate_files.py b/gen/generate_files.py new file mode 100644 index 0000000..7e0a94b --- /dev/null +++ b/gen/generate_files.py @@ -0,0 +1,53 @@ +import os +import os.path +import sys +import gzip +import string +import random + +def get_arg(name): + return "".join(list(filter(lambda arg: arg.startswith(f"--{name}="), sys.argv))[0].split("=")[1:]) + +def rand_string(strlen): + return ''.join(random.choice(string.ascii_lowercase) for x in range(strlen)) + +def rand_file(fpath, size): + rand = open("/dev/urandom", "rb") + with open(fpath, "wb") as file: + file.write(rand.read(size)) + rand.close() + +def fill_boot(path): + # fill modules dir + os.mkdir(os.path.join(path, "modules")) + for _ in range(24): + rand_file(os.path.join(path, "modules", rand_string(14)), random.randint(1024*3, 1024*1024)) + # generate some configs + for _ in range(10): + rand_file(os.path.join(path, rand_string(8)), random.randint(16, 1024)) + # write stage2 and kernel + rand_file(os.path.join(path, "stage2"), 8192) + rand_file(os.path.join(path, "kernel"), 1024*1024*16) + +def fill_root(path, dirs): + with gzip.open(dirs, "rt") as dirs: + for dir_path in dirs: + dir = dir_path[1:].strip() + if not dir: continue + os.mkdir(os.path.join(path, dir.strip())) + + +if __name__ == "__main__": + path = get_arg("path") + dirs = get_arg("dirs") + mode = get_arg("mode") + + if not os.path.exists(path): + sys.stderr.write("the mnt dir doesn't exists. preventing disaster") + sys.exit(1) + + if mode == "boot": fill_boot(path) + elif mode == "root": fill_root(path, dirs) + else: + sys.stderr.write("unkown mode\n") + sys.exit(1) \ No newline at end of file diff --git a/gen/rootfs-dirs.gz b/gen/rootfs-dirs.gz new file mode 100644 index 0000000000000000000000000000000000000000..ab19ef98f31fe7570072e93b24b3f15143b2ceb7 GIT binary patch literal 272129 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