parent
8581020c9a
commit
d9c10c30a2
|
@ -0,0 +1,301 @@
|
|||
#!/bin/bash
|
||||
PATH="/sbin:/usr/sbin:/usr/local/sbin:$PATH"
|
||||
|
||||
# Set the working folder variable
|
||||
uchinanchu="$(pwd)"
|
||||
[ "$TODAY" ] || TODAY=$(date -u +"%Y-%m-%d")
|
||||
|
||||
|
||||
# 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
|
||||
|
||||
|
||||
# Set of the structure to be used for the ISO and Live system.
|
||||
# See /usr/lib/live/build/config for a full list of examples.
|
||||
# Up above is the manual description of what options I used so far.
|
||||
lb config \
|
||||
--mode debian \
|
||||
--distribution bookworm \
|
||||
--archive-areas "main contrib non-free non-free-firmware" \
|
||||
--architectures amd64 \
|
||||
--linux-flavours amd64 \
|
||||
--apt-recommends true \
|
||||
--binary-images iso-hybrid \
|
||||
--firmware-binary true \
|
||||
--firmware-chroot true \
|
||||
--security true \
|
||||
--updates true \
|
||||
--backports true \
|
||||
--image-name "PepOS" \
|
||||
--iso-application "PeppermintOS" \
|
||||
--iso-preparer "PeppermintOS-https://peppermintos.com/" \
|
||||
--iso-publisher "Peppermint OS Team" \
|
||||
--image-name "PepOS" \
|
||||
--iso-volume "${TODAY} 1" \
|
||||
--win32-loader false \
|
||||
--checksums sha512 \
|
||||
--cache true \
|
||||
--clean \
|
||||
--color \
|
||||
--quiet \
|
||||
--zsync false \
|
||||
"${@}"
|
||||
|
||||
|
||||
# Install the XFCE Desktop
|
||||
mkdir -p $uchinanchu/fusato/config/package-lists/
|
||||
echo xfce4 > $uchinanchu/fusato/config/package-lists/desktop.list.chroot
|
||||
|
||||
echo "# Install extra Desktop packages.
|
||||
mousepad
|
||||
xfce4-battery-plugin
|
||||
xfce4-clipman-plugin
|
||||
xfce4-power-manager
|
||||
xfce4-taskmanager
|
||||
xfce4-terminal
|
||||
xfce4-screenshooter
|
||||
xfce4-whiskermenu-plugin
|
||||
xfce4-docklike-plugin
|
||||
xfce4-notes-plugin
|
||||
xfce4-panel-profiles
|
||||
xfce4-time-out-plugin
|
||||
orage
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
xarchiver
|
||||
lightdm
|
||||
lightdm-gtk-greeter
|
||||
lightdm-gtk-greeter-settings
|
||||
|
||||
" > $uchinanchu/fusato/config/package-lists/extra-desktop.list.chroot
|
||||
|
||||
# Install software
|
||||
echo "# Install software to the squashfs for calamares to unpack to the OS.
|
||||
dconf-editor
|
||||
arandr
|
||||
#gparted
|
||||
gnome-disk-utility
|
||||
menulibre
|
||||
synaptic
|
||||
system-config-printer
|
||||
gnome-system-tools
|
||||
screenfetch
|
||||
simple-scan
|
||||
|
||||
" > $uchinanchu/fusato/config/package-lists/packages.list.chroot
|
||||
|
||||
echo "#Install system packages.
|
||||
cups
|
||||
curl
|
||||
dkms
|
||||
dbus-x11
|
||||
nala
|
||||
efibootmgr
|
||||
fonts-cantarell
|
||||
fonts-liberation
|
||||
gdebi
|
||||
gir1.2-webkit2-4.0
|
||||
git
|
||||
grub-pc
|
||||
gvfs-backends
|
||||
inputattach
|
||||
inxi
|
||||
locales
|
||||
neofetch
|
||||
network-manager-gnome
|
||||
ntp
|
||||
nvidia-detect
|
||||
os-prober
|
||||
pulseaudio-module-bluetooth
|
||||
smartmontools
|
||||
smbclient
|
||||
sqlite3
|
||||
wireless-tools
|
||||
wget
|
||||
alsa-utils
|
||||
bluez
|
||||
|
||||
" > $uchinanchu/fusato/config/package-lists/system.list.chroot
|
||||
|
||||
echo "# install the Peppermint artwork.
|
||||
marwaita-gtk-theme
|
||||
tela-icon-theme
|
||||
marwaita-for-xfwm
|
||||
marwaita-peppermint-gtk-theme
|
||||
pepermint-wallpapers
|
||||
|
||||
" > $uchinanchu/fusato/config/package-lists/artwork.list.chroot
|
||||
|
||||
echo "# Install Python3 packages.
|
||||
python3-pip
|
||||
python3-tk
|
||||
python3-bs4
|
||||
python3-requests
|
||||
python3-ttkthemes
|
||||
python3-pyqt5
|
||||
python3-pyqt5.qtsvg
|
||||
python3-pyqt5.qtwebkit
|
||||
python3-pyqt5.qtwebengine
|
||||
python3-pil.imagetk
|
||||
python3-apt
|
||||
|
||||
" > $uchinanchu/fusato/config/package-lists/python.list.chroot
|
||||
|
||||
echo "# install the calamares installer to install the system to the hd.
|
||||
calamares
|
||||
calamares-settings-debian
|
||||
f2fs-tools
|
||||
xfsprogs
|
||||
|
||||
" > $uchinanchu/fusato/config/package-lists/installer.list.chroot
|
||||
|
||||
echo "# install firmware for squasfs to improve hardware compatibility.
|
||||
atmel-firmware
|
||||
bluez-firmware
|
||||
firmware-linux-free
|
||||
midisport-firmware
|
||||
firmware-misc-nonfree
|
||||
firmware-amd-graphics
|
||||
#firmware-ath9k-htc
|
||||
firmware-bnx2
|
||||
firmware-bnx2x
|
||||
firmware-brcm80211
|
||||
firmware-cavium
|
||||
firmware-intel-sound
|
||||
firmware-intelwimax
|
||||
firmware-iwlwifi
|
||||
firmware-libertas
|
||||
firmware-linux
|
||||
firmware-linux-nonfree
|
||||
firmware-misc-nonfree
|
||||
firmware-myricom
|
||||
firmware-netronome
|
||||
firmware-netxen
|
||||
firmware-qcom-media
|
||||
firmware-qcom-soc
|
||||
firmware-qlogic
|
||||
firmware-realtek
|
||||
firmware-samsung
|
||||
firmware-siano
|
||||
firmware-ti-connectivity
|
||||
firmware-sof-signed
|
||||
firmware-zd1211
|
||||
|
||||
" > $uchinanchu/fusato/config/package-lists/firmware.list.chroot
|
||||
|
||||
# Packages to be stored in /pool but not installed in the OS .
|
||||
echo "# These packages are available to the installer, for offline use.
|
||||
efibootmgr
|
||||
grub-common
|
||||
grub2-common
|
||||
grub-efi
|
||||
grub-efi-amd64
|
||||
grub-efi-amd64-bin
|
||||
grub-efi-amd64-signed
|
||||
grub-efi-ia32-bin
|
||||
libefiboot1
|
||||
libefivar1
|
||||
mokutil
|
||||
os-prober
|
||||
shim-helpers-amd64-signed
|
||||
shim-signed
|
||||
shim-signed-common
|
||||
shim-unsigned
|
||||
|
||||
" > $uchinanchu/fusato/config/package-lists/installer.list.binary
|
||||
|
||||
|
||||
# Setup the chroot structure
|
||||
mkdir -p $uchinanchu/fusato/config/includes.binary
|
||||
mkdir -p $uchinanchu/fusato/config/includes.bootstrap/etc/apt
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/local/bin
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/share/applications
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/share/icons/default
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/share/pixmaps
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/share/xfce4/helpers
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/share/polkit-1/actions
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/share/fonts/pepconf
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/bin
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/local/bin
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/sbin
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/lib/live/config
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/etc/apt
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/etc/calamares
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/etc/default
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/etc/lightdm
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/etc/live/config.conf.d
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/etc/skel/.config/xfce4
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/etc/xdg/autostart
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/etc/xdg/xfce4/whiskermenu
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/etc/skel/.local/share
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/etc/skel/Desktop
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/etc/xdg/xfce4
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/opt
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/opt/pypep
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/opt/pypep/dbpep
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/opt/startpep
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/opt/pepconf
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/boot/grub
|
||||
mkdir -p $uchinanchu/fusato/config/archives
|
||||
mkdir -p $uchinanchu/fusato/config/hooks/live
|
||||
mkdir -p $uchinanchu/fusato/config/hooks/normal
|
||||
mkdir -p $uchinanchu/fusato/config/packages.chroot
|
||||
|
||||
|
||||
# Copy single files to the chroot
|
||||
cp $uchinanchu/pepaliases/bash_aliases $uchinanchu/fusato/config/includes.chroot/etc/skel/.bash_aliases
|
||||
cp $uchinanchu/pepcal/adddesktopicon/add-calamares-desktop-icon $uchinanchu/fusato/config/includes.chroot/usr/bin
|
||||
cp $uchinanchu/pepcal/calamares/settings.conf $uchinanchu/fusato/config/includes.chroot/etc/calamares
|
||||
cp $uchinanchu/peplightdm/lightdm.conf $uchinanchu/fusato/config/includes.chroot/etc/lightdm
|
||||
cp $uchinanchu/peplightdm/lightdm-gtk-greeter.conf $uchinanchu/fusato/config/includes.chroot/etc/lightdm
|
||||
cp $uchinanchu/pepsources/sources.list $uchinanchu/fusato/config/includes.chroot/opt/pepconf
|
||||
cp $uchinanchu/PepProTools/xDaily $uchinanchu/fusato/config/includes.chroot/usr/local/bin
|
||||
cp $uchinanchu/PepProTools/Welcome_auto.desktop $uchinanchu/fusato/config/includes.chroot/etc/xdg/autostart
|
||||
|
||||
# Copy directory contents to the chroot
|
||||
cp $uchinanchu/pepapplication/* $uchinanchu/fusato/config/includes.chroot/usr/share/applications
|
||||
cp $uchinanchu/pepgrub/grub $uchinanchu/fusato/config/includes.chroot/etc/default
|
||||
cp $uchinanchu/pephooks/live/* $uchinanchu/fusato/config/includes.chroot/usr/lib/live/config
|
||||
cp $uchinanchu/pephooks/normal/* $uchinanchu/fusato/config/hooks/normal
|
||||
cp $uchinanchu/pepissue/* $uchinanchu/fusato/config/includes.bootstrap/etc
|
||||
cp $uchinanchu/pepissue/* $uchinanchu/fusato/config/includes.chroot/etc
|
||||
cp $uchinanchu/pepissue/* $uchinanchu/fusato/config/includes.chroot/opt/pepconf
|
||||
cp $uchinanchu/peposrelease/* $uchinanchu/fusato/config/includes.chroot/opt/pepconf
|
||||
cp $uchinanchu/peposrelease/* $uchinanchu/fusato/config/includes.chroot/usr/lib
|
||||
cp $uchinanchu/peppolkit/* $uchinanchu/fusato/config/includes.chroot/usr/share/polkit-1/actions
|
||||
cp $uchinanchu/pepdb/* $uchinanchu/fusato/config/includes.chroot/opt/pypep/dbpep
|
||||
cp $uchinanchu/pepuserconfig/* $uchinanchu/fusato/config/includes.chroot/etc/live/config.conf.d
|
||||
cp $uchinanchu/PepProPixMaps/* $uchinanchu/fusato/config/includes.chroot/usr/share/pixmaps
|
||||
|
||||
# Copy recursive files and sub-directories, containing symlinks.
|
||||
cp -r $uchinanchu/PepProTools/* $uchinanchu/fusato/config/includes.chroot/opt/pypep
|
||||
cp -r $uchinanchu/pepcal/calamares/branding $uchinanchu/fusato/config/includes.chroot/etc/calamares
|
||||
cp -r $uchinanchu/pepcal/calamares/modules $uchinanchu/fusato/config/includes.chroot/etc/calamares
|
||||
cp -r $uchinanchu/pepxfce/xfce4/panel $uchinanchu/fusato/config/includes.chroot/etc/skel/.config/xfce4
|
||||
cp -r $uchinanchu/pepxfce/xfce4/xfconf/xfce-perchannel-xml/* $uchinanchu/fusato/config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml
|
||||
cp -r $uchinanchu/pepxfce/xfce4/defaults.rc $uchinanchu/fusato/config/includes.chroot/etc/xdg/xfce4/whiskermenu
|
||||
cp -r $uchinanchu/pepxfce/Thunar $uchinanchu/fusato/config/includes.chroot/etc/xdg/
|
||||
cp -r $uchinanchu/pepgrub/themes $uchinanchu/fusato/config/includes.chroot/boot/grub
|
||||
|
||||
# Resolves Synaptics issue. Might be better in a conf hook.
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/share/distro-info
|
||||
mkdir -p $uchinanchu/fusato/config/includes.chroot/usr/share/python-apt/templates
|
||||
ln -s Debian.info $uchinanchu/fusato/config/includes.chroot/usr/share/python-apt/templates/Peppermint.info
|
||||
ln -s Debian.mirrors $uchinanchu/fusato/config/includes.chroot/usr/share/python-apt/templates/Peppermint.mirrors
|
||||
ln -s debian.csv $uchinanchu/fusato/config/includes.chroot/usr/share/distro-info/peppermint.csv
|
||||
|
||||
# Place files unique to Nightly builds here.
|
||||
cp $uchinanchu/pepnightly/pepaliases/bash_aliases $uchinanchu/fusato/config/includes.chroot/etc/skel/.bash_aliases
|
||||
cp $uchinanchu/pepnightly/pepapplication/* $uchinanchu/fusato/config/includes.chroot/usr/share/applications
|
||||
cp $uchinanchu/pepnightly/pepcal/install-peppermint $uchinanchu/fusato/config/includes.chroot/usr/bin
|
||||
cp $uchinanchu/pepnightly/pepcal/sources-final $uchinanchu/fusato/config/includes.chroot/usr/sbin
|
||||
cp $uchinanchu/pepnightly/pepmultimedia/* $uchinanchu/fusato/config/archives
|
||||
cp -r $uchinanchu/pepnightly/peploadersplash/boot $uchinanchu/fusato/config/includes.binary
|
||||
cp -r $uchinanchu/pepnightly/peploadersplash/isolinux $uchinanchu/fusato/config/includes.binary
|
||||
|
||||
# Build the ISO #
|
||||
lb build #--debug --verbose
|
Loading…
Reference in New Issue