This commit is contained in:
matt1432 2023-02-12 12:49:54 -05:00
parent af666868ab
commit 1953dca129
3 changed files with 118 additions and 2 deletions

View file

@ -69,6 +69,7 @@ loadkeys ca
``` ```
### Installing packages on the device ### Installing packages on the device
mount usb key and edit pacman.conf
``` ```
# pacstrap -K /mnt base linux-firmware linux amd-ucode patch dkms kmod rtw89-dkms-git btrfs-progs grub os-prober ntfs-3g efibootmgr efivar iwd nano sudo texinfo man-db man-pages # pacstrap -K /mnt base linux-firmware linux amd-ucode patch dkms kmod rtw89-dkms-git btrfs-progs grub os-prober ntfs-3g efibootmgr efivar iwd nano sudo texinfo man-db man-pages
``` ```
@ -90,7 +91,7 @@ Uncomment ca_FR.UTF-8 en_CA.UTF-8 en_US.UTF-8 fr_CA.UTF-8 and run
# echo LANG=en_CA.UTF-8 > /etc/locale.conf # echo LANG=en_CA.UTF-8 > /etc/locale.conf
# echo KEYMAP=ca > /etc/vconsole.conf # echo KEYMAP=ca > /etc/vconsole.conf
``` ```
## Edit /mnt/etc/mkinitcpio.conf for LUKS ## Edit /etc/mkinitcpio.conf for LUKS
``` ```
BINARIES=(btrfs) BINARIES=(btrfs)
... ...
@ -103,7 +104,7 @@ then run ```mkinitpcio -P```
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch
``` ```
### Edit /mnt/etc/default/grub for LUKS ### Edit /etc/default/grub for LUKS
``` ```
cryptdevice=UUID=??????:root root=/dev/mapper/root cryptdevice=UUID=??????:root root=/dev/mapper/root
``` ```

39
scripts/archinstaller.sh Executable file
View file

@ -0,0 +1,39 @@
#!/bin/sh
PART="$1"
KEY="$2"
loadkeys ca
cryptsetup -y -v luksFormat --type luks1 /dev/nvme0n1p$PART
cryptsetup open /dev/nvme0n1p$PART root
mkfs.btrfs /dev/mapper/root
mount /dev/mapper/root /mnt
mount --mkdir /dev/nvme0n1p1 /mnt/boot
mount --mkdir /dev/sda$KEY usb
mv /etc/pacman.conf{,.bak}
mv ./pacman.conf /etc
pacman -Syu
pacstrap -K /mnt base linux-firmware linux amd-ucode patch dkms kmod rtw89-dkms-git btrfs-progs grub os-prober ntfs-3g efibootmgr efivar iwd nano sudo texinfo man-db man-pages
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
ln -sf /usr/share/zoneinfo/America/Montreal /etc/localtime
hwclock --systohc
echo matt-laptop > /etc/hostname
passwd
nano /etc/locale.gen
locale-gen
echo LANG=en_CA.UTF-8 > /etc/locale.conf
echo KEYMAP=ca > /etc/vconsole.conf
nano /etc/mkinitcpio.conf
mkinitcpio -P
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch
cat << EOF >> /etc/default/grub
cryptdevice=$(blkid | sed -n 's/.*nvme0n1p'$PART': \(.*\) TYPE.*/\1/p'):root root=/dev/mapper/root
EOF

76
scripts/pacman.conf Normal file
View file

@ -0,0 +1,76 @@
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
Color
#NoProgressBar
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 = Never
LocalFileSigLevel = Never
#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.
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
[custom]
SigLevel = Never
Server = file:///root/usb