Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add instructions for creating a guest linux #38

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions VM/CAmkESARMVM.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,26 @@ bootelf
## Notes
The default setup does not pass though many devices to the Linux kernel. If you `make menuconfig` you can set `insecure` mode in the `Applications` submenu; this is meant to pass through all devices, but not
everything has been tested and confirmed to work yet. In particular, the SMMU needs to have extra entries added for any DMA-capable devices such as SATA.

## Creating a guest Linux

Running Linux as a guest on seL4 requires constructing an image and initial file system for the specific platform you are targetting.

1. Download buildroot https://buildroot.org/
```
cd buildroot
```
2. If you are lucky there is an existing config for your platform. Type `make list-defconfigs` to see existing configs.
```
make list-defconfigs` # view all existing configs
```
For example, for the imx8mq-evk platform, we used the `freescale_imx8mqevk_defconfig`.
```bash
make freescale_imx8mqevk_defconfig # configure build root to create that config
```
Otherwise you need to manually create a config for your platform.
3. Build the buildroot
```make```
4. Wait for it to build (< 1h)
5. To be continued...