From 6732ef90edc6a50f580786b490303a3f77d879a3 Mon Sep 17 00:00:00 2001 From: Patrick Roy Date: Fri, 28 Oct 2022 14:18:18 +0000 Subject: [PATCH 1/2] Give hint about cargo build failing on ARM Updates the documentation to include information about us setting a default target in .cargo/config which is incompatible with ARM Signed-off-by: Patrick Roy --- docs/getting-started.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/docs/getting-started.md b/docs/getting-started.md index 5156594fa75e..5fb1e5e051e7 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -314,6 +314,17 @@ arguments is available via: tools/devtool --help ``` +### Alternative: Building Firecracker without devtool + +It is possible to build Firecracker without invoking `devtool` by instead +running `cargo build`. However, binaries generated like this should not +be used in production and are considered experimental. + +Note that the default target for Firecracker is `x86_64-unknown-linux-musl` +(set in `.cargo/config`). If you want to build an ARM binary, you need to +pass `--target aarch64-unknown-linux-musl` to `cargo build`, even if +compiling on an ARM machine. Otherwise it will try to build an `x86_64` binary. + ### Alternative: Building Firecracker using glibc The toolchain that Firecracker is tested against and that is recommended for @@ -331,9 +342,8 @@ arch=`uname -m` cargo build --target ${arch}-unknown-linux-gnu ``` -That being said, Firecracker binaries linked with glibc or built without -`devtool` are always considered experimental and should not be used in -production. +That being said, Firecracker binaries linked with glibc are always considered +experimental and should not be used in production. ## Running the Integration Test Suite From 4f853c84ec4ca72e69f0e8d742c0b507564d6614 Mon Sep 17 00:00:00 2001 From: Patrick Roy Date: Mon, 31 Oct 2022 15:14:03 +0000 Subject: [PATCH 2/2] Fix command in docker login docs the alternative command provided for step 1 did not include the `--region` parameter, causing it to fail Signed-off-by: Patrick Roy --- docs/devctr-image.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devctr-image.md b/docs/devctr-image.md index 2532c6341485..76ae552188e6 100644 --- a/docs/devctr-image.md +++ b/docs/devctr-image.md @@ -35,7 +35,7 @@ registry. The Firecracker CI suite must also be updated to use the new image. ```bash docker login --username AWS --password \ - $(aws ecr-public get-login-password) public.ecr.aws + $(aws ecr-public get-login-password --region us-east-1) public.ecr.aws ``` 1. Navigate to the Firecracker directory. Verify that you have the latest