Use a better approach for pacstrapping kernels

This commit is contained in:
theVakhovskeIsTaken 2023-06-28 11:44:47 +00:00
parent 00be8fd1bb
commit 55b8b51e51
7 changed files with 12 additions and 136 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@ work/
out/ out/
steamdeck-20230323.1000-snapshot.manifest.pacman steamdeck-20230323.1000-snapshot.manifest.pacman
pkglist.x86_64.txt pkglist.x86_64.txt
test2.sh

View File

@ -286,9 +286,9 @@ base_os_install() {
arch-chroot ${HOLO_INSTALL_DIR} rm /etc/polkit-1/rules.d/99_holoiso_installuser.rules arch-chroot ${HOLO_INSTALL_DIR} rm /etc/polkit-1/rules.d/99_holoiso_installuser.rules
cp -r /etc/holoinstall/post_install/pacman.conf ${HOLO_INSTALL_DIR}/etc/pacman.conf cp -r /etc/holoinstall/post_install/pacman.conf ${HOLO_INSTALL_DIR}/etc/pacman.conf
arch-chroot ${HOLO_INSTALL_DIR} pacman-key --init arch-chroot ${HOLO_INSTALL_DIR} pacman-key --init
arch-chroot ${HOLO_INSTALL_DIR} pacman -Rdd --noconfirm linux-neptune-61 linux-neptune linux-neptune-61-headers linux-neptune-headers linux-lts linux-lts-headers mkinitcpio-archiso arch-chroot ${HOLO_INSTALL_DIR} pacman -Rdd --noconfirm $(cat /etc/holoinstall/post_install/kernel_list.bootstrap)
arch-chroot ${HOLO_INSTALL_DIR} mkinitcpio -P arch-chroot ${HOLO_INSTALL_DIR} mkinitcpio -P
arch-chroot ${HOLO_INSTALL_DIR} pacman -U --noconfirm $(find /etc/holoinstall/post_install/pkgs | grep pkg.tar.zst) arch-chroot ${HOLO_INSTALL_DIR} pacman -U --noconfirm $(find /etc/holoinstall/post_install/kernels | grep pkg.tar.zst)
arch-chroot ${HOLO_INSTALL_DIR} userdel -r liveuser arch-chroot ${HOLO_INSTALL_DIR} userdel -r liveuser
check_download $? "installing base package" check_download $? "installing base package"

View File

@ -46,16 +46,15 @@ systemctl enable sddm NetworkManager systemd-timesyncd cups bluetooth sshd
# Download extra stuff # Download extra stuff
mkdir -p /etc/holoinstall/post_install/pkgs mkdir -p /etc/holoinstall/post_install/pkgs
mkdir -p /etc/holoinstall/post_install/kernels
wget $(pacman -Sp win600-xpad-dkms) -P /etc/holoinstall/post_install/pkgs_addon wget $(pacman -Sp win600-xpad-dkms) -P /etc/holoinstall/post_install/pkgs_addon
wget $(pacman -Sp linux-firmware-neptune) -P /etc/holoinstall/post_install/pkgs_addon wget $(pacman -Sp linux-firmware-neptune) -P /etc/holoinstall/post_install/pkgs_addon
# Download Kernels # Download Kernels
wget $(pacman -Sp linux-neptune-61) -P /etc/holoinstall/post_install/pkgs for kernel in $(cat /etc/holoinstall/post_install/kernel_list.bootstrap)
wget $(pacman -Sp linux-neptune-61-headers) -P /etc/holoinstall/post_install/pkgs do
wget $(pacman -Sp linux-neptune) -P /etc/holoinstall/post_install/pkgs wget $(pacman -Sp $kernel) -P /etc/holoinstall/post_install/kernels
wget $(pacman -Sp linux-neptune-headers) -P /etc/holoinstall/post_install/pkgs done
wget $(pacman -Sp linux-lts) -P /etc/holoinstall/post_install/pkgs
wget $(pacman -Sp linux-lts) -P /etc/holoinstall/post_install/pkgs
# Workaround mkinitcpio bullshit so that i don't KMS after rebuilding ISO each time and having users reinstalling their fucking OS bullshit every goddamn time. # Workaround mkinitcpio bullshit so that i don't KMS after rebuilding ISO each time and having users reinstalling their fucking OS bullshit every goddamn time.
rm /etc/mkinitcpio.conf rm /etc/mkinitcpio.conf

View File

@ -1,116 +0,0 @@
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
# CONFIG_VERSION="1"
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg = jupiter-hw-support linux-firmware-neptune linux-firmware-neptune-rtw-debug
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
#Color
#TotalDownload
# We cannot check disk space from within a chroot environment
#CheckSpace
#VerbosePkgLists
ParallelDownloads = 5
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
#[testing-rel]
#Include = /etc/pacman.d/mirrorlist
[holoiso-hwsupport]
Server = https://gdrivecdn.thevakhovske.pw/3:/daily_/testpkgs/$repo
SigLevel = Never
[holoiso-next]
Include = /etc/pacman.d/holo_mirrorlist
SigLevel = Never
[holostaging]
Include = /etc/pacman.d/holo_mirrorlist
SigLevel = Never
[jupiter-main]
Include = /etc/pacman.d/mirrorlist
SigLevel = Never
[holo-main]
Include = /etc/pacman.d/mirrorlist
SigLevel = Never
[core-main]
Include = /etc/pacman.d/mirrorlist
[extra-main]
Include = /etc/pacman.d/mirrorlist
#[community-testing-main]
#Include = /etc/pacman.d/mirrorlist
[community-main]
Include = /etc/pacman.d/mirrorlist
[multilib-main]
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

View File

@ -1,6 +0,0 @@
title HoloISO installer (beta, with SD 6.1)
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-neptune-61
initrd /%INSTALL_DIR%/boot/intel-ucode.img
initrd /%INSTALL_DIR%/boot/amd-ucode.img
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-neptune-61.img
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram

4
kernel_list.bootstrap Normal file
View File

@ -0,0 +1,4 @@
linux-neptune
linux-neptune-headers
core-main/linux-lts
core-main/linux-lts-headers

View File

@ -44,12 +44,6 @@ less
lftp lftp
libfido2 libfido2
libusb-compat libusb-compat
linux-neptune-61
linux-neptune-61-headers
linux-neptune
linux-neptune-headers
linux-lts
linux-lts-headers
linux-atm linux-atm
linux-firmware linux-firmware
linux-firmware-marvell linux-firmware-marvell