Dockerfiles - "camkes-rust" Image
Dear seL4 developers, I am using the provided dockerfiles repository to build the docker images in order to compile seL4. I would like to add a rust compiler to my docker image, which I do with "./build.sh -p -b camkes -s rust". This builds an image tagged "trustworthysystems/camkes-rust". I would like to launch this image in a container using the "Makefile" as I would do for the "trustworthysystems/camkes" image (using "make user"). I tried adding targets to the "Makefile" file changing the "USER_BASE_IMG" variable to use "trustworthysystems/camkes-rust" instead of "trustworthysystems/camkes", without success. I also tried to force the image by renaming/retagging "trustworthysystems/camkes " to "trustworthysystems/camkes-old" and "trustworthysystems/camkes-rust" to "trustworthysystems/camkes ". I also forced every base image to be the one containing the Rust compiler (in "Makefile"). All without success. For some reason "trustworthysystems/camkes-rust" image is never used. If I start it manually using docker commands I am able to launch and attach to it, getting the expected Rust compiler. Through the "Makefile" it ever only uses "trustworthysystems/camkes" without the Rust compiler. Is there an easy way to get this to work? What am I missing? Best regards, Cedric =============================================================================== The ICRC - working to protect and assist people affected by armed conflict and other situations of violence. Find out more: www.icrc.org This e-mail is intended for the named recipient(s) only. Its contents are confidential and may only be retained by the named recipient (s) and may only be copied or disclosed with the consent of the International Committee of the Red Cross (ICRC). If you are not an intended recipient please delete this e-mail and notify the sender. ===============================================================================
Hello Cedric,
Thanks for the report. I believe the best way to use the camkes-rust image is to run this:
make user CAMKES_IMG=camkes-rust
However, in saying that, it unfortunately does not perform quite as hoped. Because of the way the code is built, it ends up putting the Cargo/Rust content into /root/.cargo, which is inaccessible to you as a non-root user.
This is an oversight on my part, as unfortunately these interactive bits of the Dockerfile system don't get tested automatically.
I've made a PR on GitHub, which shows the fixes needed: https://github.com/SEL4PROJ/seL4-CAmkES-L4v-dockerfiles/pull/24
Note that the master branch has also been recently updated, so you may need to pick further commits from there (or simply pull them all down first) for things to work.
Let me know if that helps.
Cheers,
Luke
--
Dr Luke Mondy, Systems Administrator,
P +61 2 9490 5773 | https://ts.data61.csiro.au
Trustworthy Systems | DATA61 | CSIRO
CSIRO Staff Association Delegate
Hours at CSIRO
Monday: 9:00am to 5pm
Tues, Wed, Fri: 1:30pm to 5pm
________________________________________
From: Devel
participants (2)
-
Cedric MAIRE
-
Mondy, Luke (Data61, Kensington NSW)