Skip to content

Commit 0509106

Browse files
authored
Merge pull request #127 from nathanchance/initrd-arg
boot-qemu.py: Allow user to supply their own ramdisk
2 parents ce3e3af + 749e3f9 commit 0509106

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

boot-qemu.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ def __init__(self):
4747
self.gdb = False
4848
self.gdb_bin = ''
4949
self.gh_json_file = None
50+
self.initrd = None
5051
self.interactive = False
5152
self.kernel = None
5253
self.kernel_dir = None
@@ -167,6 +168,8 @@ def _have_dev_kvm_access(self):
167168
return os.access('/dev/kvm', os.R_OK | os.W_OK)
168169

169170
def _prepare_initrd(self):
171+
if self.initrd:
172+
return self.initrd
170173
if not self._initrd_arch:
171174
raise RuntimeError('No initrd architecture specified?')
172175
return utils.prepare_initrd(self._initrd_arch,
@@ -821,6 +824,12 @@ def parse_arguments():
821824
help=
822825
'Use file for downloading rootfs images, instead of querying GitHub API directly'
823826
)
827+
parser.add_argument(
828+
'-I',
829+
'--initrd',
830+
help=
831+
'Initial ramdisk to use (default: Download ramdisk from ClangBuiltLinux/boot-utils releases)'
832+
)
824833
parser.add_argument(
825834
'-k',
826835
'--kernel-location',
@@ -919,6 +928,12 @@ def parse_arguments():
919928
if args.gh_json_file:
920929
runner.gh_json_file = Path(args.gh_json_file).resolve()
921930

931+
if args.initrd:
932+
if not (initrd := Path(args.initrd).resolve()).exists():
933+
raise FileNotFoundError(
934+
f"Supplied initrd ('{initrd}') does not exist?")
935+
runner.initrd = initrd
936+
922937
if args.memory:
923938
runner.memory = args.memory
924939

0 commit comments

Comments
 (0)