ISO FUSS 9¶
In FUSS 9 (Debian stretch) le ISO live (complete di installer testuale e
grafico) si generavano usando live-wrapper
.
Vengono usate le versioni presenti in Debian buster, ovvero ad agosto 2018:
live-wrapper (0.7)
vmdebootstrap (1.11-1)
Build¶
Setup¶
Su un’installazione di Debian buster o successive, installare live-wrapper:
# apt install live-wrapper
Copiare il file
/usr/share/live-wrapper/customise.sh
:# cp /usr/share/live-wrapper/customise.sh fuss-customise.sh
sotto alla riga:
. /usr/share/vmdebootstrap/common/customise.lib
aggiungere:
# overriden from the above for FUSS prepare_apt_source() { # handle the apt source mv ${rootdir}/etc/apt/sources.list.d/base.list ${rootdir}/etc/apt/ echo "deb $1 $2 main contrib non-free" > ${rootdir}/etc/apt/sources.list echo "deb-src $1 $2 main contrib non-free" >> ${rootdir}/etc/apt/sources.list echo "deb http://archive.fuss.bz.it/ stretch main" >> ${rootdir}/etc/apt/sources.list wget -qO ${rootdir}/tmp/fuss-apt.key https://archive.fuss.bz.it/apt.key chroot ${rootdir} apt-key add /tmp/fuss-apt.key chroot ${rootdir} apt -qq -y update > /dev/null 2>&1 }
Build¶
Per generare la ISO di FUSS 9 per architettura amd64, lanciare il seguente comando:
lwr -o fuss9-live-amd64.iso -d stretch --architecture=amd64 --customise=./fuss-customise.sh -m http://ftp.de.debian.org/debian/ -e "fuss-client fuss-kids fuss-children fuss-education fuss-graphics fuss-language-support fuss-multimedia fuss-extra-multimedia fuss-net fuss-office fuss-various"
Per generare la ISO di FUSS 9 per architettura i386, lanciare il seguente comando:
lwr -o fuss9-live-i386.iso -d stretch --architecture=i386 --customise=./fuss-customise.sh -m http://ftp.de.debian.org/debian/ -e "fuss-client fuss-kids fuss-children fuss-education fuss-graphics fuss-language-support fuss-multimedia fuss-extra-multimedia fuss-net fuss-office fuss-various"
ISO FUSS 10¶
Con FUSS 10, il tool adottato per personalizzare una immagine ISO esistente si chiama remaster-iso
(https://github.com/unixabg/remaster-iso).
Creare la ISO live di FUSS¶
remaster-iso
è disponibile come pacchetto solo a partire da Debian
11 «bullseye». Se si lavora con Debian 10 è necessario, peretanto,
clonare il progetto remaster-iso
da GitHub e spostarsi nella
cartella creata:
git clone https://github.com/unixabg/remaster-iso.git
cd remaster-iso
Di seguito viene mostrato come personalizzare l’immagine di Debian Live amd64 Xfce reperibile da https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-10.10.0-amd64-xfce.iso con
wget https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-10.10.0-amd64-xfce.iso
Qualora servissero anche i firmware non-free, l’immagine dalla quale partire è la seguente: https://cdimage.debian.org/images/unofficial/non-free/images-including-firmware/current-live/amd64/iso-hybrid/debian-live-10.10.0-amd64-xfce+nonfree.iso ed il comando da dare per scaricarla è:
wget https://cdimage.debian.org/images/unofficial/non-free/images-including-firmware/current-live/amd64/iso-hybrid/debian-live-10.10.0-amd64-xfce+nonfree.iso
Modificare il file di configurazione remaster-iso.conf
. Di seguito un
esempio:
######################
## remaster settings
######################
_BASEDIR=$(pwd)
_ISOExtractPath="${_BASEDIR}/iso-extract"
_ISOLivePath="live"
_ISOMountPoint="${_BASEDIR}/iso-mount"
_ISOName=""
_ISOTargetName="fuss-10-amd64-live-light"
_ISOTargetTitle="FUSS 10 amd64 live light"
_VER="0.9.4"
Estrarre il file .iso
./remaster-extract -i debian-live-10.10.0-amd64-xfce.iso
Lanciare poi il comando remaster-squashfs-editor
e selezionare «C»
premendo INVIO:
./remaster-squashfs-editor
#################################
remaster-squashfs-editor
remaster-iso version 0.9.3
#################################
(C)hroot - Chroot in to the filesystem.squashfs + psu-*.squashfs stack.
(J)oin - Join the partial squashfs update files to new single psu-DATE.squashfs
(N)ew - New master filesystem.squashfs file which joins all *.squashfs file to new single filesystem.squashfs
E(x)it - Exit the program with no action
Enter choice [C , J , N , X] C
Modifiare il file dei repository se necessario
nano /etc/apt/sources.list
# ##### Debian Main Repos
deb http://ftp.it.debian.org/debian/ buster main
deb-src http://ftp.it.debian.org/debian/ buster main
deb http://ftp.it.debian.org/debian/ buster-updates main
deb-src http://ftp.it.debian.org/debian/ buster-updates main
deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main
deb http://ftp.debian.org/debian buster-backports main
deb-src http://ftp.debian.org/debian buster-backports main
# ##### FUSS Main Repo
deb http://archive.fuss.bz.it/ buster main
deb-src http://archive.fuss.bz.it/ buster main
Se servono anche pacchetti contrib e non-free, il file dev’essere
# ##### Debian Main Repos
deb http://ftp.it.debian.org/debian/ buster main contrib non-free
deb-src http://ftp.it.debian.org/debian/ buster main contrib non-free
deb http://ftp.it.debian.org/debian/ buster-updates main contrib non-free
deb-src http://ftp.it.debian.org/debian/ buster-updates main contrib non-free
deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free
deb http://ftp.debian.org/debian buster-backports main contrib non-free
deb-src http://ftp.debian.org/debian buster-backports main contrib non-free
# ##### FUSS Main Repo
deb http://archive.fuss.bz.it/ buster main contrib non-free
deb-src http://archive.fuss.bz.it/ buster main contrib non-free
Aggiornare i pacchetti
apt update
apt install curl wget apt-transport-https dirmngr
wget -qO - https://archive.fuss.bz.it/apt.key | sudo apt-key add -
apt update && apt full-upgrade
Installare fuss-client
apt install fuss-client
Lanciare il comando per la configurazione di FUSS standalone (desktop)
fuss-client --iso --standalone [--light] [--unofficial] [--locale=LOCALE] --domain fuss.bz.it
dove
--light
mantiene l’immagine leggera senza installare i metapacchetti didattici;--unofficial
permette di installare i firmware non-free di debian;--locale=LOCALE
permette di scegliere la lingua di default, doveLOCALE
è, a titolo d’esempio, nella forma de_DE.UTF-8.
Scaricare la chiave del repository archive.fuss.bz.it
che verrà
utilizzata da Calamares (https://calamares.io/) durante l’installazione:
curl https://archive.fuss.bz.it/apt.key | gpg --dearmor > /usr/share/keyrings/fuss-keyring.gpg
Modificare lo script /usr/sbin/sources-final
che scriverà i
repository durante l’installazione:
#!/bin/sh
#
# Writes the final sources.list files
#
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
RELEASE="buster"
FUSS_KEY="/usr/share/keyrings/fuss-keyring.gpg"
cat << EOF > $CHROOT/etc/apt/sources.list
# See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian $RELEASE main
deb-src http://deb.debian.org/debian $RELEASE main
deb http://deb.debian.org/debian $RELEASE-updates main
deb-src http://deb.debian.org/debian $RELEASE-updates main
deb http://security.debian.org/debian-security/ $RELEASE/updates main
deb-src http://security.debian.org/debian-security/ $RELEASE/updates main
EOF
cat << EOF > $CHROOT/etc/apt/sources.list.d/deb_debian_org_debian.list
deb http://deb.debian.org/debian $RELEASE-backports main
deb-src http://deb.debian.org/debian $RELEASE-backports main
EOF
cat << EOF > $CHROOT/etc/apt/sources.list.d/archive_fuss_bz_it.list
deb [signed-by=/usr/share/keyrings/fuss-keyring.gpg] http://archive.fuss.bz.it/ $RELEASE main contrib
deb-src [signed-by=/usr/share/keyrings/fuss-keyring.gpg] http://archive.fuss.bz.it/ $RELEASE main contrib
EOF
if [ -f $FUSS_KEY ] ; then
cp $FUSS_KEY $CHROOT/usr/share/keyrings/fuss-keyring.gpg
fi
exit 0
Per le immagini unofficial il file dev’essere
#!/bin/sh
#
# Writes the final sources.list files
#
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
RELEASE="buster"
FUSS_KEY="/usr/share/keyrings/fuss-keyring.gpg"
cat << EOF > $CHROOT/etc/apt/sources.list
# See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian $RELEASE main contrib non-free
deb-src http://deb.debian.org/debian $RELEASE main contrib non-free
deb http://deb.debian.org/debian $RELEASE-updates main contrib non-free
deb-src http://deb.debian.org/debian $RELEASE-updates main contrib non-free
deb http://security.debian.org/debian-security/ $RELEASE/updates main contrib non-free
deb-src http://security.debian.org/debian-security/ $RELEASE/updates main contrib non-free
EOF
cat << EOF > $CHROOT/etc/apt/sources.list.d/deb_debian_org_debian.list
deb http://deb.debian.org/debian $RELEASE-backports main contrib non-free
deb-src http://deb.debian.org/debian $RELEASE-backports main contrib non-free
EOF
cat << EOF > $CHROOT/etc/apt/sources.list.d/archive_fuss_bz_it.list
deb [signed-by=/usr/share/keyrings/fuss-keyring.gpg] http://archive.fuss.bz.it/ $RELEASE main contrib contrib non-free
deb-src [signed-by=/usr/share/keyrings/fuss-keyring.gpg] http://archive.fuss.bz.it/ $RELEASE main contrib contrib non-free
EOF
if [ -f $FUSS_KEY ] ; then
cp $FUSS_KEY $CHROOT/usr/share/keyrings/fuss-keyring.gpg
fi
exit 0
Rimuovere i pacchetti inutilizzati e ripulire la cache pacchetti
apt-get autoremove
apt-get clean
Configurare la live
nano /etc/live/config.conf.d/fuss.conf
LIVE_HOSTNAME="fuss"
LIVE_USERNAME="user"
LIVE_USER_FULLNAME="FUSS Live user"
LIVE_LOCALES="en_US.UTF-8,it_IT.UTF-8,de_AT.UTF-8"
LIVE_TIMEZONE="Europe/Rome"
LIVE_KEYBOARD_LAYOUTS="it,de"
Cambiare l’hostname di default
nano /etc/hostname
fuss
Per prendere le impostazioni del pannello come previsto da FUSS,
modificare una riga dello script /lib/live/config/1170-xfce4-panel
:
nano /lib/live/config/1170-xfce4-panel
sudo -u "${LIVE_USERNAME}" cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml /home/"${LIVE_USERNAME}"/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
Qualora servisse, nella cartella /lib/live/config
ci sono tutti gli
script richiamati dalla live per le diverse configurazioni. Come
documentazione c’è la man page di live-config
dov’è tutto abbastanza ben
documentato.
Uscire e salvare le modifiche fatte in chroot digitando Y ed invio
root@jarvis:~# exit
Exited the chroot so time to clean up.
Restore original overlay/etc/hosts.
Restore overlay/etc/resolv.conf.
Remove overlay/root/.bash_history.
#############################################################
(Y)es save my chroot modifications.
(N)o do not save my chroot modifications.
Select to save your chroot modifications (default is N):
Y
Now making the updated squashfs 20200614-013407.
Parallel mksquashfs: Using 8 processors
Creating 4.0 filesystem on psu-20200614-013407.squashfs, block size 131072.
Lanciare nuovamente ./remaster-squashfs-editor
e scegliere l’opzione N
confermando poi con Y
la creazione di filesystem.squashfs
:
./remaster-squashfs-editor
#################################
remaster-squashfs-editor
remaster-iso version 0.9.3
#################################
(C)hroot - Chroot in to the filesystem.squashfs + psu-*.squashfs stack.
(J)oin - Join the partial squashfs update files to new single psu-DATE.squashfs
(N)ew - New master filesystem.squashfs file which joins all *.squashfs file to new single filesystem.squashfs
E(x)it - Exit the program with no action
Enter choice [C , J , N , X] N
I: New option selected!
I: change directory to target live folder
I: strting mount list and points operations
I: found ./psu-20200614-020636.squashfs ... setting up mount point of psu-20200614-020636_squashfs
I: mounting ./psu-20200614-020636.squashfs on psu-20200614-020636_squashfs
./psu-20200614-020636_squashfs:./filesystem_squashfs
./psu-20200614-020636_squashfs ./filesystem_squashfs ./psu_overlay
./psu-20200614-020636_squashfs:./filesystem_squashfs
#############################################################
(Y)es, create a new single filesystem.squashfs.
(N)o, do not create a new single filesystem.squashfs.
Select to create a new single filesystem.squashfs (default is N):
Y
Rimuovere la cartella ./iso-extract/live/psu-OOS\*
rm -fr ./iso-extract/live/psu-OOS*
Copiare i file kernel-related presenti nello squashfs nella cartella
./iso-extract/live
Per fare questo lanciare nuovamente ./remaster-squashfs-editor
scegliendo
l’opzione (C)hroot
config-4.19.0-16-amd64
config-5.10.0-0.bpo.3-amd64
initrd.img-4.19.0-16-amd64
initrd.img-5.10.0-0.bpo.3-amd64
System.map-4.19.0-16-amd64
System.map-5.10.0-0.bpo.3-amd64
vmlinuz-4.19.0-16-amd64
vmlinuz-5.10.0-0.bpo.3-amd64
Si esca dall’ambiente chroot senza apportare modifiche
Modificare i file per personalizzare il menu di boot a piacimento:
isolinux/menu.cfg
boot/grub/grub.cfg
E” arrivato il momento di generare la nuova ISO.
Verificare che il comando xorriso nello script remaster-compose abbia i seguenti parametri:
xorriso -as mkisofs -r -D -V "${ISOTargetTitle}" -cache-inodes -J -l -iso-level 3 -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -isohybrid-gpt-basdat -o "${BASEDIR}/${BUILDDATE}-${ISOTargetName}.iso" .
Terminare poi con il comando ./remaster-compose
per generare il file .iso
./remaster-compose
Al termine dello script si troverà nell’attuale cartella di lavoro la nuova immagine .iso.
Nota
Per successivi aggiornamenti e personalizzazioni, sarà sufficiente partire dall’immagine ISO creata precedentemente facendo solo
le modifiche necessarie ed utilizzando i tre script di remaster-iso
come indicato sopra.
ISO FUSS 11¶
Con FUSS 11, il tool adottato per personalizzare una immagine ISO rimane remaster-iso
(https://github.com/unixabg/remaster-iso).
Creare la ISO live di FUSS¶
remaster-iso
è disponibile come pacchetto solo a partire da Debian
11 «bullseye». Se si lavora con Debian 10 è necessario, peretanto,
clonare il progetto remaster-iso
da GitHub e spostarsi nella
cartella creata:
git clone https://github.com/unixabg/remaster-iso.git
cd remaster-iso
Di seguito viene mostrato come personalizzare l’immagine di Debian Live amd64 Xfce reperibile da https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-11.4.0-amd64-xfce.iso con
wget https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-11.4.0-amd64-xfce.iso
Qualora servissero anche i firmware non-free, l’immagine dalla quale partire è la seguente: https://cdimage.debian.org/images/unofficial/non-free/images-including-firmware/current-live/amd64/iso-hybrid/debian-live-11.4.0-amd64-xfce+nonfree.iso ed il comando da dare per scaricarla è:
wget https://cdimage.debian.org/images/unofficial/non-free/images-including-firmware/current-live/amd64/iso-hybrid/debian-live-11.4.0-amd64-xfce+nonfree.iso
Modificare il file di configurazione remaster-iso.conf
. Di seguito
un esempio:
######################
## remaster settings
######################
_BASEDIR=$(pwd)
_ISOExtractPath="${_BASEDIR}/iso-extract"
_ISOLivePath="live"
_ISOMountPoint="${_BASEDIR}/iso-mount"
_ISOName=""
_ISOTargetName="fuss-11-amd64-live-lite"
_ISOTargetTitle="FUSS 11 amd64 live lite"
_VER="0.9.4"
Estrarre il file .iso
./remaster-extract -i debian-live-11.4.0-amd64-xfce.iso
Lanciare poi il comando remaster-squashfs-editor
e selezionare «C»
premendo INVIO:
./remaster-squashfs-editor
#################################
remaster-squashfs-editor
remaster-iso version 0.9.3
#################################
(C)hroot - Chroot in to the filesystem.squashfs + psu-*.squashfs stack.
(J)oin - Join the partial squashfs update files to new single psu-DATE.squashfs
(N)ew - New master filesystem.squashfs file which joins all *.squashfs file to new single filesystem.squashfs
E(x)it - Exit the program with no action
Enter choice [C , J , N , X] C
Modifiare il file dei repository se necessario
nano /etc/apt/sources.list
# ##### Debian Main Repos
deb http://deb.debian.org/debian bullseye main
deb-src http://deb.debian.org/debian bullseye main
deb http://deb.debian.org/debian bullseye-updates main
deb-src http://deb.debian.org/debian bullseye-updates main
deb http://deb.debian.org/debian-security/ bullseye-security main
deb-src http://deb.debian.org/debian-security/ bullseye-security main
nano /etc/apt/sources.list.d/deb_debian_org_debian.list
# ##### Debian Backports Repo
deb http://deb.debian.org/debian bullseye-backports main
deb-src http://deb.debian.org/debian bullseye-backports main
nano /etc/apt/sources.list.d/archive_fuss_bz_it.list
# ##### FUSS Main Repo
deb [signed-by=/usr/share/keyrings/fuss-keyring.gpg] http://archive.fuss.bz.it/ bullseye main
deb-src [signed-by=/usr/share/keyrings/fuss-keyring.gpg] http://archive.fuss.bz.it/ bullseye main
Se servono anche pacchetti contrib e non-free, il file devono essere modificati come segue:
nano /etc/apt/sources.list
# ##### Debian Main Repos
deb http://deb.debian.org/debian bullseye main contrib non-free
deb-src http://deb.debian.org/debian bullseye main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
nano /etc/apt/sources.list.d/deb_debian_org_debian.list
# ##### Debian Backports Repo
deb http://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free
nano /etc/apt/sources.list.d/archive_fuss_bz_it.list
# ##### FUSS Main Repo
deb [signed-by=/usr/share/keyrings/fuss-keyring.gpg] http://archive.fuss.bz.it/ bullseye main contrib non-free
deb-src [signed-by=/usr/share/keyrings/fuss-keyring.gpg] http://archive.fuss.bz.it/ bullseye main contrib non-free
Aggiornare i pacchetti
apt update
apt install curl wget apt-transport-https dirmngr
wget -qO - https://archive.fuss.bz.it/apt.key | gpg --dearmour > /usr/share/keyrings/fuss-keyring.gpg
apt update && apt full-upgrade
Installare fuss-client
apt install fuss-client
Lanciare il comando per la configurazione di FUSS standalone (desktop)
fuss-client --iso --standalone --light [--unofficial] [--locale=LOCALE] --domain fuss.bz.it
dove
--light
mantiene l’immagine leggera senza installare i metapacchetti didattici;--unofficial
permette di installare i firmware non-free di debian;--locale=LOCALE
permette di scegliere la lingua di default, doveLOCALE
è, a titolo d’esempio, nella forma de_DE.UTF-8.
Nello specifico:
per la ISO FUSS ufficiale lite:
fuss-client --iso --standalone --light --domain fuss.bz.it
per la ISO FUSS ufficiale full:
fuss-client --iso --standalone --domain fuss.bz.it
per la ISO FUSS «unofficial» light:
fuss-client --iso --standalone --light --unofficial --domain fuss.bz.it
per la ISO «unofficial» full:
fuss-client --iso --standalone --unofficial --domain fuss.bz.it
Se non fatto precedentemente, scaricare la chiave del repository
archive.fuss.bz.it
che verrà utilizzata da Calamares
(https://calamares.io/) durante l’installazione:
curl https://archive.fuss.bz.it/apt.key | gpg --dearmor > /usr/share/keyrings/fuss-keyring.gpg
Modificare lo script /usr/sbin/sources-final
che scriverà i
repository durante l’installazione:
#!/bin/sh
#
# Writes the final sources.list files
#
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
RELEASE="bullseye"
FUSS_KEY="/usr/share/keyrings/fuss-keyring.gpg"
cat << EOF > $CHROOT/etc/apt/sources.list
# See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian $RELEASE main
deb-src http://deb.debian.org/debian $RELEASE main
deb http://deb.debian.org/debian $RELEASE-updates main
deb-src http://deb.debian.org/debian $RELEASE-updates main
deb http://security.debian.org/debian-security/ $RELEASE-security main
deb-src http://security.debian.org/debian-security/ $RELEASE-security main
EOF
cat << EOF > $CHROOT/etc/apt/sources.list.d/deb_debian_org_debian.list
deb http://deb.debian.org/debian $RELEASE-backports main
deb-src http://deb.debian.org/debian $RELEASE-backports main
EOF
cat << EOF > $CHROOT/etc/apt/sources.list.d/archive_fuss_bz_it.list
deb [signed-by=/usr/share/keyrings/fuss-keyring.gpg] http://archive.fuss.bz.it/ $RELEASE main
deb-src [signed-by=/usr/share/keyrings/fuss-keyring.gpg] http://archive.fuss.bz.it/ $RELEASE main
EOF
if [ -f $FUSS_KEY ] ; then
cp $FUSS_KEY $CHROOT/usr/share/keyrings/fuss-keyring.gpg
fi
exit 0
Per le immagini unofficial il file dev’essere
#!/bin/sh
#
# Writes the final sources.list files
#
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
RELEASE="bullseye"
FUSS_KEY="/usr/share/keyrings/fuss-keyring.gpg"
cat << EOF > $CHROOT/etc/apt/sources.list
# See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian $RELEASE main contrib non-free
deb-src http://deb.debian.org/debian $RELEASE main contrib non-free
deb http://deb.debian.org/debian $RELEASE-updates main contrib non-free
deb-src http://deb.debian.org/debian $RELEASE-updates main contrib non-free
deb http://security.debian.org/debian-security/ $RELEASE-security main contrib non-free
deb-src http://security.debian.org/debian-security/ $RELEASE-security main contrib non-free
EOF
cat << EOF > $CHROOT/etc/apt/sources.list.d/deb_debian_org_debian.list
deb http://deb.debian.org/debian $RELEASE-backports main contrib non-free
deb-src http://deb.debian.org/debian $RELEASE-backports main contrib non-free
EOF
cat << EOF > $CHROOT/etc/apt/sources.list.d/archive_fuss_bz_it.list
deb [signed-by=/usr/share/keyrings/fuss-keyring.gpg] http://archive.fuss.bz.it/ $RELEASE main contrib non-free
deb-src [signed-by=/usr/share/keyrings/fuss-keyring.gpg] http://archive.fuss.bz.it/ $RELEASE main contrib non-free
EOF
if [ -f $FUSS_KEY ] ; then
cp $FUSS_KEY $CHROOT/usr/share/keyrings/fuss-keyring.gpg
fi
exit 0
Sostituire il file main.py
nella cartella
/usr/lib/x86_64-linux-gnu/calamares/modules/displaymanager
con la
versione modificata disponibile al link
https://www.fuss.bz.it/utility/calamares/main.py
wget -O /usr/lib/x86_64-linux-gnu/calamares/modules/displaymanager/main.py https://www.fuss.bz.it/utility/calamares/main.py
Rimuovere i pacchetti inutilizzati e ripulire la cache pacchetti
apt-get autoremove
apt-get clean
Configurare la live
nano /etc/live/config.conf.d/fuss.conf
LIVE_HOSTNAME="fuss"
LIVE_USERNAME="user"
LIVE_USER_FULLNAME="FUSS Live user"
LIVE_LOCALES="en_US.UTF-8,it_IT.UTF-8,de_AT.UTF-8"
LIVE_TIMEZONE="Europe/Rome"
LIVE_KEYBOARD_LAYOUTS="it,de"
Cambiare l’encoding della console
nano /etc/default/console-setup
impostando
CHARMAP="UTF-8"
Cambiare l’hostname di default
nano /etc/hostname
fuss
Per prendere le impostazioni del pannello come previsto da FUSS,
modificare una riga dello script /lib/live/config/1170-xfce4-panel
:
nano /lib/live/config/1170-xfce4-panel
sudo -u "${LIVE_USERNAME}" cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml /home/"${LIVE_USERNAME}"/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
Qualora servisse, nella cartella /lib/live/config
ci sono tutti gli
script richiamati dalla live per le diverse configurazioni. Come
documentazione c’è la man page di live-config
dov’è tutto abbastanza ben
documentato.
Uscire e salvare le modifiche fatte in chroot digitando Y ed invio
root@jarvis:~# exit
Exited the chroot so time to clean up.
Restore original overlay/etc/hosts.
Restore overlay/etc/resolv.conf.
Remove overlay/root/.bash_history.
#############################################################
(Y)es save my chroot modifications.
(N)o do not save my chroot modifications.
Select to save your chroot modifications (default is N):
Y
Now making the updated squashfs 20200614-013407.
Parallel mksquashfs: Using 8 processors
Creating 4.0 filesystem on psu-20200614-013407.squashfs, block size 131072.
Lanciare nuovamente ./remaster-squashfs-editor
e scegliere l’opzione N
confermando poi con Y
la creazione di filesystem.squashfs
:
./remaster-squashfs-editor
#################################
remaster-squashfs-editor
remaster-iso version 0.9.3
#################################
(C)hroot - Chroot in to the filesystem.squashfs + psu-*.squashfs stack.
(J)oin - Join the partial squashfs update files to new single psu-DATE.squashfs
(N)ew - New master filesystem.squashfs file which joins all *.squashfs file to new single filesystem.squashfs
E(x)it - Exit the program with no action
Enter choice [C , J , N , X] N
I: New option selected!
I: change directory to target live folder
I: strting mount list and points operations
I: found ./psu-20200614-020636.squashfs ... setting up mount point of psu-20200614-020636_squashfs
I: mounting ./psu-20200614-020636.squashfs on psu-20200614-020636_squashfs
./psu-20200614-020636_squashfs:./filesystem_squashfs
./psu-20200614-020636_squashfs ./filesystem_squashfs ./psu_overlay
./psu-20200614-020636_squashfs:./filesystem_squashfs
#############################################################
(Y)es, create a new single filesystem.squashfs.
(N)o, do not create a new single filesystem.squashfs.
Select to create a new single filesystem.squashfs (default is N):
Y
Rimuovere la cartella ./iso-extract/live/psu-OOS\*
rm -fr ./iso-extract/live/psu-OOS*
Copiare i file kernel-related presenti nello squashfs nella cartella
./iso-extract/live
Per fare questo lanciare nuovamente ./remaster-squashfs-editor
scegliendo
l’opzione (C)hroot
config-4.19.0-16-amd64
config-5.10.0-0.bpo.3-amd64
initrd.img-4.19.0-16-amd64
initrd.img-5.10.0-0.bpo.3-amd64
System.map-4.19.0-16-amd64
System.map-5.10.0-0.bpo.3-amd64
vmlinuz-4.19.0-16-amd64
vmlinuz-5.10.0-0.bpo.3-amd64
Si esca dall’ambiente chroot senza apportare modifiche
Si modifichi all’occorrenza l’immagine iso-extract/isolinux/splash.png
.
Modificare i file per personalizzare il menu di boot a piacimento. Nelle
ultime iso prodotte è stata lasciata solo l’opzione live (che include
l’installer Calamares) e di rimuovere le opzioni Graphical Debian
Installer
, Debian Installer
e Debian Installer with Speech
Synthesis
:
iso-extract/isolinux/menu.cfg
iso-extract/boot/grub/grub.cfg
È arrivato il momento di generare la nuova ISO lanciando il comando
./remaster-compose
Al termine dello script si troverà nell’attuale cartella di lavoro la nuova immagine .iso.
Nota
Per successivi aggiornamenti e personalizzazioni, sarà sufficiente partire dall’immagine ISO creata precedentemente facendo solo
le modifiche necessarie ed utilizzando i tre script di remaster-iso
come indicato sopra.