Updated the ISO

This commit is contained in:
adi1090x 2023-07-21 15:43:56 +05:30
parent 7fa3eb272e
commit 7c885f1403
44 changed files with 682 additions and 201 deletions

View File

@ -1,8 +1,8 @@
# Maintainer: Aditya Shakya <adi1090x@gmail.com> # Maintainer: Aditya Shakya <adi1090x@gmail.com>
pkgname=archcraft-xfce pkgname=archcraft-xfce
pkgver=1.0 pkgver=2.0
pkgrel=4 pkgrel=0
pkgdesc="XFCE desktop configurations for Archcraft" pkgdesc="XFCE desktop configurations for Archcraft"
url="https://github.com/archcraft-os/archcraft-xfce" url="https://github.com/archcraft-os/archcraft-xfce"
arch=('any') arch=('any')

View File

@ -0,0 +1,43 @@
# ------------------------------------------------------------------------------
# Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
#
# Catppuccin Frappe Theme
# ------------------------------------------------------------------------------
# Colors
background='#303446'
foreground='#C6D0F5'
color0='#51576D'
color1='#E78284'
color2='#A6D189'
color3='#E5C890'
color4='#8CAAEE'
color5='#F4B8E4'
color6='#81C8BE'
color7='#B5BFE2'
color8='#626880'
color9='#E78284'
color10='#A6D189'
color11='#E5C890'
color12='#8CAAEE'
color13='#F4B8E4'
color14='#81C8BE'
color15='#A5ADCE'
# Wallpaper
wallpaper='/usr/share/backgrounds/frappe.png'
# Terminal
terminal_font_name='JetBrainsMono Nerd Font'
terminal_font_size='10'
# Geany
geany_colors='catppuccin-frappe.conf'
geany_font='JetBrains Mono 10'
# Appearance
xfwm_theme='Catppuccin-Frappe'
gtk_font='Noto Sans 9'
gtk_theme='Catppuccin-Frappe'
icon_theme='Zafiro'
cursor_theme='Fluent'

View File

@ -0,0 +1,43 @@
# ------------------------------------------------------------------------------
# Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
#
# Catppuccin Macchiato Theme
# ------------------------------------------------------------------------------
# Colors
background='#24273A'
foreground='#CAD3F5'
color0='#494D64'
color1='#ED8796'
color2='#A6DA95'
color3='#EED49F'
color4='#8AADF4'
color5='#F5BDE6'
color6='#8BD5CA'
color7='#B8C0E0'
color8='#5B6078'
color9='#ED8796'
color10='#A6DA95'
color11='#EED49F'
color12='#8AADF4'
color13='#F5BDE6'
color14='#8BD5CA'
color15='#A5ADCB'
# Wallpaper
wallpaper='/usr/share/backgrounds/macchiato.png'
# Terminal
terminal_font_name='JetBrainsMono Nerd Font'
terminal_font_size='10'
# Geany
geany_colors='catppuccin-macchiato.conf'
geany_font='JetBrains Mono 10'
# Appearance
xfwm_theme='Catppuccin-Macchiato'
gtk_font='Noto Sans 9'
gtk_theme='Catppuccin-Macchiato'
icon_theme='Arc-Circle'
cursor_theme='Qogirr-Dark'

View File

@ -0,0 +1,43 @@
# ------------------------------------------------------------------------------
# Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
#
# Catppuccin Mocha Theme
# ------------------------------------------------------------------------------
# Colors
background='#1E1E2E'
foreground='#CDD6F4'
color0='#45475A'
color1='#F38BA8'
color2='#A6E3A1'
color3='#F9E2AF'
color4='#89B4FA'
color5='#F5C2E7'
color6='#94E2D5'
color7='#BAC2DE'
color8='#585B70'
color9='#F38BA8'
color10='#A6E3A1'
color11='#F9E2AF'
color12='#89B4FA'
color13='#F5C2E7'
color14='#94E2D5'
color15='#A6ADC8'
# Wallpaper
wallpaper='/usr/share/backgrounds/mocha.jpg'
# Terminal
terminal_font_name='JetBrainsMono Nerd Font'
terminal_font_size='10'
# Geany
geany_colors='catppuccin-mocha.conf'
geany_font='JetBrains Mono 10'
# Appearance
xfwm_theme='Catppuccin-Mocha'
gtk_font='Noto Sans 9'
gtk_theme='Catppuccin-Mocha'
icon_theme='Luv-Folders-Dark'
cursor_theme='Sweet'

View File

@ -0,0 +1,43 @@
# ------------------------------------------------------------------------------
# Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
#
# Dark Red Theme
# ------------------------------------------------------------------------------
# Colors
background='#1e222a'
foreground='#c8ccd4'
color0='#1e222a'
color1='#e06c75'
color2='#98c379'
color3='#e5c07b'
color4='#61afef'
color5='#c678dd'
color6='#56b6c2'
color7='#abb2bf'
color8='#545862'
color9='#e06c75'
color10='#98c379'
color11='#e5c07b'
color12='#61afef'
color13='#c678dd'
color14='#56b6c2'
color15='#c8ccd4'
# Wallpaper
wallpaper='/usr/share/backgrounds/tokyo.png'
# Terminal
terminal_font_name='JetBrainsMono Nerd Font'
terminal_font_size='10'
# Geany
geany_colors='manhattan.conf'
geany_font='JetBrains Mono 10'
# Appearance
xfwm_theme='Manhattan'
gtk_font='Noto Sans 9'
gtk_theme='Manhattan'
icon_theme='Luv-Folders-Dark'
cursor_theme='Qogirr-Dark'

View File

@ -0,0 +1,43 @@
# ------------------------------------------------------------------------------
# Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
#
# Everforest Theme
# ------------------------------------------------------------------------------
# Colors
background='#2B3339'
foreground='#D3C6AA'
color0='#48555F'
color1='#E67E80'
color2='#A7C080'
color3='#DBBC7F'
color4='#7FBBB3'
color5='#D699B6'
color6='#83C092'
color7='#D3C6AA'
color8='#48555F'
color9='#E67E80'
color10='#A7C080'
color11='#DBBC7F'
color12='#7FBBB3'
color13='#D699B6'
color14='#83C092'
color15='#D3C6AA'
# Wallpaper
wallpaper='/usr/share/backgrounds/everforest.png'
# Terminal
terminal_font_name='JetBrainsMono Nerd Font'
terminal_font_size='10'
# Geany
geany_colors='manhattan.conf'
geany_font='JetBrains Mono 10'
# Appearance
xfwm_theme='Everforest'
gtk_font='Noto Sans 9'
gtk_theme='Everforest'
icon_theme='Zafiro-Green'
cursor_theme='Qogirr-Dark'

