• Is the OP the author of this? Because they are writing responses here that are unquestionably unedited LLM generated responses. The project looks cool, and I'm particularly glad to see a reach for a p2p container registry, but that sort of behavior doesn't lend credibility to something as critical as image infrastructure.
    • It looks like OP only has an account here to self-promote, which also puts them in the same credibility tier as an advertiser.
    • I hate how I feel about this: the sole contributor's account is not 2 month old, and yet they have created an org for this project, with all the bells and whistles in the README.

      To me, a project that young, with a unique developer at the helm, cannot look "that nice", so I can't resist seeing it as too nice to be true, and being actually a scam or whatever.

      I know that, thanks to AI, a solo dev can not only orchestrate an actual projects in a few days, but can ALSO take time to make a good looking README.

      When, in the past, the focus was first on the code, then on the README.

  • "memmap2" link in readme is broken btw, I think your llm means memmap-rs
  • Sweet. I had hoped for someone to make a p2p container registry eventually. There is too much centralization with the current popular registries.
  • Where does the microvm kernel/initrd come from? How can it be built?

    I just want a system that's as easy as "docker run ubuntu" but launches as a microvm instead, without me having to source a kernel or remember hugenormously long qemu incantation lines.

    • Looks like everyone is converging on the same idea these days :-)

      You might be interested in my project then: https://github.com/virtkit-dev/virtkit (also inspired by smolvm and similar projects). Default kernel included, but can also boot a custom kernel if necessary.

      I built it at work to replace years of accumulated tooling around complex multi-stage docker/docker-compose builds. The same workloads now run more securely, often faster, and with much less disk space. Also acts as a Gitlab executor to run CI jobs in microvms :-)

      Obviously built with AI (this would otherwise have been a multi-year effort... and therefore not exist at all!) but I think the design is not bad.

      Still beta and under-documented, but already quite usable.

    • You can do this with libkrun. I use it as a podman backend which works exactly as you describe here.

          podman run --rm -it --runtime=krun ubuntu sh
    • I think `smolvm` may fit the bill? I've been using it to run pi.dev in a sandbox.

      https://smolmachines.com/

      • I tried smolvm, and built several single binaries with it for different distros. Less than a month later, those same binaries now silently exit with code 0 and I have absolutely no idea what's wrong or how to diagnose.
    • We will be soon including this in Tarit, a firecracker alternative https://github.com/instavm/tarit

      Currently we have to supply a kernel to run the OCI as a microVM with a warm pool.

        TARIT_KERNEL=/path/vmlinux
      
        taritd image build --oci ubuntu:24.04 --name ubuntu
        taritd vm create --image ubuntu
    • The kernel/initrd come from a regular OCI container image — there's no separate VM image format. Any OCI image containing /boot/vmlinux (and optionally /boot/initramfs.cpio.gz) works as a kernel image.
      • I don't think I've ever seen a kernel or initrd in a container image. The whole point of containers is not to duplicate the kernel, and you definitely don't need an initial ram disk since you already have a running operating system.
      • And if they don't have a kernel? You just specify kernel + initrd?
        • you don't have to source one manually — pullrun kernel install fetches a kata containers kernel into ~/.pullrun/kernels/vmlinux-<version>. One-time setup, then the daemon auto-discovers it.
          • If you run an ubuntu image with a kata kernel, do you have difficulty installing some packages? For example if you need linux-headers-$(uname -r) or linux-modules-extra-$(uname -r), it won't exist in canonical apt repos?
        • [dead]