os:archlinux:mjoelnir
Table of Contents
Info
Thinkpad T495s/16GB/256GB
ISO/Network
Download ISO https://archlinux.org/download/
write the ISO on a USB key
boot
Setup network
systemctl start iwd iwctl
iwd]# device list
Devices
--------------------------------------------------------------------------------
Name Address Powered Adapter Mode
--------------------------------------------------------------------------------
wlan0 0c:7a:15:79:77:41 on phy0 station
iwd]# station wlan0 get-networks
Available networks
--------------------------------------------------------------------------------
Network name Security Signal
--------------------------------------------------------------------------------
FuckUMeta psk ****
XXXXXXXXXXXXXXXX psk ****
iwd]# station wlan0 connect FuckUMeta --passphrase **********************
iwd]# exit
ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever 2: enp3s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether XX:YY:ZZ:AA:BB:CC brd ff:ff:ff:ff:ff:ff altname enxf875a4853e1b 4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether XX:YY:ZZ:AA:BB:CC brd ff:ff:ff:ff:ff:ff inet 192.168.1.156/24 metric 600 brd 192.168.1.255 scope global dynamic wlan0 valid_lft 84979sec preferred_lft 84979sec inet6 fdbf:275d:b681:f346:e7a:15ff:fe79:7741/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 1741sec preferred_lft 1741sec inet6 fe80::e7a:15ff:fe79:7741/64 scope link proto kernel_ll valid_lft forever preferred_lft forever
Test + SSH
network OK ?
ping -c3 archlinux.org
Install SSH
pacman -Sy pacman -S openssh vim /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
PermitRootLogin yes
passwd
systemctl start sshd
Now we can connect from the network
Disk partitions
List
# gdisk /dev/nvme0n1 -l GPT fdisk (gdisk) version 1.0.10 The protective MBR's 0xEE partition is oversized! Auto-repairing. Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/nvme0n1: 500118192 sectors, 238.5 GiB Model: KXG6AZNV256G TOSHIBA Sector size (logical/physical): 512/512 bytes Disk identifier (GUID): A49CF274-51B4-4CBF-BE13-5195151DBF6E Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 500118158 Partitions will be aligned on 2048-sector boundaries Total free space is 205869677 sectors (98.2 GiB) Number Start (sector) End (sector) Size Code Name 1 2048 206847 100.0 MiB EF00 EFI system partition 2 206848 239615 16.0 MiB 0C01 Microsoft reserved ... 3 239616 250570751 119.4 GiB 0700 Basic data partition 4 250570752 292513791 20.0 GiB 0700 Basic data partition 5 498378752 500115455 848.0 MiB 2700
The goal is to make a 16GB swap partition and the btrfs root:
gdisk /dev/nvme0n1
SWAP
Command (? for help): n
Partition number (6-128, default 6):
First sector (34-500118158, default = 292513792) or {+-}size{KMGTP}:
Last sector (292513792-498378751, default = 498378751) or {+-}size{KMGTP}: +16G
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'
BTRFS root
Command (? for help): n
Partition number (7-128, default 7):
First sector (34-500118158, default = 326068224) or {+-}size{KMGTP}:
Last sector (326068224-498378751, default = 498378751) or {+-}size{KMGTP}:
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Save
Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/nvme0n1. The operation has completed successfully.
Mount/Format
SWAP
mkswap /dev/nvme0n1p6 swapon /dev/nvme0n1p6
BTRFS
pacman -Sy btrfs-progs mkfs.btrfs -L ArchRoot /dev/nvme0n1p7 mount /dev/nvme0n1p7 /mnt btrfs subvolume create /mnt/@ btrfs subvolume create /mnt/@home umount /mnt
Mount /boot /home /
mount -o noatime,compress=zstd,space_cache,subvol=@ /dev/nvme0n1p7 /mnt mkdir -p /mnt/{home,boot} mkdir /mnt/boot/efi mount -o noatime,compress=zstd,space_cache,subvol=@home /dev/nvme0n1p7 /mnt/home mount /dev/nvme0n1p1 /mnt/boot/efi
Pacstrap
pacstrap /mnt base base-devel linux linux-firmware amd-ucode btrfs-progs vim dhcpcd networkmanager efibootmgr dosfstools sudo git tlp htop zsh
FSTAB
genfstab -U /mnt >> /mnt/etc/fstab
Archlinux Machine setup
mount --types proc /proc /mnt/proc mount --rbind /sys /mnt/sys mount --rbind /dev /mnt/dev arch-chroot /mnt /bin/bash echo "Mjölnir" >/etc/hostname echo LANG=en_US.UTF-8 > /etc/locale.conf vim /etc/locale.gen
uncomment
en_US.UTF-8
Generate locales
locale-gen
fonts/keymap
echo KEYMAP=us-acentos > /etc/vconsole.conf echo FONT=lat9w-16 >> /etc/vconsole.conf
TimeZone
ln -sf /usr/share/zoneinfo/Europe/Zurich /etc/localtime
/etc/hosts
vim /etc/hosts
#<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 <YOUR-HOSTNAME>.localdomain <YOUR-HOSTNAME>
Initramfs
vim /etc/mkinitcpio.conf
HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block resume btrfs filesystems fsck)
Systemdboot
bootctl --esp-path=/boot/efi install
Entries
default:
cat > /boot/efi/loader/loader.conf <<EOF default arch timeout 5 EOF
Archlinux:
cat > /boot/efi/loader/entries/arch.conf <<EOF title Arch Linux linux /vmlinuz-linux initrd /amd-ucode.img initrd /initramfs-linux.img options root=UUID=43a3c9d5-0253-4f24-af47-7c11f3f39753 rw rootflags=subvol=@,compress=zstd EOF
Note: 43a3c9d5-0253-4f24-af47-7c11f3f39753 = UUID from `blkid /dev/nvme0n1p7` Windows shit:
cat > /boot/efi/loader/entries/windows.conf <<EOF title Windows efi /EFI/Microsoft/Boot/bootmgfw.efi EOF
Final step
candles
exit umount -l /mnt/{dev,sys,proc} umount /mnt/boot/efi umount /mnt/{home,} reboot
Notes:
- remount btrfs partition:
mount -t btrfs \ -o subvol=@,noatime,compress=zstd,space_cache=v2 \ /dev/nvme0n1p7 /mnt
- Wifi shit
cat > /tmp/wpa.conf <<EOF network={ ssid="MyNet" psk="PASTE-YOUR-64-CHAR-KEY-HERE" key_mgmt=WPA-PSK } EOF
wpa_supplicant -B -i wlan0 -c /tmp/wpa.conf dhcpcd wlan0
os/archlinux/mjoelnir.txt · Last modified: by warnaud
