#!/bin/bash # SPDX-License-Identifier: GPL-3.0-or-later # # SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me) PATH="/sbin:/usr/sbin:/usr/local/sbin:$PATH" # Set the working folder variable uchinanchu="$(pwd)" # This cleanup might be better served in the BldHelper*.sh script. # Create the build folder, move into it removing stale mountpoints and files there. [ -e fusato ] && [ ! -d fusato ] && rm -f fusato || [ ! -e fusato ] && mkdir fusato cd fusato umount $(mount | grep "${PWD}/chroot" | tac | cut -f3 -d" ") 2>/dev/null for i in ./* ./.build ; do [ $i = ./cache ] && continue || rm -rf $i ; done # Defines Live Build settings lb config noauto \ --binary-images iso-hybrid \ --architectures arm64 \ --distribution bookworm \ --archive-areas "main contrib non-free non-free-firmware" \ --firmware-chroot false \ --debian-installer netinst \ --debian-installer-distribution bookworm \ --debian-installer-gui true \ --parent-mirror-debian-installer http://repo.peppermintos.com/packages \ --bootstrap-qemu-arch arm64 \ --bootloaders grub-efi \ --bootstrap-qemu-static /usr/sbin/qemu-debootstrap \ --iso-preparer "PeppermintOS-https://peppermintos.com/" \ --iso-publisher "Peppermint OS Team" \ --iso-volume "PeppermintOS" \ --image-name "PepOS-mini-iso" \ --checksums sha512 \ --zsync false \ --win32-loader false \ --debian-installer-preseedfile preseed.cfg \ "${@}" # Packages to be stored in /pool but not installed in the OS . echo "# These packages are available to the installer. linux-image-arm64 hdmi2usb-fx2-firmware firmware-ath9k-htc amd64-microcode atmel-firmware bluez-firmware dahdi-firmware-nonfree firmware-ast firmware-amd-graphics firmware-atheros firmware-bnx2 firmware-bnx2x firmware-brcm80211 firmware-cavium firmware-intel-sound firmware-ipw2x00 firmware-ivtv firmware-iwlwifi firmware-libertas firmware-misc-nonfree firmware-myricom firmware-netronome firmware-qcom-soc firmware-qlogic firmware-realtek firmware-samsung firmware-siano firmware-ti-connectivity firmware-sof-signed intel-microcode firmware-nvidia-tesla-gsp firmware-nvidia-gsp raspi-firmware firmware-realtek-rtl8723cs-bt firmware-zd1211 accountsservice acpi acpid adduser alsa-utils apt apt-utils at-spi2-core avahi-daemon base-files base-passwd bash bind9-host bsdmainutils bsdutils busybox bzip2 ca-certificates console-setup coreutils cpio cron curl dash dbus debconf debconf-i18n debian-archive-keyring debianutils desktop-file-utils isc-dhcp-client isc-dhcp-common dialog diffutils dmidecode dmsetup dosfstools dpkg e2fsprogs eject exim4-base exim4-config exim4-daemon-light file findutils fontconfig-config " > $uchinanchu/fusato/config/package-lists/installer.list.binary # Setup the installer structure mkdir -p $uchinanchu/fusato/config/includes.installer mkdir -p $uchinanchu/fusato/config/includes.installer/etc mkdir -p $uchinanchu/fusato/config/includes.installer/preseed mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/repos mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/scripts mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/sources-final mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/keyrings mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/grub mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/grub-themes mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/apps mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/database mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/pixmaps mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/tools mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/protools mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/polkit mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/conf mkdir -p $uchinanchu/fusato/config/includes.installer/preseed/py mkdir -p $uchinanchu/fusato/config/includes.installer/usr/share mkdir -p $uchinanchu/fusato/config/includes.binary mkdir -p $uchinanchu/fusato/config/includes.binary/install mkdir -p $uchinanchu/fusato/config/hooks/normal #cp $uchinanchu/peprepo/* $uchinanchu/fusato/config/archives cp $uchinanchu/pepinstaller/preseed/preseed.cfg $uchinanchu/fusato/config/includes.installer cp $uchinanchu/pephooks/normal/* $uchinanchu/fusato/config/hooks/normal cp $uchinanchu/pepscripts/* $uchinanchu/fusato/config/includes.installer/preseed/scripts cp $uchinanchu/pepsources/multimedia.list $uchinanchu/fusato/config/includes.installer/preseed/repos cp $uchinanchu/pepsources/peppermint.list $uchinanchu/fusato/config/includes.installer/preseed/repos cp $uchinanchu/pepsources/sources.list $uchinanchu/fusato/config/includes.installer/preseed/sources-final cp $uchinanchu/pepsources/sources.list $uchinanchu/fusato/config/includes.installer/preseed/repos cp $uchinanchu/pepkeyrings/* $uchinanchu/fusato/config/includes.installer/preseed/keyrings cp $uchinanchu/polkit/* $uchinanchu/fusato/config/includes.installer/preseed/polkit cp $uchinanchu/pepapplication/* $uchinanchu/fusato/config/includes.installer/preseed/apps cp $uchinanchu/pepdatabase/* $uchinanchu/fusato/config/includes.installer/preseed/database cp $uchinanchu/PepProPixMaps/* $uchinanchu/fusato/config/includes.installer/preseed/pixmaps cp $uchinanchu/pepconf/* $uchinanchu/fusato/config/includes.installer/preseed/conf cp $uchinanchu/PepProTools/* $uchinanchu/fusato/config/includes.installer/preseed/protools # Copy recursive files and sub-directories cp -r $uchinanchu/peploadersplash/boot $uchinanchu/fusato/config/includes.binary cp -r $uchinanchu/peploadersplash/isolinux $uchinanchu/fusato/config/includes.binary cp -r $uchinanchu/pepinstaller/graphics $uchinanchu/fusato/config/includes.installer/usr/share cp -r $uchinanchu/pepinstaller/themes $uchinanchu/fusato/config/includes.installer/usr/share cp -r $uchinanchu/pepgrub/* $uchinanchu/fusato/config/includes.installer/preseed/grub cp -r $uchinanchu/pepgrub/themes $uchinanchu/fusato/config/includes.installer/preseed/grub-themes cp -r $uchinanchu/pylibraries/* $uchinanchu/fusato/config/includes.installer/preseed/py cp -r $uchinanchu/pmostools/* $uchinanchu/fusato/config/includes.installer/preseed/tools lb build