377 lines
8.4 KiB
Bash
377 lines
8.4 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
################################################################################
|
||
|
# bldeznix12X -- Revision: 12X -1 -- by Manuel rosa
|
||
|
# (GNU/General Public License version 3.0)
|
||
|
|
||
|
# Step by Step Live-build
|
||
|
################################################################################
|
||
|
|
||
|
PATH="/sbin:/usr/sbin:/usr/local/sbin:$PATH"
|
||
|
|
||
|
# Set the working folder variable
|
||
|
eznixOS="$(pwd)"
|
||
|
|
||
|
# Create the eznixOS folder, move into it removing stale mountpoints and files there.
|
||
|
[ -e eznixOS ] && [ ! -d eznixOS ] && rm -f eznixOS || [ ! -e eznixOS ] && mkdir eznixOS
|
||
|
cd eznixOS
|
||
|
umount $(mount | grep "${PWD}/chroot" | tac | cut -f3 -d" ") 2>/dev/null
|
||
|
|
||
|
# Set up build environment
|
||
|
|
||
|
lb config \
|
||
|
--binary-images iso-hybrid \
|
||
|
--mode debian \
|
||
|
--architectures amd64 \
|
||
|
--linux-flavours amd64 \
|
||
|
--distribution bookworm \
|
||
|
--archive-areas "main contrib non-free non-free-firmware" \
|
||
|
--updates true \
|
||
|
--security true \
|
||
|
--backports true \
|
||
|
--cache true \
|
||
|
--apt-recommends true \
|
||
|
--firmware-binary true \
|
||
|
--firmware-chroot true \
|
||
|
--win32-loader false \
|
||
|
--iso-application $BLDDIR \
|
||
|
--iso-preparer eznix-https://sourceforge.net/projects/eznixos/ \
|
||
|
--iso-publisher eznix-https://sourceforge.net/projects/eznixos/ \
|
||
|
--iso-volume "eznixOS12X_${TODAY}" \
|
||
|
--image-name "eznixOS12X" \
|
||
|
--checksums sha512 \
|
||
|
--zsync false \
|
||
|
--clean \
|
||
|
--color \
|
||
|
"${@}"
|
||
|
|
||
|
|
||
|
# Install desktop and applications
|
||
|
mkdir -p $eznixOS/eznixOS/config/package-lists
|
||
|
echo "
|
||
|
accountsservice
|
||
|
arc-theme
|
||
|
asunder
|
||
|
atril
|
||
|
breeze-gtk-theme
|
||
|
breeze-icon-theme
|
||
|
dconf-cli
|
||
|
galculator
|
||
|
geany
|
||
|
gnome-keyring
|
||
|
gnome-nettool
|
||
|
gnome-system-tools
|
||
|
greybird-gtk-theme
|
||
|
gthumb
|
||
|
guvcview
|
||
|
gvfs-backends
|
||
|
gvfs-fuse
|
||
|
light-locker
|
||
|
lightdm
|
||
|
lightdm-gtk-greeter
|
||
|
lightdm-gtk-greeter-settings
|
||
|
mousepad
|
||
|
network-manager-gnome
|
||
|
network-manager-openconnect-gnome
|
||
|
network-manager-openvpn-gnome
|
||
|
numix-gtk-theme
|
||
|
pavucontrol
|
||
|
pulseaudio
|
||
|
remmina
|
||
|
simple-scan
|
||
|
system-config-printer
|
||
|
tango-icon-theme
|
||
|
transmission-gtk
|
||
|
xarchiver
|
||
|
xfce4
|
||
|
xfce4-goodies
|
||
|
xfce4-power-manager
|
||
|
xfce4-terminal
|
||
|
xscreensaver
|
||
|
|
||
|
" >> $eznixOS/eznixOS/config/package-lists/desktop.list.chroot
|
||
|
|
||
|
echo "
|
||
|
aisleriot
|
||
|
alsa-utils
|
||
|
apt-transport-https
|
||
|
audacious
|
||
|
audacious-plugins
|
||
|
autoconf
|
||
|
automake
|
||
|
bleachbit
|
||
|
btrfs-progs
|
||
|
build-essential
|
||
|
cdtool
|
||
|
cdrdao
|
||
|
cdrskin
|
||
|
cifs-utils
|
||
|
clonezilla
|
||
|
cryptsetup
|
||
|
cryptsetup-initramfs
|
||
|
cups
|
||
|
cups-filters
|
||
|
curl
|
||
|
dbus-user-session
|
||
|
dbus-x11
|
||
|
debconf
|
||
|
debhelper
|
||
|
dh-autoreconf
|
||
|
dialog
|
||
|
dirmngr
|
||
|
dkms
|
||
|
dos2unix
|
||
|
dosbox
|
||
|
dosfstools
|
||
|
dvdauthor
|
||
|
exfatprogs
|
||
|
faac
|
||
|
faad
|
||
|
fakeroot
|
||
|
ffmpeg
|
||
|
filezilla
|
||
|
firefox-esr
|
||
|
flac
|
||
|
foomatic-db
|
||
|
foomatic-db-engine
|
||
|
frei0r-plugins
|
||
|
fuse3
|
||
|
gdebi
|
||
|
ghostscript
|
||
|
gimp
|
||
|
gir1.2-ibus-1.0
|
||
|
gnome-disk-utility
|
||
|
gparted grsync
|
||
|
grub-pc
|
||
|
gstreamer1.0-plugins-bad
|
||
|
gstreamer1.0-plugins-ugly
|
||
|
gstreamer1.0-plugins-good
|
||
|
hardinfo
|
||
|
haveged
|
||
|
hplip-gui
|
||
|
htop
|
||
|
hunspell-en-us
|
||
|
hyphen-en-us
|
||
|
ibus
|
||
|
ibus-data
|
||
|
ibus-gtk
|
||
|
ibus-gtk3
|
||
|
iftop
|
||
|
im-config
|
||
|
inxi
|
||
|
isolinux
|
||
|
iw
|
||
|
jfsutils
|
||
|
keepassxc
|
||
|
lame
|
||
|
less
|
||
|
libegl1-mesa
|
||
|
libibus-1.0-5
|
||
|
libgl1-mesa-glx
|
||
|
libqt5opengl5
|
||
|
libreoffice-calc
|
||
|
libreoffice-draw
|
||
|
libreoffice-impress
|
||
|
libreoffice-writer
|
||
|
libreoffice-gtk3
|
||
|
libreoffice-help-en-us
|
||
|
libnss-mdns
|
||
|
libsmbclient
|
||
|
libxcb-xtest0
|
||
|
libxvidcore4
|
||
|
linux-headers-amd64
|
||
|
live-build
|
||
|
lsb-release
|
||
|
lshw
|
||
|
meld
|
||
|
mencoder
|
||
|
menu
|
||
|
mjpegtools
|
||
|
mpg321
|
||
|
mpv
|
||
|
mtools
|
||
|
mythes-en-us
|
||
|
neofetch
|
||
|
netcat-openbsd
|
||
|
ntfs-3g
|
||
|
nvidia-detect
|
||
|
openconnect
|
||
|
openvpn
|
||
|
openvpn-systemd-resolved
|
||
|
os-prober
|
||
|
p7zip-full
|
||
|
p7zip-rar
|
||
|
papirus-icon-theme
|
||
|
pciutils perl
|
||
|
plymouth
|
||
|
plymouth-label
|
||
|
plymouth-themes
|
||
|
plymouth-x11
|
||
|
policykit-1
|
||
|
printer-driver-gutenprint
|
||
|
python3-ibus-1.0
|
||
|
rar
|
||
|
samba-common-bin
|
||
|
simplescreenrecorder
|
||
|
smbclient
|
||
|
smplayer
|
||
|
smplayer-l10n
|
||
|
smplayer-themes
|
||
|
soundconverter
|
||
|
sox
|
||
|
squashfs-tools
|
||
|
streamripper
|
||
|
sudo
|
||
|
synaptic
|
||
|
syslinux
|
||
|
syslinux-common
|
||
|
testdisk
|
||
|
timeshift
|
||
|
twolame
|
||
|
udisks2
|
||
|
upower
|
||
|
unrar
|
||
|
unzip
|
||
|
webext-keepassxc-browser
|
||
|
wget
|
||
|
x11-common
|
||
|
x265
|
||
|
x264
|
||
|
xauth
|
||
|
xclip
|
||
|
xdg-utils
|
||
|
xfsprogs
|
||
|
xorg
|
||
|
xserver-xorg-input-all
|
||
|
xserver-xorg-video-all
|
||
|
xorriso
|
||
|
xterm
|
||
|
zip
|
||
|
zstd
|
||
|
zulucrypt-gui
|
||
|
zulumount-gui
|
||
|
|
||
|
" > $eznixOS/eznixOS/config/package-lists/extrapackages.list.chroot
|
||
|
|
||
|
echo "
|
||
|
atmel-firmware
|
||
|
bluez-firmware
|
||
|
firmware-linux-free
|
||
|
midisport-firmware
|
||
|
firmware-misc-nonfree
|
||
|
firmware-amd-graphics
|
||
|
firmware-atheros
|
||
|
firmware-bnx2
|
||
|
firmware-bnx2x
|
||
|
firmware-brcm80211
|
||
|
firmware-cavium
|
||
|
firmware-intel-sound
|
||
|
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
|
||
|
|
||
|
" > $eznixOS/eznixOS/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
|
||
|
grub2-common
|
||
|
grub-efi
|
||
|
grub-efi-amd64
|
||
|
grub-efi-amd64-bin
|
||
|
grub-efi-amd64-signed
|
||
|
libefiboot1
|
||
|
libefivar1
|
||
|
mokutil
|
||
|
os-prober
|
||
|
shim-helpers-amd64-signed
|
||
|
shim-signed
|
||
|
shim-signed-common
|
||
|
shim-unsigned
|
||
|
|
||
|
" >> $eznixOS/eznixOS/config/package-lists/installer.list.binary
|
||
|
|
||
|
# Uncomment below line to include more Broadcom WiFi drivers:
|
||
|
# echo "
|
||
|
#b43-fwcutter
|
||
|
#firmware-b43-installer
|
||
|
#firmware-b43legacy-installer
|
||
|
|
||
|
#" > $$eznixOS/eznixOS/config/package-lists/bcmfirmware.list.chroot
|
||
|
|
||
|
# Include the Calamares installer
|
||
|
mkdir -p $eznixOS/eznixOS/config/includes.chroot/etc/
|
||
|
cp -r $eznixOS/eznixOS12X/calamares/ $eznixOS/eznixOS/config/includes.chroot/etc/
|
||
|
|
||
|
echo "
|
||
|
calamares
|
||
|
calamares-settings-debian
|
||
|
|
||
|
" >> $eznixOS/eznixOS/config/package-lists/calamares.list.chroot
|
||
|
|
||
|
# Make folders in the chroot
|
||
|
|
||
|
mkdir -p $eznixOS/eznixOS/config/hooks/normal/
|
||
|
mkdir -p $eznixOS/eznixOS/config/packages.chroot/
|
||
|
mkdir -p $eznixOS/eznixOS/config/includes.chroot/etc/
|
||
|
mkdir -p $eznixOS/eznixOS/config/includes.chroot/usr/lib/
|
||
|
mkdir -p $eznixOS/eznixOS/config/includes.chroot/etc/default/
|
||
|
mkdir -p $eznixOS/eznixOS/config/includes.chroot/usr/local/bin/
|
||
|
mkdir -p $eznixOS/eznixOS/config/includes.chroot/etc/skel/.config/
|
||
|
mkdir -p $eznixOS/eznixOS/config/includes.chroot/usr/share/backgrounds/
|
||
|
mkdir -p $eznixOS/eznixOS/config/includes.chroot/usr/share/applications/
|
||
|
mkdir -p $eznixOS/eznixOS/config/includes.chroot/usr/share/icons/default/
|
||
|
mkdir -p $eznixOS/eznixOS/config/includes.chroot/etc/live/config.conf.d/
|
||
|
mkdir -p $eznixOS/eznixOS/config/includes.chroot/etc/lightdm
|
||
|
mkdir -p $eznixOS/eznixOS/config/includes.binary/
|
||
|
|
||
|
# Copy files into the chroot
|
||
|
cp -r $eznixOS/eznixOS12X $eznixOS/eznixOS/config/includes.chroot/usr/share/
|
||
|
cp -r $eznixOS/eznixOS12X/xfce4/ $eznixOS/eznixOS/config/includes.chroot/etc/skel/.config/
|
||
|
cp -r $eznixOS/eznixOS12X/bootloaders/* $eznixOS/eznixOS/config/includes.binary
|
||
|
|
||
|
cp $eznixOS/eznixOS12X/hooks/* $eznixOS/eznixOS/config/hooks/normal/
|
||
|
cp $eznixOS/eznixOS12X/lightdm/* $eznixOS/eznixOS/config/includes.chroot/etc/lightdm/
|
||
|
cp $eznixOS/eznixOS12X/issue/* $eznixOS/eznixOS/config/includes.chroot/etc/
|
||
|
cp $eznixOS/eznixOS12X/grub/* $eznixOS/eznixOS/config/includes.chroot/etc/default/
|
||
|
cp $eznixOS/eznixOS12X/os-release/* $eznixOS/eznixOS/config/includes.chroot/usr/lib/
|
||
|
cp $eznixOS/eznixOS12X/scripts/* $eznixOS/eznixOS/config/includes.chroot/usr/local/bin/
|
||
|
cp $eznixOS/eznixOS12X/icons/* $eznixOS/eznixOS/config/includes.chroot/usr/share/icons/default/
|
||
|
cp $eznixOS/eznixOS12X/backgrounds/* $eznixOS/eznixOS/config/includes.chroot/usr/share/backgrounds/
|
||
|
cp $eznixOS/eznixOS12X/launchers/ezadmin.desktop $eznixOS/eznixOS/config/includes.chroot/usr/share/applications/
|
||
|
cp $eznixOS/eznixOS12X/live-user/* $eznixOS/eznixOS/config/includes.chroot/etc/live/config.conf.d
|
||
|
|
||
|
# Uncomment below line if you have packages in the misc64 folder to include:
|
||
|
#cp $eznixOS/eznixOS12X/misc64/* $eznixOS/eznixOS/config/packages.chroot/
|
||
|
|
||
|
# Start the build process
|
||
|
# build the ISO #
|
||
|
lb build #--debug --verbose
|
||
|
|
||
|
|
||
|
# Disclaimer:
|
||
|
# THIS SOFTWARE IS PROVIDED BY EZNIX “AS IS” AND ANY EXPRESS OR IMPLIED
|
||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||
|
# EVENT SHALL EZNIX BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||
|
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||
|
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||
|
# POSSIBILITY OF SUCH DAMAGE.
|