This commit is contained in:
parent
c5126e014d
commit
726dcc5387
14
README.md
14
README.md
@ -7,12 +7,14 @@ This tool automates the generation of LibreSchool iso
|
|||||||
## how to locally create your ISO file
|
## how to locally create your ISO file
|
||||||
|
|
||||||
First, download the build container:
|
First, download the build container:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
docker pull registry.libreschool.org/libreschool-automation/libreschool-iso-builder:latest
|
docker pull registry.libreschool.org/libreschool-automation/libreschool-iso-builder:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
Then start it with these parameters:
|
Then start it with these parameters:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v "$PWD:/drone/src" \
|
-v "$PWD:/drone/src" \
|
||||||
-w "/drone/src" \
|
-w "/drone/src" \
|
||||||
@ -20,7 +22,8 @@ docker run --rm \
|
|||||||
```
|
```
|
||||||
|
|
||||||
If you want to skip the download of the source ISO, you can provide an already downloaded one:
|
If you want to skip the download of the source ISO, you can provide an already downloaded one:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v "$PWD:/drone/src" \
|
-v "$PWD:/drone/src" \
|
||||||
-v "$HOME/Downloads/nethserver-7.6.1810-x86_64.iso:/source.iso:ro" \
|
-v "$HOME/Downloads/nethserver-7.6.1810-x86_64.iso:/source.iso:ro" \
|
||||||
@ -29,17 +32,20 @@ docker run --rm \
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Components
|
## Components
|
||||||
|
|
||||||
This ISO creation script has 3 main components:
|
This ISO creation script has 3 main components:
|
||||||
|
|
||||||
- the *anaconda* folder: this stores all the customizations for the installer, basically only images;
|
- 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 *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;
|
- the *packages.list* file: this contains all the URLs of the packages required for this customization;
|
||||||
|
|
||||||
## How to modify the ISO
|
## 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 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.
|
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.
|
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:
|
## TODO
|
||||||
|
|
||||||
- [ ] FIX images
|
- [ ] FIX images
|
||||||
- [x] package group
|
- [x] package group
|
||||||
|
@ -15,6 +15,7 @@ libcom_err
|
|||||||
libreschool-adminusers
|
libreschool-adminusers
|
||||||
libreschool-client-manager
|
libreschool-client-manager
|
||||||
libreschool-pxeserver
|
libreschool-pxeserver
|
||||||
|
libreschool-proxy
|
||||||
libreschool-release
|
libreschool-release
|
||||||
libreschool-startpage
|
libreschool-startpage
|
||||||
libss
|
libss
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
<packagereq type='mandatory'>libreschool-client-manager</packagereq>
|
<packagereq type='mandatory'>libreschool-client-manager</packagereq>
|
||||||
<packagereq type='mandatory'>libreschool-adminusers</packagereq>
|
<packagereq type='mandatory'>libreschool-adminusers</packagereq>
|
||||||
<packagereq type='mandatory'>libreschool-pxeserver</packagereq>
|
<packagereq type='mandatory'>libreschool-pxeserver</packagereq>
|
||||||
|
<packagereq type='mandatory'>libreschool-proxy</packagereq>
|
||||||
<packagereq type='mandatory'>nethserver-usercsvimport</packagereq>
|
<packagereq type='mandatory'>nethserver-usercsvimport</packagereq>
|
||||||
</packagelist>
|
</packagelist>
|
||||||
</group>
|
</group>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user