cloudius-systems / osv

OSv, a new operating system for the cloud.
osv.io
Other
4.09k stars 602 forks source link

Building raw images #1272

Closed m-mueller678 closed 11 months ago

m-mueller678 commented 11 months ago

The wiki suggests to use make img_format=raw when building an image for EC2. However, it looks like the Makefile has been deprecated and replaced by scripts/build, which does not appear to support img_format. Is EC2 still supported, and how would one build an AMI?

nyh commented 11 months ago

It's been years since I did this, so I'm not sure I have the most up-to-date answer, and I didn't check that it still works, but if I remember correctly, we decided that there is no need for make (or scripts/build) to care about the image format - it can always be converted later. So we have a separate scripts scripts/convert to convert the result of scripts/build to whatever format you want.

For example,

scripts/build image=...
scripts/convert raw
# now do something with build/last/osv.raw

The wiki should probably be updated with the right instructions.

nyh commented 11 months ago

Indeed, I wrote in commit b45542a8d241abbfd730503fb431538ee6899e58:

The information in README.md about the "img_format" make parameter is outdated. The current build script always builds a qcow2 image, and it can be converted by the scripts/convert script.

And indeed the README.md now says:

The ./scripts/build creates the image build/last/usr.img in qcow2 format. To convert this image to other formats, use the ./scripts/convert tool, which can convert an image to the vmdk, vdi or raw formats. For example:

./scripts/convert raw

I verified that scripts/convert still works.

So I'll close this issue. If you're up to it, please update the wiki where you found the out-of-date information.