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
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
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)
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
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
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.
I am not very skilled at producing movies, even less so as an actor, I made this videos, I hope it will help you.