Problem
The current installer uses libdistinst to install elementary OS packages to disk I believe. Thanks to @jumpyvi we now have a mkosi/systemd sysupdate PR that can generate an elementary OS 9 image, and then update it forever from there (even over major OS release versions 8=>9=>10!). We need a way to initially copy this image to the users' disk though.
Proposal
@danirabbit suggested I open a ticket here to start a discussion on the installer supporting different backends.
The installer could work the same as it does now, but on the last step instead of copying packages with libdistinst (or debootstrap?), do something like:
sudo dd if=Elementary_build_x86-64.raw of=/dev/sdX bs=4M status=progress conv=fsync
under the hood. Then reboot into the new image, as it does now.
We could even reuse the current live-build live iso generation, but simply copy the elementary OS image to that iso and then have the installer run the above command to the desired disk.
Prior Art (Optional)
Problem
The current installer uses
libdistinstto install elementary OS packages to disk I believe. Thanks to @jumpyvi we now have a mkosi/systemd sysupdate PR that can generate an elementary OS 9 image, and then update it forever from there (even over major OS release versions 8=>9=>10!). We need a way to initially copy this image to the users' disk though.Proposal
@danirabbit suggested I open a ticket here to start a discussion on the installer supporting different backends.
The installer could work the same as it does now, but on the last step instead of copying packages with
libdistinst(ordebootstrap?), do something like:sudo dd if=Elementary_build_x86-64.raw of=/dev/sdX bs=4M status=progress conv=fsyncunder the hood. Then reboot into the new image, as it does now.
We could even reuse the current
live-buildlive iso generation, but simply copy the elementary OS image to that iso and then have the installer run the above command to the desired disk.Prior Art (Optional)