0

I am playing around with firecrackver VMM. I have extracted rootfs from a python docker image like this.

docker export $(docker create python:latest) --output="python.tar" mkdir python tar -xf python.tar -C python/ dd if=/dev/zero of=python.ext4 bs=1M count=1500 mkfs.ext4 python.ext4 mkdir python-mnt sudo mount python.ext4 python-mnt sudo cp -r python/* python-mnt/ sudo umount python-mnt 

I am using the kernel that is provided in the firecracker readme.

If I try running this sudo ./firecracker --api-sock "fc1.socket" --config-file vmconfig.json I will get kernel panic because it cant find init system.

I compiled suckless init (sinit) and tried using that but my vm doesnt start. I might be doing something wrong with my config file

{ "boot-source": { "kernel_image_path": "vmlinux", "boot_args": "console=ttyS0 reboot=k panic=1 pci=off " }, "drives": [ { "drive_id": "init", "is_root_device": false, "is_read_only": false, "path_on_host": "sinit" }, { "drive_id": "rootfs", "is_root_device": true, "is_read_only": false, "path_on_host": "python.ext4" } ], "machine-config": { "vcpu_count": 2, "mem_size_mib": 1024, "smt": false, "track_dirty_pages": false, "huge_pages": "None" }, "cpu-config": null, "balloon": null, "network-interfaces": [], "vsock": null, "logger": null, "metrics": null, "mmds-config": null, "entropy": null } 

I have two drives here because I am following https://github.com/superfly/init-snapshot/blob/public/README.md this example. It has not worked so I thought of starting with a simple init.

PS: I am very new to this subject and I am interested to learn more. I might have asked a very stupid question and please point me to resources where I can learn about it.

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.