You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The boring invocation of cheribuild.py run-riscv64-purecap --list-kernels works fine, but if I have --cheribsd-riscv64-purecap/kernel-config set (to CHERI-CAPREVOKE-QEMU, say) on the command line or in the config json, then --list-kernels explodes:
Traceback (most recent call last):
File "/cheri/source/cornucopia-modernize/cheribuild/cheribuild.py", line 42, in <module>
main()
File "/cheri/source/mainline/cheribuild/pycheribuild/__main__.py", line 258, in main
run_and_kill_children_on_exit(real_main)
File "/cheri/source/mainline/cheribuild/pycheribuild/processutils.py", line 717, in run_and_kill_children_on_exit
fn()
File "/cheri/source/mainline/cheribuild/pycheribuild/__main__.py", line 248, in real_main
target_manager.run(cheri_config)
File "/cheri/source/mainline/cheribuild/pycheribuild/targets.py", line 431, in run
target.execute(config)
File "/cheri/source/mainline/cheribuild/pycheribuild/targets.py", line 127, in execute
self._do_run(config, msg="Built", func=lambda project: project.process())
File "/cheri/source/mainline/cheribuild/pycheribuild/targets.py", line 112, in _do_run
func(project)
File "/cheri/source/mainline/cheribuild/pycheribuild/targets.py", line 127, in <lambda>
self._do_run(config, msg="Built", func=lambda project: project.process())
File "/cheri/source/mainline/cheribuild/pycheribuild/projects/run_qemu.py", line 501, in process
self._list_kernel_configs()
File "/cheri/source/mainline/cheribuild/pycheribuild/projects/run_qemu.py", line 486, in _list_kernel_configs
for conf in self._valid_kernel_configs():
File "/cheri/source/mainline/cheribuild/pycheribuild/projects/run_qemu.py", line 482, in _valid_kernel_configs
return self.source_project.get_kernel_configs(platform=ConfigPlatform.QEMU)
File "/cheri/source/mainline/cheribuild/pycheribuild/projects/cross/cheribsd.py", line 1711, in get_kernel_configs
default = super().get_kernel_configs(**filter_kwargs)
File "/cheri/source/mainline/cheribuild/pycheribuild/projects/cross/cheribsd.py", line 1451, in get_kernel_configs
assert config is not None, "Invalid configuration name"
AssertionError: Invalid configuration name
Attempting to run (with the various --[...]-roots set correctly, and not shown) without --list-kernels, i.e., .../cheribuild.py [...] --cheribsd-riscv64-purecap/kernel-config=CHERI-CAPREVOKE-QEMU run-riscv64-purecap, I am told
Fatal error: Dependency for run-riscv64-purecap missing: Loader/kernel is missing: /cheri/out/cornucopia-modernize/rootfs-riscv64-purecap/boot/kernel.CHERI-QEMU/kernel
If I replace --cheribsd-rsicv64-purecap with --run-riscv64-purecap/alternative-kernel (i.e., .../cheribuild.py [...] --run-riscv64-purecap/alternative-kernel=CHERI-CAPREVOKE-QEMU run-riscv64-purecap), then I am instead told
Fatal error: Selected kernel configuration CHERI-CAPREVOKE-QEMU is not available
If I happen to pass both--cheribsd-riscv64-purecap/kernel-config and --run-riscv64-purecap/alternative-kernel, I get a slightly different explosion that happens to point at a hackish edit I can make to be able to run my custom kernel again. Specifically, if I take out the attempt at a preflight check at
The boring invocation of
cheribuild.py run-riscv64-purecap --list-kernels
works fine, but if I have--cheribsd-riscv64-purecap/kernel-config
set (toCHERI-CAPREVOKE-QEMU
, say) on the command line or in the config json, then--list-kernels
explodes:Attempting to run (with the various
--[...]-root
s set correctly, and not shown) without--list-kernels
, i.e.,.../cheribuild.py [...] --cheribsd-riscv64-purecap/kernel-config=CHERI-CAPREVOKE-QEMU run-riscv64-purecap
, I am toldIf I replace
--cheribsd-rsicv64-purecap
with--run-riscv64-purecap/alternative-kernel
(i.e.,.../cheribuild.py [...] --run-riscv64-purecap/alternative-kernel=CHERI-CAPREVOKE-QEMU run-riscv64-purecap
), then I am instead toldIf I happen to pass both
--cheribsd-riscv64-purecap/kernel-config
and--run-riscv64-purecap/alternative-kernel
, I get a slightly different explosion that happens to point at a hackish edit I can make to be able to run my custom kernel again. Specifically, if I take out the attempt at a preflight check atcheribuild/pycheribuild/projects/run_qemu.py
Lines 457 to 459 in 1aa8e94
then everything runs as I expect:
The text was updated successfully, but these errors were encountered: