Skip to content

Commit 07485f0

Browse files
committed
Use make's user to build firecracker and its jailer
Building firecracker doesn't need "--privileged" and files generated by this "docker run" shouldn't be owned by root. Signed-off-by: Kazuyoshi Kato <[email protected]>
1 parent 0e4c15b commit 07485f0

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

Makefile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ FIRECRACKER_BIN=testdata/firecracker-master
2121
JAILER_BIN=testdata/jailer-master
2222
FIRECRACKER_TARGET?=x86_64-unknown-linux-musl
2323

24+
UID = $(shell id -u)
25+
GID = $(shell id -g)
26+
2427
# The below files are needed and can be downloaded from the internet
2528
testdata_objects = testdata/vmlinux testdata/root-drive.img testdata/firecracker
2629

@@ -70,18 +73,18 @@ test-images: $(FIRECRACKER_BIN) $(JAILER_BIN)
7073

7174
$(FIRECRACKER_BIN) $(JAILER_BIN): tools/firecracker-builder-stamp
7275
docker run --rm -it \
73-
--privileged \
76+
--user $(UID):$(GID) \
7477
--volume $(CURDIR)/testdata:/artifacts \
7578
--volume $(CARGO_CACHE_VOLUME_NAME):/usr/local/cargo/registry \
7679
-e HOME=/tmp \
7780
--workdir=/firecracker \
7881
localhost/$(FIRECRACKER_BUILDER_NAME):$(DOCKER_IMAGE_TAG) \
79-
$(FIRECRACKER_TARGET)
82+
$(FIRECRACKER_TARGET)
8083

8184
.PHONY: firecracker-clean
8285
firecracker-clean:
8386
- docker run --rm -it \
84-
--privileged \
87+
--user $(UID):$(GID) \
8588
--workdir /firecracker\
8689
localhost/$(FIRECRACKER_BUILDER_NAME):$(DOCKER_IMAGE_TAG) \
8790
cargo clean

tools/docker/entrypoint.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
22

3-
cargo build --release --target $@
4-
cp build/cargo_target/x86_64-unknown-linux-musl/release/firecracker /artifacts/firecracker-master
5-
cp build/cargo_target/x86_64-unknown-linux-musl/release/jailer /artifacts/jailer-master
3+
cargo build --release --target-dir=/artifacts --target $@
4+
cp /artifacts/x86_64-unknown-linux-musl/release/firecracker /artifacts/firecracker-master
5+
cp /artifacts/x86_64-unknown-linux-musl/release/jailer /artifacts/jailer-master

0 commit comments

Comments
 (0)