This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Firmware Path Error when trying to --run-fvp-morello-purecap CheriBSD

Hi,

I am trying to run CheriBSD on Morello FVP. I am using Ubuntu 18.04 and the latest version of cmake. When I try to run "./cheribuild.py run-fvp-morello-purecap" I am receiving the error "Fatal error (in target run-fvp-morello-purecap): Firmware path /home/oliver/cheri/output/morello-sdk/firmware/morello-fvp is invalid, set the --run-fvp-morello-purecap/firmware-path config option!".

I'm unsure how to solve this, could I please be advised how to set the config option if that's what I need to do?

Many thanks.

Parents
  • Info: Morello_Top: Morello_Top.soc.mcp_qspi_loader: FlashLoader: Loaded 28 kB from file '/home/oliver/cheri/output/morello-sdk/firmware/morello-fvp/mcp_image.bin'
    sh: 1: xterm: not found
    sh: 1: xterm: not found
    sh: 1: xterm: not found
    sh: 1: xterm: not found"

    This is your problem; Arm's FVP by default will spawn a bunch of terminal windows using xterm for the various serial consoles, and cheribuild will use that by default unless it detects you don't have X11 available (i.e. the DISPLAY environment variable isn't set). You should either install xterm or use --run-fvp/force-headless to turn that off and get just the main serial console in the current terminal window.

    I am using the FVP as this is all for a university project where I will later be using a physical Morello board instead of an emulator, this is just to allow me to try out CHERI programs and see how they function compared to other programs before that stage. Hope that makes sense!

    QEMU is almost certainly better for that; normal programs should function identically on the FVP and QEMU since they just care about the ISA. It's only the operating system and firmware that really cares about what it's running on, and even then most of the operating system parts are about the ISA still, not the specific device drivers. I would therefore still recommend QEMU, but the FVP should still work.

Reply
  • Info: Morello_Top: Morello_Top.soc.mcp_qspi_loader: FlashLoader: Loaded 28 kB from file '/home/oliver/cheri/output/morello-sdk/firmware/morello-fvp/mcp_image.bin'
    sh: 1: xterm: not found
    sh: 1: xterm: not found
    sh: 1: xterm: not found
    sh: 1: xterm: not found"

    This is your problem; Arm's FVP by default will spawn a bunch of terminal windows using xterm for the various serial consoles, and cheribuild will use that by default unless it detects you don't have X11 available (i.e. the DISPLAY environment variable isn't set). You should either install xterm or use --run-fvp/force-headless to turn that off and get just the main serial console in the current terminal window.

    I am using the FVP as this is all for a university project where I will later be using a physical Morello board instead of an emulator, this is just to allow me to try out CHERI programs and see how they function compared to other programs before that stage. Hope that makes sense!

    QEMU is almost certainly better for that; normal programs should function identically on the FVP and QEMU since they just care about the ISA. It's only the operating system and firmware that really cares about what it's running on, and even then most of the operating system parts are about the ISA still, not the specific device drivers. I would therefore still recommend QEMU, but the FVP should still work.

Children