Memo Date: 2018-07-18 MAAS version: 2.3
Curtin’s assumption is that a fairly rich Linux (Ubuntu) environment is booted.
But if your image is not Linux (Ubuntu) based, you could customize the image via:
-
Understand curtin stages
http://curtin.readthedocs.io/en/latest/topics/config.html
Stages:
[early, partititoning, network, extract, curthooks, hooks, late] -
Customize stages via curtin userdata preseed
https://docs.maas.io/2.3/en/nodes-custom -
Custom curtin hooks
http://curtin.readthedocs.io/en/latest/topics/curthooks.html
/curtin/curtin-hooks -
Maas reporting via /curtin/finalize as a workaround (If cloud-init is not feasible):
http://curtin.readthedocs.io/en/latest/topics/curthooks.html#finalize-hook
https://bazaar.launchpad.net/~roadmr/curtinator/trunk/view/head:/curtinator-oem/hooks/finalize -
cloud-init and openssh-server in target machine
- a. Networking initialization
- b. MAAS reporting "Deployed"
- c. setup ubuntu user and ssh authorized key.