View File

@ -0,0 +1,43 @@
# ------------------------------------------------------------------------------
# Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
#
# Kanagawa Theme
# ------------------------------------------------------------------------------
# Colors
background='#2e3440'
foreground='#D8DEE9'
color0='#3B4252'
color1='#BF616A'
color2='#A3BE8C'
color3='#EBCB8B'
color4='#81A1C1'
color5='#B48EAD'
color6='#88C0D0'
color7='#E5E9F0'
color8='#4C566A'
color9='#BF616A'
color10='#A3BE8C'
color11='#EBCB8B'
color12='#81A1C1'
color13='#B48EAD'
color14='#8FBCBB'
color15='#ECEFF4'
# Wallpaper
wallpaper='/usr/share/backgrounds/kanagawa.png'
# Terminal
terminal_font_name='JetBrainsMono Nerd Font'
terminal_font_size='10'
# Geany
geany_colors='nordic.conf'
geany_font='JetBrains Mono 10'
# Appearance
xfwm_theme='Nordic'
gtk_font='Noto Sans 9'
gtk_theme='Nordic'
icon_theme='Qogir-Dark'
cursor_theme='Qogirr-Dark'

View File

@ -1,14 +1,14 @@
# Maintainer: Aditya Shakya <adi1090x@gmail.com> # Maintainer: Aditya Shakya <adi1090x@gmail.com>
pkgname=calamares-config-xfce pkgname=calamares-config-xfce
pkgver=1.0 pkgver=2.0
pkgrel=2 pkgrel=1
pkgdesc="Calamares configuration for Archcraft XFCE." pkgdesc="Calamares configuration for Archcraft XFCE."
url="https://github.com/archcraft-os/archcraft-xfce" url="https://github.com/archcraft-os/archcraft-xfce"
arch=('any') arch=('any')
license=('GPL') license=('GPL')
provides=($pkgname) provides=($pkgname)
conflicts=('calamares-config') conflicts=('calamares-config' 'calamares-config-prime' 'calamares-config-wayland')
depends=() depends=()
prepare() { prepare() {
@ -23,8 +23,10 @@ package() {
(find calamares -type f -exec install -Dm 644 "{}" "$pkgdir/etc/{}" \;) (find calamares -type f -exec install -Dm 644 "{}" "$pkgdir/etc/{}" \;)
# copy install scripts # copy install scripts
install -Dm 755 post_install.sh "$_bindir"/post_install.sh install -Dm 755 post_install.sh "$_bindir"/post_install.sh
install -Dm 755 chrooted_post_install.sh "$_bindir"/chrooted_post_install.sh install -Dm 755 chrooted_post_install.sh "$_bindir"/chrooted_post_install.sh
install -Dm 755 post_install_nvidia.sh "$_bindir"/post_install_nvidia.sh
install -Dm 755 chrooted_post_install_nvidia.sh "$_bindir"/chrooted_post_install_nvidia.sh
# make scripts executable # make scripts executable
chmod 755 "$pkgdir"/etc/calamares/launch.sh chmod 755 "$pkgdir"/etc/calamares/launch.sh

View File

@ -22,7 +22,7 @@ Presentation
Timer { Timer {
id: advanceTimer id: advanceTimer
interval: 5000 interval: 10000
running: presentation.activatedInCalamares running: presentation.activatedInCalamares
repeat: true repeat: true
onTriggered: nextSlide() onTriggered: nextSlide()

View File

@ -1,7 +1,7 @@
#!/usr/bin/bash #!/usr/bin/bash
## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com> ## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3 ##
## Test Calamares Slides ## Test Calamares Slides
qmlscene -I /usr/share/calamares/qml show.qml -geometry 825x500 qmlscene -I /usr/share/calamares/qml show.qml -geometry 825x500

View File

@ -4,14 +4,14 @@
# Configuration for the shell process job. # Configuration for the shell process job.
# Set to true to run in host, rather than target system # Set to true to run in host, rather than target system
dontChroot: false dontChroot: true
# Tune this for the commands you're actually running # Tune this for the commands you're actually running
timeout: 999 timeout: 999
# Commands # Commands
script: script:
- command: "sed -i -e 's/modconf/modconf kms/g' /etc/mkinitcpio.conf" - command: "/usr/bin/post_install_nvidia.sh"
# Description of the job # Description of the job
i18n: i18n:

View File

@ -21,7 +21,6 @@ requirements:
- storage - storage
- ram - ram
- power - power
- internet
- root - root
- screen - screen

View File

@ -1,8 +1,7 @@
#!/bin/bash #!/bin/bash
## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com> ## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3 ##
## Post installation script for Archcraft (Executes on target system to perform various operations) ## Post installation script for Archcraft (Executes on target system to perform various operations)
## ----------------------------------------------- ## -----------------------------------------------
@ -262,23 +261,6 @@ _perform_various_stuff() {
mkdir -p /boot/grub/themes mkdir -p /boot/grub/themes
cp -rf /usr/share/grub/themes/archcraft /boot/grub/themes cp -rf /usr/share/grub/themes/archcraft /boot/grub/themes
# disabling autologin for lightdm (if exist)
lightdm_config='/etc/lightdm/lightdm.conf'
if [[ -e "$lightdm_config" ]]; then
echo "+---------------------->>"
echo "[*] Disabling autologin for lightdm..."
sed -i -e 's|autologin-user=.*|#autologin-user=username|g' "$lightdm_config"
sed -i -e 's|autologin-session=.*|#autologin-session=openbox|g' "$lightdm_config"
fi
# disabling autologin for lxdm (if exist)
lxdm_config='/etc/lxdm/lxdm.conf'
if [[ -e "$lxdm_config" ]]; then
echo "+---------------------->>"
echo "[*] Disabling autologin for lxdm..."
sed -i -e 's/autologin=.*/#autologin=username/g' "$lxdm_config"
fi
# disabling autologin for sddm (if exist) # disabling autologin for sddm (if exist)
sddm_config='/etc/sddm.conf.d/kde_settings.conf' sddm_config='/etc/sddm.conf.d/kde_settings.conf'
if [[ -e "$sddm_config" ]]; then if [[ -e "$sddm_config" ]]; then
@ -287,6 +269,16 @@ _perform_various_stuff() {
sed -i -e 's/User=liveuser/#User=username/g' "$sddm_config" sed -i -e 's/User=liveuser/#User=username/g' "$sddm_config"
fi fi
# Fix Directory menu in xfce panel
panel_config="/home/${new_user}/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml"
if [[ -e "$panel_config" ]]; then
echo "+---------------------->>"
echo "[*] Fixing directory menu in xfce-panel..."
sed -i -e "s|/home/liveuser|/home/$new_user|g" "$panel_config"
sed -i -e "s|/home/liveuser|/home/$new_user|g" /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
chown -R ${new_user}:${new_user} "$panel_config"
fi
# Perform various operations # Perform various operations
echo "+---------------------->>" echo "+---------------------->>"
echo "[*] Running operations as new user : ${new_user}..." echo "[*] Running operations as new user : ${new_user}..."

View File

@ -0,0 +1,82 @@
#!/bin/bash
## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
##
## Post installation script for Archcraft (Executes on target system to perform nvidia specific operations)
## -----------------------------------------------
## mkinitcpio.conf file
init_file='/etc/mkinitcpio.conf'
## Add `kms` hook in 'init_file' file for in-tree modules (if not already present)
_add_kms() {
if [[ ! `cat $init_file | grep 'kms'` ]]; then
echo "+---------------------->>"
echo "[*] Enabling 'kms' in $init_file file..."
sed -i -e 's/modconf/modconf kms/g' /etc/mkinitcpio.conf
fi
}
## Enable Nvidia Modules and Required Kernel Parameters
_enable_nvidia() {
local nvidia_gpu_file='/var/log/nvidia-gpu-card-info.bash'
local nvidia_card=''
local nvidia_driver=''
if [[ -r "$nvidia_gpu_file" ]] ; then
echo "+---------------------->>"
echo "[*] Getting Nvidia drivers info from $nvidia_gpu_file file..."
source ${nvidia_gpu_file}
else
echo "+---------------------->>"
echo "[!] Warning: file $nvidia_gpu_file does not exist!"
fi
if [[ "$nvidia_card" == 'yes' ]] ; then
if [[ "$nvidia_driver" == 'yes' ]] ; then
# Add nvidia modules in 'init_file' file
if [[ `cat $init_file | grep 'MODULES="'` ]]; then
echo "+---------------------->>"
echo "[*] Adding Nvidia Modules in $init_file file..."
sed -i -e 's|MODULES="|MODULES="nvidia nvidia_modeset nvidia_uvm nvidia_drm |g' ${init_file}
else
echo "+---------------------->>"
echo "[*] Adding Nvidia Modules in $init_file file..."
sed -i -e 's|MODULES=(|MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm |g' ${init_file}
fi
# Remove `kms` hook from 'init_file' file
echo "+---------------------->>"
echo "[*] Removing 'kms' from $init_file file..."
sed -i -e 's/modconf kms/modconf/g' ${init_file}
# Add kernel parameter in `/etc/default/grub` file
echo "+---------------------->>"
echo "[*] Adding Nvidia Kernel Parameter in '/etc/default/grub' file..."
sed -i -e 's|GRUB_CMDLINE_LINUX_DEFAULT="quiet splash|GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia_drm.modeset=1|g' /etc/default/grub
fi
fi
}
## Remove Nvidia Specific Files from Live ISO
_remove_iso_files() {
local _files_to_remove=(
/etc/mkinitcpio-nvidia.conf
/etc/mkinitcpio.d/linux-nvidia.preset
)
local dfile
echo "+---------------------->>"
for dfile in "${_files_to_remove[@]}"; do
echo "[*] Deleting $dfile file from target system..."
rm -rf ${dfile}
done
}
## Execute Script
_add_kms
_enable_nvidia
_remove_iso_files

View File

@ -1,8 +1,7 @@
#!/bin/bash #!/bin/bash
## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com> ## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3 ##
## Post installation script for Archcraft (Executes on live system, only to detect drivers in use) ## Post installation script for Archcraft (Executes on live system, only to detect drivers in use)
##-------------------------------------------------------------------------------- ##--------------------------------------------------------------------------------

View File

@ -0,0 +1,63 @@
#!/bin/bash
## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3
## Post installation script for Archcraft (only to detect nvidia)
##--------------------------------------------------------------------------------
## Get mount points of target system according to installer being used (calamares or abif)
if [[ `pidof calamares` ]]; then
chroot_path="/tmp/`lsblk | grep 'calamares-root' | awk '{ print $NF }' | sed -e 's/\/tmp\///' -e 's/\/.*$//' | tail -n1`"
else
chroot_path='/mnt'
fi
if [[ "$chroot_path" == '/tmp/' ]] ; then
echo "+---------------------->>"
echo "[!] Fatal error: `basename $0`: chroot_path is empty!"
fi
## Use chroot not arch-chroot
arch_chroot() {
chroot "$chroot_path" /bin/bash -c ${1}
}
## Detect drivers in use in live session
nvidia_gpu_file="$chroot_path"/var/log/nvidia-gpu-card-info.bash
_detect_nvidia_drivers() {
local nvidia_card=no
local nvidia_driver=no
if [[ -n "`lspci -k | grep -P 'VGA|3D|Display' | grep -w 'NVIDIA'`" ]]; then
nvidia_card=yes
if [[ -n "`lsmod | grep -w nvidia`" ]]; then
nvidia_driver=yes
fi
if [[ -n "`lspci -k | grep -wA2 'NVIDIA' | grep 'Kernel driver in use: nvidia'`" ]]; then
nvidia_driver=yes
fi
fi
echo "nvidia_card=$nvidia_card" >> ${nvidia_gpu_file}
echo "nvidia_driver=$nvidia_driver" >> ${nvidia_gpu_file}
}
echo "+---------------------->>"
echo "[*] Detecting NVIDIA GPU card & drivers used in live session..."
_detect_nvidia_drivers
# For logs
echo "+---------------------->>"
echo "[*] Content of $nvidia_gpu_file :"
cat ${nvidia_gpu_file}
##--------------------------------------------------------------------------------
## Run the final script inside calamares chroot (target system)
if [[ `pidof calamares` ]]; then
echo "+---------------------->>"
echo "[*] Running nvidia chroot post installation script in target system..."
arch_chroot "/usr/bin/chrooted_post_install_nvidia.sh"
fi

View File

@ -0,0 +1,67 @@
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(piix ide_disk reiserfs)
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=()
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS=(base)
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS=(base udev autodetect block filesystems)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS=(base udev block filesystems)
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS=(base udev block mdadm encrypt filesystems)
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS=(base udev block lvm2 filesystems)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS=(base udev plymouth modconf archiso archiso_loop_mnt block filesystems keyboard)
# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
#COMPRESSION="zstd"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()

View File

@ -57,10 +57,10 @@ HOOKS=(base udev plymouth modconf kms archiso archiso_loop_mnt block filesystems
#COMPRESSION="gzip" #COMPRESSION="gzip"
#COMPRESSION="bzip2" #COMPRESSION="bzip2"
#COMPRESSION="lzma" #COMPRESSION="lzma"
#COMPRESSION="xz" COMPRESSION="xz"
#COMPRESSION="lzop" #COMPRESSION="lzop"
#COMPRESSION="lz4" #COMPRESSION="lz4"
COMPRESSION="zstd" #COMPRESSION="zstd"
# COMPRESSION_OPTIONS # COMPRESSION_OPTIONS
# Additional options for the compressor # Additional options for the compressor

View File

@ -0,0 +1,8 @@
# mkinitcpio preset file for the 'linux' package (nvidia)
PRESETS=('nvidia')
ALL_kver="/boot/vmlinuz-linux"
ALL_config="/etc/mkinitcpio-nvidia.conf"
nvidia_image="/boot/initramfs-linux-nvidia.img"

View File

@ -0,0 +1,2 @@
[Icon Theme]
Inherits=Qogirr

View File

@ -58,7 +58,7 @@ AuthorizedKeysFile .ssh/authorized_keys
#PermitEmptyPasswords no #PermitEmptyPasswords no
# Change to no to disable s/key passwords # Change to no to disable s/key passwords
#KbdInteractiveAuthentication yes KbdInteractiveAuthentication no
# Kerberos options # Kerberos options
#KerberosAuthentication no #KerberosAuthentication no
@ -75,7 +75,7 @@ AuthorizedKeysFile .ssh/authorized_keys
# be allowed through the KbdInteractiveAuthentication and # be allowed through the KbdInteractiveAuthentication and
# PasswordAuthentication. Depending on your PAM configuration, # PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via KbdInteractiveAuthentication may bypass # PAM authentication via KbdInteractiveAuthentication may bypass
# the setting of "PermitRootLogin without-password". # the setting of "PermitRootLogin prohibit-password".
# If you just want the PAM account and session checks to run without # If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication # PAM authentication, then enable this but set PasswordAuthentication
# and KbdInteractiveAuthentication to 'no'. # and KbdInteractiveAuthentication to 'no'.
@ -88,7 +88,7 @@ UsePAM yes
#X11DisplayOffset 10 #X11DisplayOffset 10
#X11UseLocalhost yes #X11UseLocalhost yes
#PermitTTY yes #PermitTTY yes
PrintMotd no # pam does that PrintMotd no
#PrintLastLog yes #PrintLastLog yes
#TCPKeepAlive yes #TCPKeepAlive yes
#PermitUserEnvironment no #PermitUserEnvironment no

View File

@ -7,6 +7,7 @@ Name=eth*
[Network] [Network]
DHCP=yes DHCP=yes
MulticastDNS=yes
IPv6PrivacyExtensions=yes IPv6PrivacyExtensions=yes
# systemd-networkd does not set per-interface-type default route metrics # systemd-networkd does not set per-interface-type default route metrics

View File

@ -3,6 +3,7 @@ Name=wl*
[Network] [Network]
DHCP=yes DHCP=yes
MulticastDNS=yes
IPv6PrivacyExtensions=yes IPv6PrivacyExtensions=yes
# systemd-networkd does not set per-interface-type default route metrics # systemd-networkd does not set per-interface-type default route metrics

View File

@ -0,0 +1,4 @@
# Default systemd-resolved configuration for archiso
[Resolve]
MulticastDNS=yes

View File

@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-timesyncd.service

View File

@ -1 +0,0 @@
/usr/lib/systemd/system/qemu-guest-agent.service

View File

@ -16,7 +16,13 @@ automated_script ()
script="$(script_cmdline)" script="$(script_cmdline)"
if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then
if [[ "${script}" =~ ^((http|https|ftp)://) ]]; 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=$? rt=$?
else else
cp "${script}" /tmp/startup_script cp "${script}" /tmp/startup_script
@ -24,6 +30,9 @@ automated_script ()
fi fi
if [[ ${rt} -eq 0 ]]; then if [[ ${rt} -eq 0 ]]; then
chmod +x /tmp/startup_script 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 /tmp/startup_script
fi fi
fi fi

View File

@ -28,7 +28,7 @@ _EOF_
## Enable Parallel Downloads ## Enable Parallel Downloads
sed -i -e 's|#ParallelDownloads.*|ParallelDownloads = 5|g' /etc/pacman.conf 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 ## Append archcraft repository to pacman.conf
cat >> "/etc/pacman.conf" <<- EOL cat >> "/etc/pacman.conf" <<- EOL
@ -36,19 +36,16 @@ cat >> "/etc/pacman.conf" <<- EOL
SigLevel = Optional TrustAll SigLevel = Optional TrustAll
Include = /etc/pacman.d/archcraft-mirrorlist Include = /etc/pacman.d/archcraft-mirrorlist
#[testing] #[core-testing]
#Include = /etc/pacman.d/mirrorlist #Include = /etc/pacman.d/mirrorlist
[core] [core]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
[extra] #[extra-testing]
Include = /etc/pacman.d/mirrorlist
#[community-testing]
#Include = /etc/pacman.d/mirrorlist #Include = /etc/pacman.d/mirrorlist
[community] [extra]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system, # If you want to run 32 bit applications on your x86_64 system,

View File

@ -1,7 +1,7 @@
title Boot Archcraft (x86_64, UEFI) title Boot Archcraft (x86_64, UEFI)
sort-key 01 sort-key 01
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
initrd /%INSTALL_DIR%/boot/intel-ucode.img initrd /%INSTALL_DIR%/boot/intel-ucode.img
initrd /%INSTALL_DIR%/boot/amd-ucode.img initrd /%INSTALL_DIR%/boot/amd-ucode.img
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.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 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

View File

@ -1,7 +1,7 @@
title Boot Archcraft (x86_64, UEFI, open source) title Boot Archcraft (x86_64, UEFI, open source)
sort-key 02 sort-key 02
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
initrd /%INSTALL_DIR%/boot/intel-ucode.img initrd /%INSTALL_DIR%/boot/intel-ucode.img
initrd /%INSTALL_DIR%/boot/amd-ucode.img initrd /%INSTALL_DIR%/boot/amd-ucode.img
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.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 driver=free nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes 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

View File

@ -1,7 +0,0 @@
title Boot Archcraft (x86_64, UEFI, open source, no nouveau)
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.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 driver=freenonouveau radeon.modeset=1 i915.modeset=1 nvme_load=yes

View File

@ -0,0 +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% 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

View File

@ -0,0 +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% 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

View File

@ -1,7 +0,0 @@
title Boot Archcraft (x86_64, UEFI, NVIDIA)
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 driver=nonfree nouveau.modeset=0 radeon.modeset=1 i915.modeset=1 nvme_load=yes

View File

@ -1,7 +0,0 @@
title Boot Archcraft (x86_64, UEFI, NVIDIA, no nouveau)
sort-key 05
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 driver=nonfreenonouveau nouveau.modeset=0 radeon.modeset=1 i915.modeset=1 nvme_load=yes

View File

@ -1,7 +0,0 @@
title Boot Archcraft (x86_64, UEFI, nomodeset)
sort-key 06
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 driver=free nomodeset nouveau.modeset=0 radeon.modeset=0 i915.modeset=0 nvme_load=yes

View File

@ -3,15 +3,18 @@ insmod part_gpt
insmod part_msdos insmod part_msdos
insmod fat insmod fat
insmod iso9660 insmod iso9660
insmod ntfs
insmod ntfscomp
insmod exfat
insmod udf
# Use graphics-mode output # Use graphics-mode output
insmod all_video insmod all_video
insmod font insmod font
if loadfont "${prefix}/fonts/unicode.pf2" ; then if loadfont "${prefix}/fonts/unicode.pf2" ; then
insmod gfxterm
set gfxmode="auto" set gfxmode="auto"
terminal_input console terminal_input console
terminal_output gfxterm terminal_output console
fi fi
# Enable serial console # Enable serial console
@ -20,6 +23,15 @@ if serial --unit=0 --speed=115200; then
terminal_output --append serial terminal_output --append serial
fi fi
# Search for the ISO volume
if [ -z "${ARCHISO_UUID}" ]; then
if [ -z "${ARCHISO_HINT}" ]; then
regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}"
fi
search --no-floppy --set=root --file '%ARCHISO_SEARCH_FILENAME%' --hint "${ARCHISO_HINT}"
probe --set ARCHISO_UUID --fs-uuid "${root}"
fi
# Set default menu entry # Set default menu entry
default=archcraft default=archcraft
timeout=10 timeout=10
@ -28,57 +40,37 @@ timeout_style=menu
# Menu entries # Menu entries
menuentry "Boot Archcraft (x86_64, UEFI)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraft' { menuentry "Boot Archcraft (x86_64, UEFI)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraft' {
set gfxpayload=keep set gfxpayload=keep
search --no-floppy --set=root --label %ARCHISO_LABEL% 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
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
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img 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' { menuentry "Boot Archcraft (x86_64, UEFI, open source)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraftos' {
set gfxpayload=keep set gfxpayload=keep
search --no-floppy --set=root --label %ARCHISO_LABEL% 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
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 driver=free nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img 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, no nouveau)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraftnn' { menuentry "Boot Archcraft (x86_64, UEFI, nvidia)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraftpn' {
set gfxpayload=keep set gfxpayload=keep
search --no-floppy --set=root --label %ARCHISO_LABEL% 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
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 driver=freenonouveau radeon.modeset=1 i915.modeset=1 nvme_load=yes initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux-nvidia.img
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 driver=nonfree nouveau.modeset=0 radeon.modeset=1 i915.modeset=1 nvme_load=yes
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, no nouveau)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraftpnn' {
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 driver=nonfreenonouveau nouveau.modeset=0 radeon.modeset=1 i915.modeset=1 nvme_load=yes
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, nomodeset)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraftnm' { menuentry "Boot Archcraft (x86_64, UEFI, nomodeset)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraftnm' {
set gfxpayload=keep set gfxpayload=keep
search --no-floppy --set=root --label %ARCHISO_LABEL% 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
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 driver=free nomodeset nouveau.modeset=0 radeon.modeset=0 i915.modeset=0 nvme_load=yes
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img 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_platform}" == "efi" ]; then
if [ "${grub_cpu}" == "x86_64" ]; then if [ "${grub_cpu}" == "x86_64" ]; then
menuentry "UEFI Shell" --class recovery { menuentry "UEFI Shell" --class recovery --class efi {
insmod chain insmod chain
search --no-floppy --set=root --label %ARCHISO_LABEL%
chainloader /shellx64.efi chainloader /shellx64.efi
} }
elif [ "${grub_cpu}" == "i386" ]; then elif [ "${grub_cpu}" == "i386" ]; then
menuentry "UEFI Shell" --class recovery { menuentry "UEFI Shell" --class recovery --class efi {
insmod chain insmod chain
search --no-floppy --set=root --label %ARCHISO_LABEL%
chainloader /shellia32.efi chainloader /shellia32.efi
} }
fi fi

View File

@ -29,6 +29,7 @@ gpg_key=""
gpg_sender="" gpg_sender=""
iso_name="" iso_name=""
iso_label="" iso_label=""
iso_uuid=""
iso_publisher="" iso_publisher=""
iso_application="" iso_application=""
iso_version="" iso_version=""
@ -38,6 +39,7 @@ pacman_conf=""
packages="" packages=""
bootstrap_packages="" bootstrap_packages=""
pacstrap_dir="" pacstrap_dir=""
declare -i rm_work_dir=0
buildmodes=() buildmodes=()
bootmodes=() bootmodes=()
airootfs_image_type="" airootfs_image_type=""
@ -86,7 +88,7 @@ usage: ${app_name} [options] <profile_dir>
Default: '${iso_application}' Default: '${iso_application}'
-C <file> pacman configuration file. -C <file> pacman configuration file.
Default: '${pacman_conf}' 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}' Default: '${install_dir}'
NOTE: Max 8 characters, use only [a-z0-9] NOTE: Max 8 characters, use only [a-z0-9]
-L <label> Set the ISO volume label -L <label> Set the ISO volume label
@ -109,6 +111,7 @@ usage: ${app_name} [options] <profile_dir>
Default: '${out_dir}' Default: '${out_dir}'
-p [package ..] Package(s) to install. -p [package ..] Package(s) to install.
Multiple packages are provided as quoted, space delimited list. Multiple packages are provided as quoted, space delimited list.
-r Delete the working directory at the end.
-v Enable verbose output -v Enable verbose output
-w <work_dir> Set the working directory -w <work_dir> Set the working directory
Default: '${work_dir}' Default: '${work_dir}'
@ -395,7 +398,7 @@ _make_customize_airootfs() {
if [[ ! -d "${pacstrap_dir}${passwd[5]}" ]]; then if [[ ! -d "${pacstrap_dir}${passwd[5]}" ]]; then
install -d -m 0750 -o "${passwd[2]}" -g "${passwd[3]}" -- "${pacstrap_dir}${passwd[5]}" install -d -m 0750 -o "${passwd[2]}" -g "${passwd[3]}" -- "${pacstrap_dir}${passwd[5]}"
fi 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]}" chmod -f 0750 -- "${pacstrap_dir}${passwd[5]}"
chown -hR -- "${passwd[2]}:${passwd[3]}" "${pacstrap_dir}${passwd[5]}" chown -hR -- "${passwd[2]}:${passwd[3]}" "${pacstrap_dir}${passwd[5]}"
else else
@ -463,6 +466,7 @@ _make_bootmode_bios.syslinux.mbr() {
install -d -m 0755 -- "${isofs_dir}/boot/syslinux" install -d -m 0755 -- "${isofs_dir}/boot/syslinux"
for _cfg in "${profile}/syslinux/"*.cfg; do for _cfg in "${profile}/syslinux/"*.cfg; do
sed "s|%ARCHISO_LABEL%|${iso_label}|g; sed "s|%ARCHISO_LABEL%|${iso_label}|g;
s|%ARCHISO_UUID%|${iso_uuid}|g;
s|%INSTALL_DIR%|${install_dir}|g; s|%INSTALL_DIR%|${install_dir}|g;
s|%ARCH%|${arch}|g" \ s|%ARCH%|${arch}|g" \
"${_cfg}" > "${isofs_dir}/boot/syslinux/${_cfg##*/}" "${_cfg}" > "${isofs_dir}/boot/syslinux/${_cfg##*/}"
@ -570,26 +574,25 @@ _make_common_bootmode_grub_copy_to_isofs() {
files_to_copy+=("${profile}/grub/"!(*.cfg)) files_to_copy+=("${profile}/grub/"!(*.cfg))
fi fi
install -d -m 0755 -- "${isofs_dir}/boot/grub" 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 # Prepare GRUB configuration files
_make_common_bootmode_grub_cfg(){ _make_common_bootmode_grub_cfg(){
local _cfg archiso_uuid search_filename local _cfg search_filename
install -d -- "${work_dir}/grub" 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 # 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 # 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. # 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" : > "${work_dir}/grub/${iso_uuid}.uuid"
search_filename="/boot/grub/${archiso_uuid}.uuid" search_filename="/boot/grub/${iso_uuid}.uuid"
# Fill GRUB configuration files # Fill GRUB configuration files
for _cfg in "${profile}/grub/"*'.cfg'; do for _cfg in "${profile}/grub/"*'.cfg'; do
sed "s|%ARCHISO_LABEL%|${iso_label}|g; sed "s|%ARCHISO_LABEL%|${iso_label}|g;
s|%ARCHISO_UUID%|${iso_uuid}|g;
s|%INSTALL_DIR%|${install_dir}|g; s|%INSTALL_DIR%|${install_dir}|g;
s|%ARCH%|${arch}|g; s|%ARCH%|${arch}|g;
s|%ARCHISO_SEARCH_FILENAME%|${search_filename}|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/ mcopy -i "${efibootimg}" "${profile}/efiboot/loader/loader.conf" ::/loader/
for _conf in "${profile}/efiboot/loader/entries/"*".conf"; do for _conf in "${profile}/efiboot/loader/entries/"*".conf"; do
sed "s|%ARCHISO_LABEL%|${iso_label}|g; sed "s|%ARCHISO_LABEL%|${iso_label}|g;
s|%ARCHISO_UUID%|${iso_uuid}|g;
s|%INSTALL_DIR%|${install_dir}|g; s|%INSTALL_DIR%|${install_dir}|g;
s|%ARCH%|${arch}|g" \ s|%ARCH%|${arch}|g" \
"${_conf}" | mcopy -i "${efibootimg}" - "::/loader/entries/${_conf##*/}" "${_conf}" | mcopy -i "${efibootimg}" - "::/loader/entries/${_conf##*/}"
@ -1673,10 +1677,15 @@ _set_overrides() {
elif [[ -z "$quiet" ]]; then elif [[ -z "$quiet" ]]; then
quiet="y" quiet="y"
fi fi
if [[ -v override_rm_work_dir ]]; then
rm_work_dir="$override_rm_work_dir"
fi
# Set variables that do not have overrides # Set variables that do not have overrides
[[ -n "$airootfs_image_type" ]] || airootfs_image_type="squashfs" [[ -n "$airootfs_image_type" ]] || airootfs_image_type="squashfs"
[[ -n "$iso_name" ]] || iso_name="${app_name}" [[ -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() { _export_gpg_publickey() {
@ -1743,6 +1752,16 @@ _make_pkglist() {
_msg_info "Done!" _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 the base for an ISO and/or a netboot target
_build_iso_base() { _build_iso_base() {
local run_once_mode="base" local run_once_mode="base"
@ -1754,13 +1773,9 @@ _build_iso_base() {
isofs_dir="${work_dir}/iso" isofs_dir="${work_dir}/iso"
# Create working directory # Create working directory
[[ -d "${work_dir}" ]] || install -d -- "${work_dir}" _run_once _make_work_dir
# Write build date to file or if the file exists, read it from there # Write build date to file if it does not exist already
if [[ -e "${work_dir}/build_date" ]]; then [[ -e "${work_dir}/build_date" ]] || printf '%s\n' "$SOURCE_DATE_EPOCH" > "${work_dir}/build_date"
SOURCE_DATE_EPOCH="$(<"${work_dir}/build_date")"
else
printf '%s\n' "$SOURCE_DATE_EPOCH" > "${work_dir}/build_date"
fi
[[ "${quiet}" == "y" ]] || _show_config [[ "${quiet}" == "y" ]] || _show_config
_run_once _make_pacman_conf _run_once _make_pacman_conf
@ -1837,9 +1852,14 @@ _build() {
for buildmode in "${buildmodes[@]}"; do for buildmode in "${buildmodes[@]}"; do
_run_once "_build_buildmode_${buildmode}" _run_once "_build_buildmode_${buildmode}"
done 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 case "${arg}" in
p) read -r -a override_pkg_list <<< "${OPTARG}" ;; p) read -r -a override_pkg_list <<< "${OPTARG}" ;;
C) override_pacman_conf="${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_key="${OPTARG}" ;;
G) override_gpg_sender="${OPTARG}" ;; G) override_gpg_sender="${OPTARG}" ;;
v) override_quiet="n" ;; v) override_quiet="n" ;;
r) declare -i override_rm_work_dir=1 ;;
h|?) _usage 0 ;; h|?) _usage 0 ;;
*) *)
_msg_error "Invalid argument '${arg}'" 0 _msg_error "Invalid argument '${arg}'" 0
@ -1876,6 +1897,13 @@ fi
# get the absolute path representation of the first non-option argument # get the absolute path representation of the first non-option argument
profile="$(realpath -- "${1}")" 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 _read_profile
_set_overrides _set_overrides
_validate_options _validate_options

View File

@ -29,6 +29,7 @@ ethtool
exfatprogs exfatprogs
f2fs-tools f2fs-tools
fatresize fatresize
foot-terminfo
fsarchiver fsarchiver
gnu-netcat gnu-netcat
gpart gpart
@ -61,6 +62,7 @@ man-pages
mc mc
mdadm mdadm
#memtest86+ #memtest86+
#memtest86+-efi
mkinitcpio mkinitcpio
mkinitcpio-archiso mkinitcpio-archiso
mkinitcpio-nfs-utils mkinitcpio-nfs-utils
@ -114,6 +116,7 @@ usbutils
vim vim
#virtualbox-guest-utils-nox #virtualbox-guest-utils-nox
vpnc vpnc
wezterm-terminfo
wireless-regdb wireless-regdb
wireless_tools wireless_tools
wpa_supplicant wpa_supplicant
@ -149,6 +152,8 @@ xf86-video-vesa
xf86-video-intel xf86-video-intel
xf86-video-amdgpu xf86-video-amdgpu
xf86-video-ati xf86-video-ati
mesa
mesa-utils
## GPU Drivers (Nvidia) ------------------------------ ## GPU Drivers (Nvidia) ------------------------------
xf86-video-nouveau xf86-video-nouveau
@ -188,6 +193,7 @@ pipewire-alsa
pipewire-pulse pipewire-pulse
pipewire-jack pipewire-jack
pulsemixer pulsemixer
pavucontrol
gst-plugin-pipewire gst-plugin-pipewire
## Video ## Video
@ -229,14 +235,35 @@ kvantum
qt5ct qt5ct
## Display Manager ------------------------------ ## Display Manager ------------------------------
sddm sddm-git
archcraft-sddm-theme archcraft-sddm-theme
## DE/WMs ------------------------------ ## Desktop ------------------------------
xfce4 xfce4
xfce4-goodies xfce4-goodies
archcraft-xfce archcraft-xfce
# Apps
firefox
geany
geany-plugins
atril
# Utilities
acpi
galculator
gparted
gnome-keyring
meld
polkit
simplescreenrecorder
udisks2
xclip
xcolor
xdotool
yad
# Archcraft Packages
archcraft-cursors archcraft-cursors
archcraft-icons archcraft-icons
archcraft-themes archcraft-themes
@ -253,16 +280,12 @@ archcraft-config-geany
archcraft-config-qt archcraft-config-qt
archcraft-hooks-zsh archcraft-hooks-zsh
firefox
geany
geany-plugins
atril
## Functionality ------------------------------ ## Functionality ------------------------------
## Fonts ## Fonts
noto-fonts noto-fonts
noto-fonts-emoji noto-fonts-emoji
noto-fonts-cjk
terminus-font terminus-font
## Multimedia ## Multimedia
@ -307,7 +330,9 @@ xarchiver
## Misc ------------------------------ ## Misc ------------------------------
## Package Tools ## Package Tools
bison
fakeroot fakeroot
flex
make make
automake automake
autoconf autoconf
@ -323,18 +348,9 @@ powertop
ranger ranger
vim vim
## Utilities
acpi
gparted
polkit
udisks2
yad
xcolor
meld
xclip
## AUR Packages ## AUR Packages
downgrade downgrade
gtk3-nocsd-git
ksuperkey ksuperkey
mkinitcpio-firmware mkinitcpio-firmware
mugshot mugshot

View File

@ -70,23 +70,20 @@ LocalFileSigLevel = Optional
# repo name header and Include lines. You can add preferred servers immediately # repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors. # after the header, and they will be used before the default mirrors.
#[testing]
#Include = /etc/pacman.d/mirrorlist
[archcraft] [archcraft]
SigLevel = Optional TrustAll SigLevel = Optional TrustAll
Include = /etc/pacman.d/archcraft-mirrorlist Include = /etc/pacman.d/archcraft-mirrorlist
#[core-testing]
#Include = /etc/pacman.d/mirrorlist
[core] [core]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
[extra] #[extra-testing]
Include = /etc/pacman.d/mirrorlist
#[community-testing]
#Include = /etc/pacman.d/mirrorlist #Include = /etc/pacman.d/mirrorlist
[community] [extra]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system, # If you want to run 32 bit applications on your x86_64 system,

View File

@ -2,10 +2,10 @@
# shellcheck disable=SC2034 # shellcheck disable=SC2034
iso_name="archcraft-xfce" iso_name="archcraft-xfce"
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_publisher="Aditya Shakya <http://www.github.com/adi1090x>"
iso_application="Archcraft Live/Installation/Rescue CD" 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" install_dir="arch"
buildmodes=('iso') buildmodes=('iso')
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'

View File

@ -8,7 +8,7 @@ MENU AUTOBOOT Starting Archcraft in # second{,s}.
# Menu items width # Menu items width
MENU WIDTH 70 MENU WIDTH 70
# Gap from top # Gap from top
MENU VSHIFT 8 MENU VSHIFT 9
# Gap from sides # Gap from sides
MENU HSHIFT 6 MENU HSHIFT 6
# Gap from left # Gap from left
@ -16,11 +16,11 @@ MENU MARGIN 4
# How many visible rows # How many visible rows
MENU ROWS 10 MENU ROWS 10
# Tab message row height # Tab message row height
MENU TABMSGROW 16 MENU TABMSGROW 15
# CMD line height # CMD line height
MENU CMDLINEROW 16 MENU CMDLINEROW 15
# Help message row # Help message row
MENU HELPMSGROW 19 MENU HELPMSGROW 18
# Help message ending row # Help message ending row
MENU HELPMSGENDROW 30 MENU HELPMSGENDROW 30

View File

@ -4,9 +4,9 @@ Boot Archcraft install medium using NBD.
It allows you to install Archcraft or perform system maintenance. It allows you to install Archcraft or perform system maintenance.
ENDTEXT ENDTEXT
MENU LABEL Boot Archcraft (x86_64, NBD) MENU LABEL Boot Archcraft (x86_64, NBD)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux 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 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 APPEND archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% archiso_nbd_srv=${pxeserver} cms_verify=y
SYSAPPEND 3 SYSAPPEND 3
LABEL arch64_nfs LABEL arch64_nfs
@ -15,9 +15,9 @@ Boot Archcraft install medium using NFS.
It allows you to install Archcraft or perform system maintenance. It allows you to install Archcraft or perform system maintenance.
ENDTEXT ENDTEXT
MENU LABEL Boot Archcraft (x86_64, NFS) MENU LABEL Boot Archcraft (x86_64, NFS)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux 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 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 APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt cms_verify=y
SYSAPPEND 3 SYSAPPEND 3
LABEL arch64_http LABEL arch64_http
@ -26,7 +26,7 @@ Boot Archcraft install medium using HTTP.
It allows you to install Archcraft or perform system maintenance. It allows you to install Archcraft or perform system maintenance.
ENDTEXT ENDTEXT
MENU LABEL Boot Archcraft (x86_64, HTTP) MENU LABEL Boot Archcraft (x86_64, HTTP)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux 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 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 APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ cms_verify=y
SYSAPPEND 3 SYSAPPEND 3

View File

@ -7,7 +7,7 @@ ENDTEXT
MENU LABEL Boot Archcraft (x86_64, BIOS) MENU LABEL Boot Archcraft (x86_64, BIOS)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux 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 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 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 # Open Source
LABEL arch64free LABEL arch64free
@ -18,40 +18,18 @@ ENDTEXT
MENU LABEL Boot Archcraft (x86_64, BIOS, open source) MENU LABEL Boot Archcraft (x86_64, BIOS, open source)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux 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 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 driver=free nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes 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
# Open Source, No Nouveau
LABEL arch64freenonouveau
TEXT HELP
Boot Archcraft install medium on BIOS with open source drivers.
It allows you to install Archcraft or perform system maintenance.
ENDTEXT
MENU LABEL Boot Archcraft (x86_64, BIOS, open source, no nouveau)
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 driver=freenonouveau radeon.modeset=1 i915.modeset=1 nvme_load=yes
# NVIDIA Proprietary # NVIDIA Proprietary
LABEL arch64nonfree LABEL arch64nonfree
TEXT HELP TEXT HELP
Boot Archcraft install medium on BIOS with proprietary drivers (NVIDIA). Boot Archcraft install medium on BIOS with proprietary nvidia drivers.
It allows you to install Archcraft or perform system maintenance. It allows you to install Archcraft or perform system maintenance.
ENDTEXT ENDTEXT
MENU LABEL Boot Archcraft (x86_64, BIOS, NVIDIA) MENU LABEL Boot Archcraft (x86_64, BIOS, nvidia)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux 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 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 driver=nonfree nouveau.modeset=0 radeon.modeset=1 i915.modeset=1 nvme_load=yes 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
# NVIDIA Proprietary, No Nouveau
LABEL arch64nonfreenonouveau
TEXT HELP
Boot Archcraft install medium on BIOS with proprietary drivers (NVIDIA).
It allows you to install Archcraft or perform system maintenance.
ENDTEXT
MENU LABEL Boot Archcraft (x86_64, BIOS, NVIDIA, no nouveau)
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 driver=nonfreenonouveau nouveau.modeset=0 radeon.modeset=1 i915.modeset=1 nvme_load=yes
# Nomodeset # Nomodeset
LABEL arch64nomodeset LABEL arch64nomodeset
@ -62,4 +40,4 @@ ENDTEXT
MENU LABEL Boot Archcraft (x86_64, BIOS, nomodeset) MENU LABEL Boot Archcraft (x86_64, BIOS, nomodeset)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux 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 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 driver=free nomodeset nouveau.modeset=0 radeon.modeset=0 i915.modeset=0 nvme_load=yes 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