UNPKG

penguins-eggs

Version:

A remaster system tool, compatible with Almalinux, Alpine, Arch, Debian, Devuan, Fedora, Manjaro, Opensuse, Ubuntu and derivatives

148 lines (116 loc) 5.03 kB
# eggs unattended install Eggs unattended install Is based on simple scripts: * ```eui-create-image.sh``` creates the image; * ```eui-start.sh``` is copied into ```/usr/bin/``` * ```eui-users``` contains the list of users enabled to sudo WITHOUT password, it is copied to ```/etc/sudoers.d/```; * ```eui-autostart-[xfce/cinnamon].desktop``` starts automatic installation at login and is copied to ```/etc/xdg/autostart```. The three files `eui-start.sh`, `eui-users` and `eui-*.desktop` are deleted from the destination directory as soon as the production of the image is completed # Creation of an EUI image To create an ISO with unattended-install capability, proceed as follows: ``` cd /usr/lib/penguins-eggs/eui ``` If necessary, modify the `eui-start.sh` file `sudo nano eui-start.sh` to select the desired language, swap configuration, and other possible configurations given in the source. Save and start the image creation: ``` ./eui-create-image.sh ``` An image with fast compression will be generated, and the cuckoo command will be started to distribute it. **Note:** once the image is created. simply start 'eggs cuckoo' to distribute it, no need to regenerate it # Differences of a UEI image versus a normal image Self-starting of the installer is done through the following files: * /etc/sudoers.d/eui-users * /etc/xdg/autostart/eui-[xfce/cinnamon].desktop * /usr/bin/eui-start.ch You can select a particular customization or create your own, at the moment I am trying to adapt the customization to the various languages and we have: * bg (Bulgarian) * br (Brazilian Portuguese) * de (German) * es (Spanish) * fr (French) * it (Italian) * nl (Dutch) * pe (Spanish Peru) * ru (Russian) * uk (ukrainian) ## /etc/sudoers.d/eui-users It is copied inside `/etc/sudoers.d`, MUST be owned by root and have rights 0440 ``` live ALL=(ALL) NOPASSWD: ALL artisan ALL=(ALL) NOPASSWD: ALL ``` ## /etc/xdg/autostart/eui-autostart-[xdce/cinnamon].desktop It is the file that makes it possible to auto-start the installer: there are currently two working versions, one for XFCE and one for cinnamon; ``` [Desktop Entry] Encoding=UTF-8 Name=Eggs unattended install Comment=Start unattended installation Icon=cinnamon-symbolic Type=Application Categories= X-GNOME-Autostart-Phase=Initialization X-KDE-autostart-phase=1 X-KDE-AutostartScript=true # XFCE working Exec=/usr/bin/sudo /usr/bin/eui-start.sh Terminal=true ``` ## /usr/bin/eui-start.sh Currently, customization of the installation, MUST be done by editing this file. ``` set -Eeuo pipefail if mountpoint -q "/lib/live/mount"; then # if isLive echo "E G G S: the reproductive system of penguins" echo echo "WARNING: A fully automated system installation is about to start," echo " ALL data on the hard drive present will be ERASED!" echo OS_HOSTNAME="NOT-CHECKED" # we must to check in same wat that we are formatting # TO DO # we need to reset connection nmcli networking off nmcli networking on echo "I will completely format local system: ${OS_HOSTNAME}" echo echo "Installation will start in one minute, press CTRL-C to abort!" echo echo -n "Waiting..."; for _ in {1..59}; do read -rs -n1 -t1 || printf ".";done;echo ################################################## # At the moment we need to configure manually here ################################################## # USAGE # # $ eggs install [-k] [-c <value>] [-d <value>] [-h] [-i] [-n] [-N] [-p] [-r] [-s] [-S] [-u] [-v] # # FLAGS # -H, --halt Halt the system after installation # -N, --none Swap none: 256M # -S, --suspend Swap suspend: RAM x 2 # -c, --custom=<value> custom unattended configuration # -d, --domain=<value> Domain name, defult: .local # -h, --help Show CLI help. # -i, --ip hostname as ip, eg: ip-192-168-1-33 # -k, --crypted Crypted CLI installation # -n, --nointeractive no user interaction # -p, --pve Proxmox VE install # -r, --random Add random to hostname, eg: colibri-ay420dt # -s, --small Swap small: RAM # -u, --unattended Unattended installation # -v, --verbose Verbose eggs install --custom=it --domain=.local --random --nointeractive --halt else # isInstalled sudo rm -f /etc/sudoers.d/eui-users sudo rm -f /usr/bin/eui-start.sh sudo rm -f /etc/xdg/autostart/eui.desktop fi ``` **Note:** look at the new `--halt` flag, introduced to shut down the machine after installation and avoid. thus, further attempts in the case of PXE-enabled computers and with first PXE boot device. # Video I am not very skilled at producing movies, even less so as an actor, I made this videos, I hope it will help you. * [using PXE and EUI from ISO](https://youtu.be/rYvCzGO3V6k) * [Create a Live EUI - Eggs Unattended Installation](https://youtu.be/QBjkxxoc8ho)