#!/usr/bin/env bash # SPDX-License-Identifier: GPL-2.0-only # created by Tobias Powalowski build() { map add_module sd_mod? sr_mod? usb_storage? mmc_block? virtio_blk? vfat? \ btrfs? zram? iso9660? loop? zstd? pkcs8_key_parse? # pata, sata, scsi, nvme, usb, mmc, spi (for mmc mode), virtio map add_checked_modules 'scsi/.*ata' '/(block|scsi|fusion|nvme)/' 'ata/[ps]ata_' \ 'ata/(ahci|pdc_adma|ata_piix|ata_generic)' '(_cs|sl811_hcd|isp116x_hcd)' \ '/usb/host' '/drivers/usb/storage/' '/(drivers/mmc|tifm_)' \ '/drivers/spi/' 'virtio' map add_binary bash sh blkid mount switch_root bsdcpio mkfs.btrfs setfont \ /usr/lib/systemd/systemd-udevd udevadm systemd-tmpfiles kmod insmod modprobe \ gzip uname cat cp dmesg grep ln ls mv rm umount lsblk rmmod cut sed find add_file "/usr/share/kbd/consolefonts/ter-v16n.psf.gz" "/consolefont-16.psf.gz" add_file "/usr/share/kbd/consolefonts/ter-v32n.psf.gz" "/consolefont-32.psf.gz" map add_udev_rule '50-udev-default.rules' '60-persistent-storage.rules' \ '64-btrfs.rules' '80-drivers.rules' map add_file '/usr/lib/udev/ata_id' '/usr/lib/udev/scsi_id' add_file "/usr/share/archboot/base/init" "/init" map add_dir /mnt /cdrom /sysroot map add_file /etc/bash.bash_logout /etc/bash.bashrc /etc/profile /etc/shells # add default bash setup for i in .bashrc .bash_profile .bash_logout; do add_file "/etc/skel/${i}" "/root/${i}" done # add custom bash options echo ". /root/.bashrc" >> "$BUILDROOT/etc/bash.bashrc" echo ". /etc/profile.d/custom-bash-options.sh" >> "$BUILDROOT/root/.bashrc" echo "alias reboot='echo b >/proc/sysrq-trigger'" >> "$BUILDROOT/root/.bashrc" echo "alias poweroff='echo o >/proc/sysrq-trigger'" >> "$BUILDROOT/root/.bashrc" echo "root:x:0:root" > "$BUILDROOT/etc/group" echo "root:x:0:0:/root:/bin/bash" > "$BUILDROOT/etc/passwd" add_file "/usr/share/archboot/base/etc/profile.d/custom-bash-options.sh" \ "/etc/profile.d/custom-bash-options.sh" basic_config="os-release modprobe.d/modprobe.conf" for i in $basic_config; do add_file "/usr/share/archboot/base/etc/${i}" "/etc/${i}" done } help() { cat <