DEPRECATED: FOR CURRENT WORK ON MORELLO CHERI PLEASE GO HERE
Layer adding support to OpenEmbedded/Yocto for Capability Hardware Enhanced RISC Instructions (CHERI)
Documentation:
- Slideshow Presentations from Digital Catapult
- https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/
- Install Docker
- Clone imx-docker to get your build environment
- Clone meta-clang into the root of your build environment. You can get meta-clang here
- Follow the steps in the meta-clang README to configure the local.conf files and add meta-clang to to bblayers.conf
-
Obtain cheribuild:
git clone https://github.com/CTSRD-CHERI/cheribuild.git
-
cd cheribuild
-
The following command line builds CheriBSD/RISC-V, QEMU-CHERI, and the complete toolchain including tools such as CHERI GDB, and runs the resulting image in QEMU:
./cheribuild.py --include-dependencies run-riscv64-purecap
mkdir morello_workspace
repo init -u https://git.morello-project.org/morello/manifest.git -b morello/release-1.1 -g bsp
repo sync
cd bsp
(should now see yocto files)MACHINE=morello-fvp DISTRO=poky . ./conf/setup-environment-morello
bitbake core-image-minimal
- Use etcher or similar flash tool to write image to a USB stick
- Modify bootloader (grub) file which has timeout set to 0
- IN the same file, edit the boot root FS e.g. SDA/SDA2