# Changing rust-root-task-demo from targeting aarch64 to x86\_64

**URL:** https://sel4.discourse.group/t/changing-rust-root-task-demo-from-targeting-aarch64-to-x86-64/1049
**Category:** Uncategorized
**Created:** [May 8, 2026, 8:21pm UTC](https://sel4.discourse.group/t/changing-rust-root-task-demo-from-targeting-aarch64-to-x86-64/1049 "2026-05-08T20:21:24Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![bpisch](https://avatars.discourse-cdn.com/v4/letter/b/ed655f/32.png) [@bpisch](https://sel4.discourse.group/u/bpisch)
#### Post date: [May 8, 2026, 8:21pm UTC](https://sel4.discourse.group/t/changing-rust-root-task-demo-from-targeting-aarch64-to-x86-64/1049/1 "2026-05-08T20:21:24Z")

</div>

Dear Community,

I am a completely new seL4 developer wanting to explore possibilities with Rust on seL4. I have successfully booted the sel4/rust-root-task-demo repository’s system with the default configuration. However it builds for aarch64, and I would like to experiment by targeting x86\_64 as I am more familiar with its virtual memory mechanisms and its instruction set so debugging and inspecting the system would be easier.

I changed the dockerfile to target the pc99 target platform instead of the default aarch64, however the sel4-platform-info crate throws an error because if I build this way, the support/platform\_gen.yaml file is missing.

I tried to figure out the error on my own, but I got lost in the build system.

Does anyone have any idea about how could I resolve this problem?

Here are below two files - the first one is my Dockerfile, the second is the build log…

Thank you in advance.

Dockerfile:  
**[https://paste.debian.net/hidden/53d0c421](https://paste.debian.net/hidden/53d0c421)  
Error:**

**[https://paste.debian.net/hidden/a6857b98](https://paste.debian.net/hidden/a6857b98)**

---

<div class="post-metadata">

### Author: ![nspin](https://yyz2.discourse-cdn.com/free1/user_avatar/sel4.discourse.group/nspin/32/77_2.png) [@nspin](https://sel4.discourse.group/u/nspin)
#### Post date: [May 12, 2026, 8:46am UTC](https://sel4.discourse.group/t/changing-rust-root-task-demo-from-targeting-aarch64-to-x86-64/1049/2 "2026-05-12T08:46:04Z")

</div>

Booting seL4 on x86 platforms works differently than arm and riscv platforms. The build error you observed is most immediately caused by the fact that `platform_gen.yaml` doesn’t exist on x86 platforms. However, the real issue is that the `sel4-kernel-loader`program, which depends on the `sel4-platform-info` crate, is not needed to boot seL4 on x86 platforms, and it does not support those platforms.

This branch [1] shows how you could modify that demo’s Dockerfile and Makefile to target x86\_64. Note how `sel4-kernel-loader`is cut out.

[1] [GitHub - nspin/rust-root-task-demo at demo/x86\_64 · GitHub](https://github.com/nspin/rust-root-task-demo/tree/demo/x86_64)
