From d84bb236a425c06a401813aaff84024eaf332e20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 28 May 2022 22:59:42 +0100 Subject: [PATCH] Add an argument to rootfs.py to preseed bootstrap with binary packages. --- rootfs.py | 5 ++++- sysa.py | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/rootfs.py b/rootfs.py index a1d4907..9c493d2 100755 --- a/rootfs.py +++ b/rootfs.py @@ -60,6 +60,8 @@ def main(): parser.add_argument("--no-create-config", help="Do not automatically create config file", action="store_true") + parser.add_argument("-r", "--repo", + help="Path to prebuilt binary packages.", nargs=None) # QEMU arguments parser.add_argument("-q", "--qemu", help="Use QEMU", @@ -137,7 +139,8 @@ print(shutil.which('chroot')) create_disk_image=False) system_a.prepare(mount_tmpfs=True, copy_sysc=True, - create_initramfs=False) + create_initramfs=False, + repo_path=args.repo) # sysa arch = stage0_arch_map.get(args.arch, args.arch) diff --git a/sysa.py b/sysa.py index db8954d..d354d01 100755 --- a/sysa.py +++ b/sysa.py @@ -34,7 +34,7 @@ class SysA(SysGeneral): self.sysb_dir = sysb_dir self.sysc_tmp = sysc_tmp - def prepare(self, mount_tmpfs, copy_sysc, create_initramfs): + def prepare(self, mount_tmpfs, copy_sysc, create_initramfs, repo_path): """ Prepare directory structure for System A. We create an empty tmp directory, unpack stage0-posix. @@ -54,6 +54,10 @@ class SysA(SysGeneral): if copy_sysc: self.sysc() + if repo_path: + repo_dir = os.path.join(self.tmp_dir, 'usr', 'src', 'repo-preseeded') + shutil.copytree(repo_path, repo_dir) + if create_initramfs: self.make_initramfs()