restructure archiso builder
This commit is contained in:
parent
36eeb1c80d
commit
89fe453b70
3 changed files with 163 additions and 0 deletions
28
archiso/build_archiso.sh
Executable file
28
archiso/build_archiso.sh
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
build="archiso-profile-do-not-delete"
|
||||||
|
out="built-isos"
|
||||||
|
profile="releng"
|
||||||
|
work="/tmp/archiso-tmp"
|
||||||
|
|
||||||
|
mkdir -p $build
|
||||||
|
mkdir -p $out
|
||||||
|
|
||||||
|
cp -r /usr/share/archiso/configs/$profile/ $build
|
||||||
|
cp installer/install-arch $build/$profile/airootfs/root/
|
||||||
|
|
||||||
|
# replace some files of releng profile wtih custom ones
|
||||||
|
# e.g. a custom pacman.conf
|
||||||
|
cp -r archiso/profile/. $build/$profile
|
||||||
|
|
||||||
|
# install additional packages used by installer script
|
||||||
|
cat >> $build/$profile/packages.x86_64 <<EOF
|
||||||
|
pacman-contrib
|
||||||
|
dialog
|
||||||
|
EOF
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
sudo mkarchiso -v -o "${out}" $build/$profile -w $work
|
||||||
|
|
||||||
|
echo "Successfully built arch installation image in ${out}"
|
||||||
|
sudo rm -r $work
|
||||||
|
rm -r $build
|
109
archiso/profile/airootfs/etc/pacman.conf
Normal file
109
archiso/profile/airootfs/etc/pacman.conf
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
#
|
||||||
|
# /etc/pacman.conf
|
||||||
|
#
|
||||||
|
# See the pacman.conf(5) manpage for option and repository directives
|
||||||
|
|
||||||
|
#
|
||||||
|
# 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/
|
||||||
|
HoldPkg = pacman glibc
|
||||||
|
# If upgrades are available for these packages they will be asked for first
|
||||||
|
SyncFirst = pacman
|
||||||
|
#XferCommand = /usr/bin/curl -C - -f %u > %o
|
||||||
|
#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
|
||||||
|
#UseDelta
|
||||||
|
#TotalDownload
|
||||||
|
CheckSpace
|
||||||
|
#VerbosePkgLists
|
||||||
|
|
||||||
|
# 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 = Optional TrustedOnly
|
||||||
|
|
||||||
|
# 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]
|
||||||
|
#SigLevel = PackageRequired
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[core]
|
||||||
|
SigLevel = PackageRequired
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
SigLevel = PackageRequired
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
#[community-testing]
|
||||||
|
#SigLevel = PackageRequired
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[community]
|
||||||
|
SigLevel = PackageRequired
|
||||||
|
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]
|
||||||
|
#SigLevel = PackageRequired
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[multilib]
|
||||||
|
#SigLevel = PackageRequired
|
||||||
|
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
|
||||||
|
|
||||||
|
# Custom arch repository
|
||||||
|
[mkessler-arch]
|
||||||
|
Server = https://mkessler-arch.maximilian-kessler.de
|
26
archiso/profile/profiledef.sh
Normal file
26
archiso/profile/profiledef.sh
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
|
||||||
|
iso_name="archlinux"
|
||||||
|
iso_label="ARCH_$(date +%Y%m)"
|
||||||
|
iso_publisher="Arch Linux <https://archlinux.org>"
|
||||||
|
iso_application="Arch Linux Live/Rescue CD"
|
||||||
|
iso_version="$(date +%Y.%m.%d)"
|
||||||
|
install_dir="arch"
|
||||||
|
buildmodes=('iso')
|
||||||
|
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
|
||||||
|
'uefi-ia32.grub.esp' 'uefi-x64.grub.esp'
|
||||||
|
'uefi-ia32.grub.eltorito' 'uefi-x64.grub.eltorito')
|
||||||
|
arch="x86_64"
|
||||||
|
pacman_conf="pacman.conf"
|
||||||
|
airootfs_image_type="squashfs"
|
||||||
|
airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86' '-b' '1M' '-Xdict-size' '1M')
|
||||||
|
file_permissions=(
|
||||||
|
["/etc/shadow"]="0:0:400"
|
||||||
|
["/root"]="0:0:750"
|
||||||
|
["/root/.automated_script.sh"]="0:0:755"
|
||||||
|
["/usr/local/bin/choose-mirror"]="0:0:755"
|
||||||
|
["/usr/local/bin/Installation_guide"]="0:0:755"
|
||||||
|
["/usr/local/bin/livecd-sound"]="0:0:755"
|
||||||
|
["/root/install-arch"]="0:0:755"
|
||||||
|
)
|
Loading…
Reference in a new issue