SystemImager does not support natively diskless systems. Ferrol Aderholt has been working on the extension of SIS for such a support. The current implementation only provides some basic diskless configurations; the goal was to have a non-intrusive solution, that you could test easily.
The user needs only modify a configuration file. This file is /etc/systemimager/diskless.conf.
< ip > < path_to_kernel > < method_of_boot >
The < method_of_boot > section can define three methods: nfs-root, ramfs-rsync, ramfs-http.
/usr/sbin/si_prepareclient was modified in order to include a flag that can be used to signify whether or not modifications should be done. The proper call is:
/usr/sbin/si_prepareclient --diskless
It looks to see if that flag is there and then calls a function named diskless(). This function makes use of a perl module, /usr/lib/systemimager/perl/SystemImager/Diskless.pm, that contains most of the code that was used in si_mkdiskless. After the function, diskless(), returns si_prepareclient exits. This can be changed, it was just seen as a possible annoyance to have some parts of si_prepareclient to run if the user only wanted the diskless portion to run.
Few details about how each option works:
The current prototype has been fully tested only on Fedora systems. You may encounter issues with other Linux distributions. If such a case, please feel free to contact directly the SRT team.