Itās great to see this finally moving forward! Thanks for pushing it, Simon.
To cook an image for your target platform, please follow these steps:
- git clone https://github.com/snapcore/spread-images
- Edit spread.yaml and add your target system at the top
- Make sure the project restore section in spread.yaml makes sense to your system
- Run spread -reuse -shell <system>
- Once you get the shell, transform the whole image towards what you want
- Exit the shell
- The project restore will automatically run and ought to restore your image to a pristine state
- Fix the update procedure in tasks/update/task.yaml or create a new equivalent task if too different
- Run the update procedure with spread -reuse <system>:tasks/update
- Once that works, let me know the machine name and Iāll snapshot the image.
- Propose a PR to snapcore/spread-images with your changes.
Step 2 starts off from a pre-existing image. For Debian, we can start with debian-sid:
systems:
...
debian-testing:
kernel: GRUB 2
image: debian-sid
Note that the very first image baked will likely be based on a pre-existing Linode image such as āDebian 8ā, and those use a custom kernel from Linode, so the ākernel: GRUB 2ā line above needs to be temporarily commented out and after the image boots the real distribution kernel must be installed.
After the final image is baked, we drop that image line and always use GRUB 2 so that the kernel inside the image itself is used.