This tool automates the generation of LibreSchool iso
Go to file
Paolo Asperti 5e5ad23be7
added more dependencies
2019-05-06 01:41:06 +02:00
anaconda/usr/share/anaconda/pixmaps wip 2019-04-22 12:04:59 +02:00
root added packages 2019-05-06 00:30:26 +02:00
.drone.yml fixed repo location 2019-04-23 18:46:46 +02:00
.gitignore added more nethserver packages 2019-04-27 22:18:43 +02:00
LICENSE Initial commit 2019-04-19 06:03:06 +00:00
README.md package group 2019-04-28 18:06:44 +02:00
packages.list added more dependencies 2019-05-06 01:41:06 +02:00

README.md

libreschool-iso

Build Status

This tool automates the generation of LibreSchool iso

how to locally create your ISO file

First, download the build container:

docker pull registry.libreschool.org/libreschool-automation/libreschool-iso-builder:latest

Then start it with these parameters:

docker run --rm \
  -v "$PWD:/drone/src" \
  -w "/drone/src" \
  registry.libreschool.org/libreschool-automation/libreschool-iso-builder:latest

If you want to skip the download of the source ISO, you can provide an already downloaded one:

docker run --rm \
  -v "$PWD:/drone/src" \
  -v "$HOME/Downloads/nethserver-7.6.1810-x86_64.iso:/source.iso:ro" \
  -w "/drone/src" \
  registry.libreschool.org/libreschool-automation/libreschool-iso-builder:latest

Components

This ISO creation script has 3 main components:

  • the anaconda folder: this stores all the customizations for the installer, basically only images;
  • the root folder: this contains all the custom files that are applied over the NethServer source ISO;
  • the packages.list file: this contains all the URLs of the packages required for this customization;

How to modify the ISO

The isolinux background image (the one that's displayed when booted from DVD or non-UEFI USB) is stored in root/isolinux/splash.jpg. The other images (used in the installer) are in anaconda/usr/share/anaconda/pixmaps. To add a package, you have to include the URL in the package.list file, then you have to tell the installer to use it: in the kickstart files (the ones in the /ks folder of the ISO), in the "%packages" section, we specify the packages and the package groups that are going to be installed; if you think that the package is needed in a specific installation type, then modify the kickstart file. Otherwise, if the package should be installed in all installation types, you have to modify the package-group: edit root/libreschool/comps.xml and add the package name here; the "libreschool-iso" package group is always installed.

TODO:

  • FIX images
  • package group
  • Rename network interface
  • Enforce the minimum required network interfaces (anaconda)
  • PXE + Preseed (external package)
  • assign wan0 to red on first boot?
  • add nethserver packages
  • customize Organization contacts?