Deploying Endless OS

I have 10-20 laptops of various makes and models I’d like to deploy Endless to for donation to Pacific island schools.

Most of these laptops have at least 320gb HDD so I want to make maximum use of that space.

What is the best / most efficient way to deploy Endless OS to multiple devices with additional pre-installed packages and/or multimedia files?

@JTP
https://support.endlessm.com/hc/en-us/articles/212053683-How-do-I-create-a-USB-stick-from-an-image-file-I-have-already-downloaded-


https://support.endlessm.com/hc/en-us/articles/214475423-How-can-I-download-the-codecs-to-play-more-types-of-music-and-videos-
http://store.endlessm.com/products/codecs

Thanks @LeandroStanger but I’m already aware of the default install method via USB.

I’m wanting to know how to deploy Endless to multiple different devices with additional packages pre-installed (without having to install packages manually on each device).

e.g.

  • Install Endless OS on master PC
  • Install additional packages
  • Take image of master PC
  • Deploy image to multiple PCs

However I don’t think you can just clone a Linux image to different hardware can you?

1 Like

@JTP
https://support.endlessm.com/hc/en-us/articles/210527043-What-is-the-difference-between-the-Basic-and-Full-versions-
https://support.endlessm.com/hc/en-us/articles/210526883-Which-computers-or-hardware-are-not-supported-

@LeandroStanger I think @JTP is already aware of all that…

@JTP We don’t really have a supported way to do this at the moment, but if you clone the hard disk image it should work on other hardware. A few things you’d need to know:

  • The Endless OS installation process essentially just images the hard disk (like dd).
  • Endless OS, when it is first booted, resizes its root partition to fill free space on the disk. If you wanted to go down this road, you’d need to make your “master” image on the smallest hard disk you want to support. You can trigger this repartitioning behaviour on a subsequent boot by setting flag 55 on the ostree partition (the syntax for sfdisk is attrs=GUID:55 on the relevant partition).
  • You’d also want to use a machine with EFI firmware (not BIOS) to create your master image. At the end of the installation process, if the current machine has a BIOS, the reformatter converts the partition table from GPT to MBR, rendering it unbootable on EFI machines. We do this because some BIOSes can’t boot the unmodified image, but may (most?) can.
  • You should randomize /etc/machine-id on each machine. The easiest way to do this is to delete it from your disk image.
  • There may be other machine-specific identifiers that should be randomised that I haven’t thought of. (The first-boot repartitioning script randomises the GUIDs in the partition table.)
2 Likes

Perfect thanks @wjt just the info I was after.

I’ll make a master image then and use Clonezilla to provision it to the other machines.

1 Like