-
Notifications
You must be signed in to change notification settings - Fork 35
chromium headless unikernel #8
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
Conversation
5974328 to
3ad96fc
Compare
3ad96fc to
1326adf
Compare
…s :/ kernel panic if the list of args is too long ``` [ 0.023198] Kernel panic - not syncing: Too many boot init vars at `/usr/bin/wrapper.sh' ```
| docker build --platform linux/amd64 -t "$IMAGE" . | ||
| docker rm cnt-"$app_name" || true | ||
| docker create --platform linux/amd64 --name cnt-"$app_name" "$IMAGE" /bin/sh | ||
| docker cp cnt-"$app_name":/ ./.rootfs | ||
| rm -f initrd || true | ||
| mkfs.erofs --all-root -d2 -E noinline_data -b 4096 initrd ./.rootfs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just to confirm: this difference from the headful image is due to requirements for erofs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah this is how the final filesystem for the vm is constructed. In the headful image we use kraft's built in support for Dockerfiles but that doesn't use erofs. So here we use the Dockerfile "by hand" and construct the root fs for the VM, and then reference that folder in the Kraftfile
Headless chromium image!
Main features:
./{build,run}-docker.sh) for local testing./{build,run}-unikernel.sh) uses erofs for max resource efficiency (erofs == memory on demand, cpio == first allocate all in memory, then use)