264 lines
5.0 KiB
Bash
264 lines
5.0 KiB
Bash
|
#!/bin/bash
|
||
|
echo "Updating packages"
|
||
|
pacman -Syu --noconfirm archiso
|
||
|
echo "Deleting old archiso"
|
||
|
rm -rf /root/archiso
|
||
|
rm -rf /root/archiso_work
|
||
|
echo "Copying new archiso"
|
||
|
cp -r /usr/share/archiso/configs/releng/ /root/archiso
|
||
|
echo "Pasting pacman.conf"
|
||
|
cat > /root/archiso/pacman.conf << EOF
|
||
|
#
|
||
|
# /etc/pacman.conf
|
||
|
#
|
||
|
# See the pacman.conf(5) manpage for option and repository directives
|
||
|
#
|
||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||
|
|
||
|
#
|
||
|
# GENERAL OPTIONS
|
||
|
#
|
||
|
[options]
|
||
|
# The following paths are commented out with their default values listed.
|
||
|
# If you wish to use different paths, uncomment and update the paths.
|
||
|
#RootDir = /
|
||
|
#DBPath = /var/lib/pacman/
|
||
|
#CacheDir = /var/cache/pacman/pkg/
|
||
|
#LogFile = /var/log/pacman.log
|
||
|
#GPGDir = /etc/pacman.d/gnupg/
|
||
|
#HookDir = /etc/pacman.d/hooks/
|
||
|
HoldPkg = pacman glibc
|
||
|
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||
|
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||
|
#CleanMethod = KeepInstalled
|
||
|
Architecture = auto
|
||
|
|
||
|
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||
|
#IgnorePkg =
|
||
|
#IgnoreGroup =
|
||
|
|
||
|
#NoUpgrade =
|
||
|
#NoExtract =
|
||
|
|
||
|
# Misc options
|
||
|
#UseSyslog
|
||
|
ILoveCandy
|
||
|
Color
|
||
|
#TotalDownload
|
||
|
# We cannot check disk space from within a chroot environment
|
||
|
#CheckSpace
|
||
|
#VerbosePkgLists
|
||
|
ParallelDownloads = 3
|
||
|
|
||
|
# By default, pacman accepts packages signed by keys that its local keyring
|
||
|
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||
|
SigLevel = Required DatabaseOptional
|
||
|
LocalFileSigLevel = Optional
|
||
|
#RemoteFileSigLevel = Required
|
||
|
|
||
|
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||
|
# keyring can then be populated with the keys of all official Arch Linux
|
||
|
# packagers with `pacman-key --populate archlinux`.
|
||
|
|
||
|
#
|
||
|
# REPOSITORIES
|
||
|
# - can be defined here or included from another file
|
||
|
# - pacman will search repositories in the order defined here
|
||
|
# - local/custom mirrors can be added here or in separate files
|
||
|
# - repositories listed first will take precedence when packages
|
||
|
# have identical names, regardless of version number
|
||
|
# - URLs will have $repo replaced by the name of the current repo
|
||
|
# - URLs will have $arch replaced by the name of the architecture
|
||
|
#
|
||
|
# Repository entries are of the format:
|
||
|
# [repo-name]
|
||
|
# Server = ServerName
|
||
|
# Include = IncludePath
|
||
|
#
|
||
|
# The header [repo-name] is crucial - it must be present and
|
||
|
# uncommented to enable the repo.
|
||
|
#
|
||
|
|
||
|
# The testing repositories are disabled by default. To enable, uncomment the
|
||
|
# repo name header and Include lines. You can add preferred servers immediately
|
||
|
# after the header, and they will be used before the default mirrors.
|
||
|
|
||
|
#[testing]
|
||
|
#Include = /etc/pacman.d/mirrorlist
|
||
|
|
||
|
[core]
|
||
|
Include = /etc/pacman.d/mirrorlist
|
||
|
|
||
|
[extra]
|
||
|
Include = /etc/pacman.d/mirrorlist
|
||
|
|
||
|
#[community-testing]
|
||
|
#Include = /etc/pacman.d/mirrorlist
|
||
|
|
||
|
[community]
|
||
|
Include = /etc/pacman.d/mirrorlist
|
||
|
|
||
|
# If you want to run 32 bit applications on your x86_64 system,
|
||
|
# enable the multilib repositories as required here.
|
||
|
|
||
|
#[multilib-testing]
|
||
|
#Include = /etc/pacman.d/mirrorlist
|
||
|
|
||
|
#[multilib]
|
||
|
#Include = /etc/pacman.d/mirrorlist
|
||
|
|
||
|
# An example of a custom package repository. See the pacman manpage for
|
||
|
# tips on creating your own repositories.
|
||
|
#[custom]
|
||
|
#SigLevel = Optional TrustAll
|
||
|
#Server = file:///home/custompkgs
|
||
|
EOF
|
||
|
echo "Pasting packages.x86_64"
|
||
|
cat > /root/archiso/packages.x86_64 << EOF
|
||
|
alsa-utils
|
||
|
amd-ucode
|
||
|
arch-install-scripts
|
||
|
b43-fwcutter
|
||
|
base
|
||
|
bind-tools
|
||
|
brltty
|
||
|
broadcom-wl
|
||
|
btrfs-progs
|
||
|
clonezilla
|
||
|
crda
|
||
|
darkhttpd
|
||
|
ddrescue
|
||
|
dhclient
|
||
|
dhcpcd
|
||
|
diffutils
|
||
|
dmraid
|
||
|
dnsmasq
|
||
|
dosfstools
|
||
|
edk2-shell
|
||
|
efibootmgr
|
||
|
espeakup
|
||
|
ethtool
|
||
|
exfatprogs
|
||
|
f2fs-tools
|
||
|
fatresize
|
||
|
fsarchiver
|
||
|
gnu-netcat
|
||
|
gpart
|
||
|
gpm
|
||
|
gptfdisk
|
||
|
grml-zsh-config
|
||
|
hdparm
|
||
|
intel-ucode
|
||
|
ipw2100-fw
|
||
|
ipw2200-fw
|
||
|
irssi
|
||
|
iwd
|
||
|
jfsutils
|
||
|
linux
|
||
|
linux-atm
|
||
|
linux-firmware
|
||
|
livecd-sounds
|
||
|
lsscsi
|
||
|
lvm2
|
||
|
lynx
|
||
|
man-db
|
||
|
man-pages
|
||
|
mc
|
||
|
mdadm
|
||
|
memtest86+
|
||
|
mkinitcpio
|
||
|
mkinitcpio-archiso
|
||
|
mkinitcpio-nfs-utils
|
||
|
mtools
|
||
|
nano
|
||
|
nbd
|
||
|
ndisc6
|
||
|
nfs-utils
|
||
|
nilfs-utils
|
||
|
nmap
|
||
|
ntfs-3g
|
||
|
nvme-cli
|
||
|
openconnect
|
||
|
openssh
|
||
|
openvpn
|
||
|
partclone
|
||
|
parted
|
||
|
partimage
|
||
|
ppp
|
||
|
pptpclient
|
||
|
reflector
|
||
|
reiserfsprogs
|
||
|
rp-pppoe
|
||
|
rsync
|
||
|
sdparm
|
||
|
sg3_utils
|
||
|
smartmontools
|
||
|
squashfs-tools
|
||
|
sudo
|
||
|
syslinux
|
||
|
systemd-resolvconf
|
||
|
tcpdump
|
||
|
terminus-font
|
||
|
testdisk
|
||
|
tmux
|
||
|
udftools
|
||
|
usb_modeswitch
|
||
|
usbutils
|
||
|
vim
|
||
|
vpnc
|
||
|
wireless-regdb
|
||
|
wireless_tools
|
||
|
wpa_supplicant
|
||
|
wvdial
|
||
|
xfsprogs
|
||
|
xl2tpd
|
||
|
zsh
|
||
|
vlc
|
||
|
code
|
||
|
chromium
|
||
|
mpv
|
||
|
libreoffice-fresh
|
||
|
vim
|
||
|
networkmanager
|
||
|
nmap
|
||
|
xorg-drivers
|
||
|
xfce4
|
||
|
xorg-server
|
||
|
lightdm
|
||
|
lightdm-gtk-greeter
|
||
|
noto-fonts
|
||
|
thunar
|
||
|
pulseaudio
|
||
|
libcanberra
|
||
|
libcanberra-pulse
|
||
|
htop
|
||
|
bash-completion
|
||
|
gparted
|
||
|
f2fs-tools
|
||
|
mousepad
|
||
|
ristretto
|
||
|
atril
|
||
|
galculator
|
||
|
EOF
|
||
|
|
||
|
echo "Pasting postinstall commands"
|
||
|
|
||
|
cat >> /root/archiso/airootfs/root/customize_airootfs.sh << _EOF_
|
||
|
systemctl enable lightdm NetworkManager
|
||
|
systemctl set-default graphical.target
|
||
|
useradd -m losted
|
||
|
passwd losted <<EOF
|
||
|
0000
|
||
|
0000
|
||
|
EOF
|
||
|
|
||
|
echo "losted ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
||
|
sed -i '/^#Color/s/^#//' /etc/pacman.conf #enable colors in pacman
|
||
|
_EOF_
|
||
|
|
||
|
|
||
|
echo "Running mkarchiso"
|
||
|
mkdir /root/archiso_out /root/archiso_work
|
||
|
mkarchiso -v -w /root/archiso_work -o /root/archiso_out /root/archiso
|
||
|
echo "Done"
|