Updated ISO Profile
This commit is contained in:
parent
b6de5a090d
commit
8b611cf654
21
changelog.md
21
changelog.md
|
@ -1,5 +1,26 @@
|
|||
<h2 align="center">Archcraft : Changelogs</h2>
|
||||
|
||||
### July 2023
|
||||
- Updated ISO profile with latest archiso
|
||||
- Latest base with new packages
|
||||
- Fixed `xfce-power-manager` issue (not locking the screen on lid close)
|
||||
- Fixed sddm not saving the last used session issue
|
||||
- Added a calculator app
|
||||
- **`Openbox WM`**
|
||||
- Added `tint2` as alternate panel (in all themes)
|
||||
- Ability to switch between panels
|
||||
- Added `bluetooth` module on both panels
|
||||
- Added a rofi `bluetooth` applet
|
||||
- Fixed window resizing issue via each side of window
|
||||
- etc
|
||||
- **`BSPWM`**
|
||||
- Added `bluetooth` module on polybar (in all themes)
|
||||
- Added a rofi `bluetooth` applet
|
||||
- etc
|
||||
- Many small bugs fixed.
|
||||
|
||||
#
|
||||
|
||||
### April 2023
|
||||
**`Update (1st May): `**
|
||||
- Fixed `pacman-init` issue in last ISO.
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
<!-- Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com> -->
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-session" version="1.0">
|
||||
<property name="general" type="empty">
|
||||
<property name="LockCommand" type="string" value="xflock4"/>
|
||||
</property>
|
||||
</channel>
|
|
@ -7,6 +7,7 @@ Name=eth*
|
|||
|
||||
[Network]
|
||||
DHCP=yes
|
||||
MulticastDNS=yes
|
||||
IPv6PrivacyExtensions=yes
|
||||
|
||||
# systemd-networkd does not set per-interface-type default route metrics
|
||||
|
|
|
@ -3,6 +3,7 @@ Name=wl*
|
|||
|
||||
[Network]
|
||||
DHCP=yes
|
||||
MulticastDNS=yes
|
||||
IPv6PrivacyExtensions=yes
|
||||
|
||||
# systemd-networkd does not set per-interface-type default route metrics
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
# Default systemd-resolved configuration for archiso
|
||||
|
||||
[Resolve]
|
||||
MulticastDNS=yes
|
|
@ -16,7 +16,13 @@ automated_script ()
|
|||
script="$(script_cmdline)"
|
||||
if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then
|
||||
if [[ "${script}" =~ ^((http|https|ftp)://) ]]; then
|
||||
curl "${script}" --location --retry-connrefused --retry 10 -s -o /tmp/startup_script >/dev/null
|
||||
# there's no synchronization for network availability before executing this script
|
||||
printf '%s: waiting for network-online.target\n' "$0"
|
||||
until systemctl --quiet is-active network-online.target; do
|
||||
sleep 1
|
||||
done
|
||||
printf '%s: downloading %s\n' "$0" "${script}"
|
||||
curl "${script}" --location --retry-connrefused --retry 10 -s -o /tmp/startup_script
|
||||
rt=$?
|
||||
else
|
||||
cp "${script}" /tmp/startup_script
|
||||
|
@ -24,6 +30,9 @@ automated_script ()
|
|||
fi
|
||||
if [[ ${rt} -eq 0 ]]; then
|
||||
chmod +x /tmp/startup_script
|
||||
printf '%s: executing automated script\n' "$0"
|
||||
# note that script is executed when other services (like pacman-init) may be still in progress, please
|
||||
# synchronize to "systemctl is-system-running --wait" when your script depends on other services
|
||||
/tmp/startup_script
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -28,7 +28,7 @@ _EOF_
|
|||
|
||||
## Enable Parallel Downloads
|
||||
sed -i -e 's|#ParallelDownloads.*|ParallelDownloads = 5|g' /etc/pacman.conf
|
||||
sed -i -e '/#\[testing\]/Q' /etc/pacman.conf
|
||||
sed -i -e '/#\[core-testing\]/Q' /etc/pacman.conf
|
||||
|
||||
## Append archcraft repository to pacman.conf
|
||||
cat >> "/etc/pacman.conf" <<- EOL
|
||||
|
@ -36,19 +36,16 @@ cat >> "/etc/pacman.conf" <<- EOL
|
|||
SigLevel = Optional TrustAll
|
||||
Include = /etc/pacman.d/archcraft-mirrorlist
|
||||
|
||||
#[testing]
|
||||
#[core-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
#[community-testing]
|
||||
#[extra-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# If you want to run 32 bit applications on your x86_64 system,
|
||||
|
|
|
@ -4,4 +4,4 @@
|
|||
|
||||
## Script to Lock the session by xfce-power-manager
|
||||
|
||||
betterlockscreen --lock
|
||||
betterlockscreen --lock &
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
title Boot Archcraft (x86_64, UEFI)
|
||||
sort-key 01
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/amd-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n module_blacklist=pcspkr,snd_pcsp
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/amd-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
options archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n module_blacklist=pcspkr,snd_pcsp
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
title Boot Archcraft (x86_64, UEFI, open source)
|
||||
sort-key 02
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/amd-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm module_blacklist=pcspkr,snd_pcsp
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/amd-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
options archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm module_blacklist=pcspkr,snd_pcsp
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
title Boot Archcraft (x86_64, UEFI, nvidia)
|
||||
sort-key 03
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/amd-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-nvidia.img
|
||||
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nvidia_drm.modeset=1 nouveau.modeset=0 module_blacklist=nouveau radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=pcspkr,snd_pcsp
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/amd-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-nvidia.img
|
||||
options archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nvidia_drm.modeset=1 nouveau.modeset=0 module_blacklist=nouveau radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=pcspkr,snd_pcsp
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
title Boot Archcraft (x86_64, UEFI, nomodeset)
|
||||
sort-key 04
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/amd-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nomodeset module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm nouveau.modeset=0 radeon.modeset=0 i915.modeset=0 nvme_load=yes module_blacklist=pcspkr,snd_pcsp
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/amd-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
options archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nomodeset module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm nouveau.modeset=0 radeon.modeset=0 i915.modeset=0 nvme_load=yes module_blacklist=pcspkr,snd_pcsp
|
||||
|
|
|
@ -40,43 +40,41 @@ timeout_style=menu
|
|||
# Menu entries
|
||||
menuentry "Boot Archcraft (x86_64, UEFI)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraft' {
|
||||
set gfxpayload=keep
|
||||
search --no-floppy --set=root --label %ARCHISO_LABEL%
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n module_blacklist=pcspkr,snd_pcsp
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n module_blacklist=pcspkr,snd_pcsp
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
}
|
||||
|
||||
menuentry "Boot Archcraft (x86_64, UEFI, open source)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraftos' {
|
||||
set gfxpayload=keep
|
||||
search --no-floppy --set=root --label %ARCHISO_LABEL%
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm module_blacklist=pcspkr,snd_pcsp
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm module_blacklist=pcspkr,snd_pcsp
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
}
|
||||
|
||||
menuentry "Boot Archcraft (x86_64, UEFI, nvidia)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraftpn' {
|
||||
set gfxpayload=keep
|
||||
search --no-floppy --set=root --label %ARCHISO_LABEL%
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nvidia_drm.modeset=1 nouveau.modeset=0 module_blacklist=nouveau radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=pcspkr,snd_pcsp
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nvidia_drm.modeset=1 nouveau.modeset=0 module_blacklist=nouveau radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=pcspkr,snd_pcsp
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux-nvidia.img
|
||||
}
|
||||
|
||||
menuentry "Boot Archcraft (x86_64, UEFI, nomodeset)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraftnm' {
|
||||
set gfxpayload=keep
|
||||
search --no-floppy --set=root --label %ARCHISO_LABEL%
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nomodeset module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm nouveau.modeset=0 radeon.modeset=0 i915.modeset=0 nvme_load=yes module_blacklist=pcspkr,snd_pcsp
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nomodeset module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm nouveau.modeset=0 radeon.modeset=0 i915.modeset=0 nvme_load=yes module_blacklist=pcspkr,snd_pcsp
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
}
|
||||
|
||||
if [ "${grub_platform}" == "efi" ]; then
|
||||
if [ "${grub_cpu}" == "x86_64" ]; then
|
||||
menuentry "UEFI Shell" --class recovery {
|
||||
menuentry "Run Memtest86+ (RAM test)" --class memtest86 --class memtest --class gnu --class tool {
|
||||
set gfxpayload=800x600,1024x768
|
||||
linux /boot/memtest86+/memtest.efi
|
||||
}
|
||||
menuentry "UEFI Shell" --class recovery --class efi {
|
||||
insmod chain
|
||||
search --no-floppy --set=root --label %ARCHISO_LABEL%
|
||||
chainloader /shellx64.efi
|
||||
}
|
||||
elif [ "${grub_cpu}" == "i386" ]; then
|
||||
menuentry "UEFI Shell" --class recovery {
|
||||
menuentry "UEFI Shell" --class recovery --class efi {
|
||||
insmod chain
|
||||
search --no-floppy --set=root --label %ARCHISO_LABEL%
|
||||
chainloader /shellia32.efi
|
||||
}
|
||||
fi
|
||||
|
|
|
@ -29,6 +29,7 @@ gpg_key=""
|
|||
gpg_sender=""
|
||||
iso_name=""
|
||||
iso_label=""
|
||||
iso_uuid=""
|
||||
iso_publisher=""
|
||||
iso_application=""
|
||||
iso_version=""
|
||||
|
@ -38,6 +39,7 @@ pacman_conf=""
|
|||
packages=""
|
||||
bootstrap_packages=""
|
||||
pacstrap_dir=""
|
||||
declare -i rm_work_dir=0
|
||||
buildmodes=()
|
||||
bootmodes=()
|
||||
airootfs_image_type=""
|
||||
|
@ -86,7 +88,7 @@ usage: ${app_name} [options] <profile_dir>
|
|||
Default: '${iso_application}'
|
||||
-C <file> pacman configuration file.
|
||||
Default: '${pacman_conf}'
|
||||
-D <install_dir> Set an install_dir. All files will by located here.
|
||||
-D <install_dir> Set an install_dir. All files will be located here.
|
||||
Default: '${install_dir}'
|
||||
NOTE: Max 8 characters, use only [a-z0-9]
|
||||
-L <label> Set the ISO volume label
|
||||
|
@ -109,6 +111,7 @@ usage: ${app_name} [options] <profile_dir>
|
|||
Default: '${out_dir}'
|
||||
-p [package ..] Package(s) to install.
|
||||
Multiple packages are provided as quoted, space delimited list.
|
||||
-r Delete the working directory at the end.
|
||||
-v Enable verbose output
|
||||
-w <work_dir> Set the working directory
|
||||
Default: '${work_dir}'
|
||||
|
@ -395,7 +398,7 @@ _make_customize_airootfs() {
|
|||
if [[ ! -d "${pacstrap_dir}${passwd[5]}" ]]; then
|
||||
install -d -m 0750 -o "${passwd[2]}" -g "${passwd[3]}" -- "${pacstrap_dir}${passwd[5]}"
|
||||
fi
|
||||
cp -dnRT --preserve=mode,timestamps,links -- "${pacstrap_dir}/etc/skel/." "${pacstrap_dir}${passwd[5]}"
|
||||
cp -dRT --update=none --preserve=mode,timestamps,links -- "${pacstrap_dir}/etc/skel/." "${pacstrap_dir}${passwd[5]}"
|
||||
chmod -f 0750 -- "${pacstrap_dir}${passwd[5]}"
|
||||
chown -hR -- "${passwd[2]}:${passwd[3]}" "${pacstrap_dir}${passwd[5]}"
|
||||
else
|
||||
|
@ -463,6 +466,7 @@ _make_bootmode_bios.syslinux.mbr() {
|
|||
install -d -m 0755 -- "${isofs_dir}/boot/syslinux"
|
||||
for _cfg in "${profile}/syslinux/"*.cfg; do
|
||||
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
|
||||
s|%ARCHISO_UUID%|${iso_uuid}|g;
|
||||
s|%INSTALL_DIR%|${install_dir}|g;
|
||||
s|%ARCH%|${arch}|g" \
|
||||
"${_cfg}" > "${isofs_dir}/boot/syslinux/${_cfg##*/}"
|
||||
|
@ -570,26 +574,25 @@ _make_common_bootmode_grub_copy_to_isofs() {
|
|||
files_to_copy+=("${profile}/grub/"!(*.cfg))
|
||||
fi
|
||||
install -d -m 0755 -- "${isofs_dir}/boot/grub"
|
||||
install -m 0644 -- "${files_to_copy[@]}" "${isofs_dir}/boot/grub/"
|
||||
cp -r --remove-destination -- "${files_to_copy[@]}" "${isofs_dir}/boot/grub/"
|
||||
}
|
||||
|
||||
# Prepare GRUB configuration files
|
||||
_make_common_bootmode_grub_cfg(){
|
||||
local _cfg archiso_uuid search_filename
|
||||
local _cfg search_filename
|
||||
|
||||
install -d -- "${work_dir}/grub"
|
||||
|
||||
# Precalculate the ISO's modification date in UTC, i.e. its "UUID"
|
||||
TZ=UTC printf -v archiso_uuid '%(%F-%H-%M-%S-00)T' "$SOURCE_DATE_EPOCH"
|
||||
# Create a /boot/grub/YYYY-mm-dd-HH-MM-SS-00.uuid file on ISO 9660. GRUB will search for it to find the ISO
|
||||
# volume. This is similar to what grub-mkrescue does, except it places the file in /.disk/, but we opt to use a
|
||||
# directory that does not start with a dot to avoid it being accidentally missed when copying the ISO's contents.
|
||||
: > "${work_dir}/grub/${archiso_uuid}.uuid"
|
||||
search_filename="/boot/grub/${archiso_uuid}.uuid"
|
||||
: > "${work_dir}/grub/${iso_uuid}.uuid"
|
||||
search_filename="/boot/grub/${iso_uuid}.uuid"
|
||||
|
||||
# Fill GRUB configuration files
|
||||
for _cfg in "${profile}/grub/"*'.cfg'; do
|
||||
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
|
||||
s|%ARCHISO_UUID%|${iso_uuid}|g;
|
||||
s|%INSTALL_DIR%|${install_dir}|g;
|
||||
s|%ARCH%|${arch}|g;
|
||||
s|%ARCHISO_SEARCH_FILENAME%|${search_filename}|g" \
|
||||
|
@ -838,6 +841,7 @@ _make_bootmode_uefi-x64.systemd-boot.esp() {
|
|||
mcopy -i "${efibootimg}" "${profile}/efiboot/loader/loader.conf" ::/loader/
|
||||
for _conf in "${profile}/efiboot/loader/entries/"*".conf"; do
|
||||
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
|
||||
s|%ARCHISO_UUID%|${iso_uuid}|g;
|
||||
s|%INSTALL_DIR%|${install_dir}|g;
|
||||
s|%ARCH%|${arch}|g" \
|
||||
"${_conf}" | mcopy -i "${efibootimg}" - "::/loader/entries/${_conf##*/}"
|
||||
|
@ -1673,10 +1677,15 @@ _set_overrides() {
|
|||
elif [[ -z "$quiet" ]]; then
|
||||
quiet="y"
|
||||
fi
|
||||
if [[ -v override_rm_work_dir ]]; then
|
||||
rm_work_dir="$override_rm_work_dir"
|
||||
fi
|
||||
|
||||
# Set variables that do not have overrides
|
||||
[[ -n "$airootfs_image_type" ]] || airootfs_image_type="squashfs"
|
||||
[[ -n "$iso_name" ]] || iso_name="${app_name}"
|
||||
# Precalculate the ISO's modification date in UTC, i.e. its "UUID"
|
||||
TZ=UTC printf -v iso_uuid '%(%F-%H-%M-%S-00)T' "$SOURCE_DATE_EPOCH"
|
||||
}
|
||||
|
||||
_export_gpg_publickey() {
|
||||
|
@ -1743,6 +1752,16 @@ _make_pkglist() {
|
|||
_msg_info "Done!"
|
||||
}
|
||||
|
||||
# Create working directory
|
||||
_make_work_dir() {
|
||||
if [[ ! -d "${work_dir}" ]]; then
|
||||
install -d -- "${work_dir}"
|
||||
elif (( rm_work_dir )); then
|
||||
rm_work_dir=0
|
||||
_msg_warning "Working directory removal requested, but '${work_dir}' already exists. It will not be removed!" 0
|
||||
fi
|
||||
}
|
||||
|
||||
# build the base for an ISO and/or a netboot target
|
||||
_build_iso_base() {
|
||||
local run_once_mode="base"
|
||||
|
@ -1754,13 +1773,9 @@ _build_iso_base() {
|
|||
isofs_dir="${work_dir}/iso"
|
||||
|
||||
# Create working directory
|
||||
[[ -d "${work_dir}" ]] || install -d -- "${work_dir}"
|
||||
# Write build date to file or if the file exists, read it from there
|
||||
if [[ -e "${work_dir}/build_date" ]]; then
|
||||
SOURCE_DATE_EPOCH="$(<"${work_dir}/build_date")"
|
||||
else
|
||||
printf '%s\n' "$SOURCE_DATE_EPOCH" > "${work_dir}/build_date"
|
||||
fi
|
||||
_run_once _make_work_dir
|
||||
# Write build date to file if it does not exist already
|
||||
[[ -e "${work_dir}/build_date" ]] || printf '%s\n' "$SOURCE_DATE_EPOCH" > "${work_dir}/build_date"
|
||||
|
||||
[[ "${quiet}" == "y" ]] || _show_config
|
||||
_run_once _make_pacman_conf
|
||||
|
@ -1837,9 +1852,14 @@ _build() {
|
|||
for buildmode in "${buildmodes[@]}"; do
|
||||
_run_once "_build_buildmode_${buildmode}"
|
||||
done
|
||||
if (( rm_work_dir )); then
|
||||
_msg_info 'Removing the working directory...'
|
||||
rm -rf -- "${work_dir:?}/"
|
||||
_msg_info 'Done!'
|
||||
fi
|
||||
}
|
||||
|
||||
while getopts 'c:p:C:L:P:A:D:w:m:o:g:G:vh?' arg; do
|
||||
while getopts 'c:p:C:L:P:A:D:w:m:o:g:G:vrh?' arg; do
|
||||
case "${arg}" in
|
||||
p) read -r -a override_pkg_list <<< "${OPTARG}" ;;
|
||||
C) override_pacman_conf="${OPTARG}" ;;
|
||||
|
@ -1854,6 +1874,7 @@ while getopts 'c:p:C:L:P:A:D:w:m:o:g:G:vh?' arg; do
|
|||
g) override_gpg_key="${OPTARG}" ;;
|
||||
G) override_gpg_sender="${OPTARG}" ;;
|
||||
v) override_quiet="n" ;;
|
||||
r) declare -i override_rm_work_dir=1 ;;
|
||||
h|?) _usage 0 ;;
|
||||
*)
|
||||
_msg_error "Invalid argument '${arg}'" 0
|
||||
|
@ -1876,6 +1897,13 @@ fi
|
|||
# get the absolute path representation of the first non-option argument
|
||||
profile="$(realpath -- "${1}")"
|
||||
|
||||
# Read SOURCE_DATE_EPOCH from file early
|
||||
build_date_file="$(realpath -q -- "${override_work_dir:-./work}/build_date")" || :
|
||||
if [[ -f "$build_date_file" ]]; then
|
||||
SOURCE_DATE_EPOCH="$(<"$build_date_file")"
|
||||
fi
|
||||
unset build_date_file
|
||||
|
||||
_read_profile
|
||||
_set_overrides
|
||||
_validate_options
|
||||
|
|
|
@ -29,6 +29,7 @@ ethtool
|
|||
exfatprogs
|
||||
f2fs-tools
|
||||
fatresize
|
||||
foot-terminfo
|
||||
fsarchiver
|
||||
gnu-netcat
|
||||
gpart
|
||||
|
@ -61,6 +62,7 @@ man-pages
|
|||
mc
|
||||
mdadm
|
||||
#memtest86+
|
||||
#memtest86+-efi
|
||||
mkinitcpio
|
||||
mkinitcpio-archiso
|
||||
mkinitcpio-nfs-utils
|
||||
|
@ -114,6 +116,7 @@ usbutils
|
|||
vim
|
||||
#virtualbox-guest-utils-nox
|
||||
vpnc
|
||||
wezterm-terminfo
|
||||
wireless-regdb
|
||||
wireless_tools
|
||||
wpa_supplicant
|
||||
|
@ -267,8 +270,10 @@ acpi
|
|||
arandr
|
||||
dialog
|
||||
dunst
|
||||
galculator
|
||||
gparted
|
||||
gtk-engine-murrine
|
||||
gnome-keyring
|
||||
inetutils
|
||||
inotify-tools
|
||||
jq
|
||||
|
|
|
@ -70,23 +70,20 @@ LocalFileSigLevel = Optional
|
|||
# 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
|
||||
|
||||
[archcraft]
|
||||
SigLevel = Optional TrustAll
|
||||
Include = /etc/pacman.d/archcraft-mirrorlist
|
||||
|
||||
#[core-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
#[community-testing]
|
||||
#[extra-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# If you want to run 32 bit applications on your x86_64 system,
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
# shellcheck disable=SC2034
|
||||
|
||||
iso_name="archcraft"
|
||||
iso_label="ARCHCRAFT_$(date +%Y%m)"
|
||||
iso_label="ARCHCRAFT_$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m)"
|
||||
iso_publisher="Aditya Shakya <http://www.github.com/adi1090x>"
|
||||
iso_application="Archcraft Live/Installation/Rescue CD"
|
||||
iso_version="$(date +%Y.%m.%d)"
|
||||
iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)"
|
||||
install_dir="arch"
|
||||
buildmodes=('iso')
|
||||
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
|
||||
|
|
|
@ -4,9 +4,9 @@ Boot Archcraft install medium using NBD.
|
|||
It allows you to install Archcraft or perform system maintenance.
|
||||
ENDTEXT
|
||||
MENU LABEL Boot Archcraft (x86_64, NBD)
|
||||
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} checksum verify
|
||||
LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
INITRD ::/%INSTALL_DIR%/boot/intel-ucode.img,::/%INSTALL_DIR%/boot/amd-ucode.img,::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% archiso_nbd_srv=${pxeserver} cms_verify=y
|
||||
SYSAPPEND 3
|
||||
|
||||
LABEL arch64_nfs
|
||||
|
@ -15,9 +15,9 @@ Boot Archcraft install medium using NFS.
|
|||
It allows you to install Archcraft or perform system maintenance.
|
||||
ENDTEXT
|
||||
MENU LABEL Boot Archcraft (x86_64, NFS)
|
||||
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt checksum verify
|
||||
LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
INITRD ::/%INSTALL_DIR%/boot/intel-ucode.img,::/%INSTALL_DIR%/boot/amd-ucode.img,::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt cms_verify=y
|
||||
SYSAPPEND 3
|
||||
|
||||
LABEL arch64_http
|
||||
|
@ -26,7 +26,7 @@ Boot Archcraft install medium using HTTP.
|
|||
It allows you to install Archcraft or perform system maintenance.
|
||||
ENDTEXT
|
||||
MENU LABEL Boot Archcraft (x86_64, HTTP)
|
||||
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ checksum verify
|
||||
LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
INITRD ::/%INSTALL_DIR%/boot/intel-ucode.img,::/%INSTALL_DIR%/boot/amd-ucode.img,::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ cms_verify=y
|
||||
SYSAPPEND 3
|
||||
|
|
|
@ -7,7 +7,7 @@ ENDTEXT
|
|||
MENU LABEL Boot Archcraft (x86_64, BIOS)
|
||||
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n module_blacklist=pcspkr,snd_pcsp
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n module_blacklist=pcspkr,snd_pcsp
|
||||
|
||||
# Open Source
|
||||
LABEL arch64free
|
||||
|
@ -18,7 +18,7 @@ ENDTEXT
|
|||
MENU LABEL Boot Archcraft (x86_64, BIOS, open source)
|
||||
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm module_blacklist=pcspkr,snd_pcsp
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm module_blacklist=pcspkr,snd_pcsp
|
||||
|
||||
# NVIDIA Proprietary
|
||||
LABEL arch64nonfree
|
||||
|
@ -29,7 +29,7 @@ ENDTEXT
|
|||
MENU LABEL Boot Archcraft (x86_64, BIOS, nvidia)
|
||||
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-nvidia.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nvidia_drm.modeset=1 nouveau.modeset=0 module_blacklist=nouveau radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=pcspkr,snd_pcsp
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nvidia_drm.modeset=1 nouveau.modeset=0 module_blacklist=nouveau radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=pcspkr,snd_pcsp
|
||||
|
||||
# Nomodeset
|
||||
LABEL arch64nomodeset
|
||||
|
@ -40,4 +40,4 @@ ENDTEXT
|
|||
MENU LABEL Boot Archcraft (x86_64, BIOS, nomodeset)
|
||||
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nomodeset module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm nouveau.modeset=0 radeon.modeset=0 i915.modeset=0 nvme_load=yes module_blacklist=pcspkr,snd_pcsp
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nomodeset module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm nouveau.modeset=0 radeon.modeset=0 i915.modeset=0 nvme_load=yes module_blacklist=pcspkr,snd_pcsp
|
||||
|
|
Loading…
Reference in New Issue