ExnixOS-BY-MR/eznixOS12X-calamares/eznixOS12X/doc/bldeznix12X-howto.txt

121 lines
7.4 KiB
Plaintext

Step by Step Live-Build - AMD64 Architecture Example
-----------------------------------
Suggested location for the build staging folder:
/eznixOS12X -- build folder
Suggested location for the collection of preparation files and packages:
/eznix12X -- files location
The build procedure begins below. Copy and paste each command exactly unless you know what you are doing and are comfortable making changes.
ALL COMMANDS NEED TO BE RUN AS ROOT!
----------------------------------
Step 1: Assign work, files, and build directory variables
# Run command below to set the working directory:
WKDIR="$(pwd)"
FLDIR="eznix12X"
BLDDIR="eznixOS12X"
----------------------------------
Step 2: Remove the icon cache cleaning hook, create the build staging folder, and cd into it
# Run commands below to prepare for the build:
rm /usr/share/live/build/hooks/normal/9000-remove-gnome-icon-cache.hook.chroot
mkdir $BLDDIR
cd $BLDDIR
----------------------------------
Step 3: Set up the live-build config
# Run command below to configure live build:
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 --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/ --image-name "$BLDDIR-$(date -u +"%y%m%d")" --iso-volume "$BLDDIR-$(date -u +"%y%m%d")" --checksums sha512 --clean --color
----------------------------------
Step 4: Pass the desktop and packages to the live-build config
# Run command below to install the Xfce Desktop:
echo "accountsservice arc-theme asunder atril breeze-gtk-theme breeze-icon-theme dconf-cli gnome-disk-utility gnome-keyring gnome-nettool gnome-system-tools greybird-gtk-theme 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 tango-icon-theme xarchiver xfce4 xfce4-goodies xfce4-power-manager xfce4-terminal" > $WKDIR/$BLDDIR/config/package-lists/xfcedesktop.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 galculator gdebi geany ghostscript gimp gir1.2-ibus-1.0 gparted grsync grub-pc gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-plugins-good gthumb guvcview 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 policykit-1 printer-driver-gutenprint python3-ibus-1.0 rar samba-common-bin simple-scan simplescreenrecorder smplayer smplayer-l10n smplayer-themes soundconverter sox squashfs-tools streamripper sudo synaptic syslinux syslinux-common system-config-printer testdisk timeshift transmission-gtk twolame udisks2 upower unrar unzip webext-keepassxc-browser wget x265 x264 xclip xdg-utils xfsprogs xorg xserver-xorg-input-all xserver-xorg-video-all xorriso xscreensaver xterm zip zstd zulucrypt-gui zulumount-gui" > $WKDIR/$BLDDIR/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" > $WKDIR/$BLDDIR/config/package-lists/firmware.list.chroot
echo "efibootmgr grub-common grub-pc-bin grub2-common 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" > $WKDIR/$BLDDIR/config/package-lists/grubs.list.binary
# Uncomment below line to include more Broadcom WiFi drivers:
# echo "b43-fwcutter firmware-b43-installer firmware-b43legacy-installer" > $WKDIR/$BLDDIR/config/package-lists/bcmfirmware.list.chroot
# Include the Calamares Installer
mkdir -p $WKDIR/$BLDDIR/config/includes.chroot/etc/
cp -r $WKDIR/$FLDIR/calamares/ $WKDIR/$BLDDIR/config/includes.chroot/etc/
echo "calamares calamares-settings-debian" > $WKDIR/$BLDDIR/config/package-lists/calamares.list.chroot
----------------------------------
Step 5: Make folders in the chroot
# Run command below to create needed folders:
mkdir -p $WKDIR/$BLDDIR/config/hooks/normal/
mkdir -p $WKDIR/$BLDDIR/config/includes.chroot/usr/local/bin/
mkdir -p $WKDIR/$BLDDIR/config/includes.chroot/etc/skel/.config/
mkdir -p $WKDIR/$BLDDIR/config/includes.chroot/usr/share/backgrounds/
mkdir -p $WKDIR/$BLDDIR/config/includes.chroot/usr/share/applications/
mkdir -p $WKDIR/$BLDDIR/config/includes.chroot/usr/share/icons/default/
-----------------------------------
Step 6: Copy files into the chroot and live-build config
# Run commands below to copy build files into the live system:
cp -r $WKDIR/$FLDIR/bootloaders/ $WKDIR/$BLDDIR/config/
cp -r $WKDIR/$FLDIR/ $WKDIR/$BLDDIR/config/includes.chroot/usr/share/
cp -r $WKDIR/$FLDIR/xfce4/ $WKDIR/$BLDDIR/config/includes.chroot/etc/skel/.config/
cp $WKDIR/$FLDIR/hooks/* $WKDIR/$BLDDIR/config/hooks/normal/
cp $WKDIR/$FLDIR/scripts/* $WKDIR/$BLDDIR/config/includes.chroot/usr/local/bin/
cp $WKDIR/$FLDIR/icons/* $WKDIR/$BLDDIR/config/includes.chroot/usr/share/icons/default/
cp $WKDIR/$FLDIR/backgrounds/* $WKDIR/$BLDDIR/config/includes.chroot/usr/share/backgrounds/
cp $WKDIR/$FLDIR/launchers/ezadmin.desktop $WKDIR/$BLDDIR/config/includes.chroot/usr/share/applications/
ln -s /usr/share/$FLDIR $WKDIR/$BLDDIR/config/includes.chroot/etc/skel/$FLDIR
-----------------------------------
# Run command below IF you wish to include deb packages from misc64 folder:
# cp $WKDIR/$FLDIR/misc64/* $WKDIR/$BLDDIR/config/packages.chroot/
-----------------------------------
Step 7: Start the build process
# Run command below to start live build:
lb build
-----------------------------------
Step 8: Wait for the build to complete. The ISO will be inside the build folder
-----------------------------------
# bldeznix12X-howto.txt -- Revision: 12X -- by eznix (https://sourceforge.net/projects/eznixos/)
# (GNU/General Public License version 3.0)