Skip to content
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

quark builder #3

Open
sameo opened this issue Feb 18, 2022 · 7 comments · May be fixed by #7
Open

quark builder #3

sameo opened this issue Feb 18, 2022 · 7 comments · May be fixed by #7
Assignees
Labels

Comments

@sameo
Copy link
Contributor

sameo commented Feb 18, 2022

The quark builder is a CLI tool for building images for lumper to boot.

Those images will be made of:

  1. A minimal Linux guest kernel
  2. A minimal initramfs image containing:
    a. A run0 binary
    b. A container image

The output of the builder will be a quark bundle, i.e. a quardle.
A quardle is a compressed tarball (tar gz) made of a kernel, an initrd and a config file (quark.json).

quark.json must at least contain the kernel and initrd file names, a kernel command line and the container URL.

CLI

Building a quardle with the container image bundled into the initramfs image:

quark build  --image <container_image_url> --offline --quardle <quardle_name>

Building a quardle with the container image to be pulled from within the guest:

quark build  --image <container_image_url> --quardle <quardle_name>

Output

The above command will generate quardle_name.qrk

@sameo sameo added the 8 points label Feb 21, 2022
@leofvo leofvo self-assigned this Feb 21, 2022
@jlabatut jlabatut self-assigned this Feb 21, 2022
@leofvo
Copy link
Contributor

leofvo commented Feb 22, 2022

What should we use for the following?

  • A minimal Linux guest kernel
  • A minimal initramfs image

@leofvo
Copy link
Contributor

leofvo commented Feb 22, 2022

Those images will be made of:

  1. A minimal Linux guest kernel
  2. A minimal initramfs image containing:
    a. A run0 binary
    b. A container image

How do we have to get the kaps (old run0) binary ?

@sameo
Copy link
Contributor Author

sameo commented Feb 22, 2022

Those images will be made of:

  1. A minimal Linux guest kernel
  2. A minimal initramfs image containing:
    a. A run0 binary
    b. A container image

How do we have to get the kaps (old run0) binary ?

You'd build it from source.

@sameo
Copy link
Contributor Author

sameo commented Feb 22, 2022

What should we use for the following?

  • A minimal Linux guest kernel
  • A minimal initramfs image

https://github.com/virt-do/lab/tree/main/do-vmm could be a good starting point.

@leofvo
Copy link
Contributor

leofvo commented Mar 25, 2022

Hey @sameo, i don't understand what you're expecting from "a kernel command line" in :
quark.json must at least contain the kernel and initrd file names, a kernel command line and the container URL.
Can you give me more details plz

@sameo
Copy link
Contributor Author

sameo commented Mar 30, 2022

Hey @sameo, i don't understand what you're expecting from "a kernel command line" in : quark.json must at least contain the kernel and initrd file names, a kernel command line and the container URL. Can you give me more details plz

Hey @leofvo . This is the set of kernel parameters that you pass to a kernel when booting it. This is our default kernel command line, but this is something that should be configurable. So quark.json should have a field containing that command line, and that's a string.

Does that make sense?

See https://www.freedesktop.org/software/systemd/man/kernel-command-line.html as well.

@jlabatut
Copy link

jlabatut commented Apr 7, 2022

Hi @sameo, about the kernel command line contained in the quark.json file, should it be configurable with the CLI when building a quardle ? Therefore, would it be useful to let the user state his own quark.json, with an option of the CLI ?

If not, all the config (kernel & initrd file names, kernel cli) should be hard-coded ? Am I right ?

@jlabatut jlabatut linked a pull request Apr 7, 2022 that will close this issue
@JeremyLARDENOIS JeremyLARDENOIS self-assigned this May 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants