libreschool-iso/README.md

52 lines
2.4 KiB
Markdown
Raw Normal View History

2019-04-19 06:03:06 +00:00
# libreschool-iso
2019-04-22 12:04:59 +02:00
[![Build Status](https://drone.libreschool.org/api/badges/paspo/libreschool-iso/status.svg)](https://drone.libreschool.org/paspo/libreschool-iso)
2019-04-22 17:37:47 +02:00
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
```
2019-04-27 12:26:54 +02:00
2019-04-28 18:06:44 +02:00
## 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.
2019-04-27 12:26:54 +02:00
## TODO:
- [ ] FIX images
2019-04-28 18:06:44 +02:00
- [x] package group
2019-04-27 12:26:54 +02:00
- [x] Rename network interface
- [ ] Enforce the minimum required network interfaces (anaconda)
- [ ] PXE + Preseed (external package)
2019-04-27 22:18:43 +02:00
- [ ] assign wan0 to red on first boot?
- [x] add nethserver packages
- [ ] customize Organization contacts?