Sheep Live is a live Linux distribution used as a runtime environment for Sheep.
Sheep could be run from any Linux distribution as soon as all the dependencies are present.
Providing a specific distribution gives two major advantages to avoid undesirable side effects
- A Linux environment to run Sheep with all the needed material for Sheep inside. It avoid internet interaction during the Sheep process
- A distribution used to test and validate sheep int the continus integration platform
Sheep Live is a Debian 10 Linux based on the GRML Live building system.
For development purpose, it can be built easily using Vagrant and Virtual Box.
Basically run
$ vagrant up
When the command is done, built artifacts can be found in the build/
folder:
vmlinuz
- Linux kernelinitrd.img
- Linux init ramdisksheep-live.squashfs
- Root filesystem
To re-run the build
$ vagrant provision
The purpose of Sheep Live is primarily to network boot a server.
Depending on your specificities (Legacy boot or EUFI boot and the bootloader you use) your standard process applies to network boot your server using Sheep Live.
As Sheep Live is built on top of GRML, GRML kernel parameters can be used to tune your configuration.
Here are the Sheep specific kernel parameters to automatically run Sheep when Sheep Live is booted:
sheep.script=http://...
- URL to download Sheep script fromsheep.config=http://...
- URL to download the Sheep YAML configuration for your machineservices=sheep
- To automatically start the Sheep service on boot (automatically install linux on your drive).
without the services
parameter you'll have to log into Sheep Live to run the Sheep service
$ systemctl start sheep
Below a sample boot configuration compatible with pxelinux
and syslinux
bootloaders
DEFAULT sheep
label sheep
kernel /vmlinuz
append boot=live fetch=http://<BOOT_SERVER>/sheep-live.squashfs initrd=/initrd.img ssh=sheep sheep.script=http://<BOOT_SERVER>/sheep sheep.config=http://<BOOT_SERVER>/sheep.yml services=sheep