Sway on Laptop: Difference between revisions

From Alpine Linux
(ssh server stuff)
(fix)
Line 111: Line 111:


   apk fix kernel-hooks
   apk fix kernel-hooks
Set root password:
  passwd


Exit chroot and power off:
Exit chroot and power off:

Revision as of 21:44, 17 February 2024

Quq's guide for installing Alpine with Sway, for latitude 7370.

Download Alpine Linux, verify checksum then

 dd if=alpine-extended.iso of=/dev/sdb

Known issues: screen sharing appears to be broken.

More details forth-coming.

Press f12 at boot to enter Setup, wipe disk under Maintenance>Data Wipe. Check Wipe on Next Boot check box. Exit.

Plug in external storage device with alpine extended on it. Let it boot.

Login as root. There is no password.

Set up internet connection

 # -r is needed for starting the network after configuration
 setup-interfaces -r
 Initialize: wlan0
 Enter SSID: my net
 Password, DHCP.

Set up SSH server:

  setup-sshd
  # example:
  ssh server:        openssh
  allow root:        "prohibit-password" or "yes"
  ssh key:           "none" or "<public key>"

Configurations set here will be copied verbatim to the installed system.

Set root password or /root/.ssh/authorized_keys. Choose a strong root password, as it will be copied to the installed system. However, authorized_keys is not copied.

Set up time:

 setup-ntp chrony

Set up repos:

 setup-apkrepos-c
  # show mirror list, then select geographically nearest mirror
  # -c argument enables community repo

Larger font for high res screen:

 apk add terminus-font
 setfont /usr/share/consolefonts/ter-132n.psf.gz

Partition the disk:

 apk add parted cryptsetup e2fsprogs
 parted --script --align=optimal /dev/sda -- mklabel gpt mkpart EFI 1MiB 4GiB mkpart alpine 4GiB -1MiB set 1 esp on
 mkfs.vfat /dev/sda1
 cryptsetup luksFormat /dev/sda2
 cryptsetup luksOpen /dev/sda2 alpine-luks
 mkfs.ext4 /dev/mapper/alpine-luks

Mount.

 mount -t ext4 /dev/mapper/alpine-luks /mnt
 mkdir /mnt/boot
 mount -t vfat /dev/sda1 /mnt/boot

Install system:

 BOOTLOADER=none setup-disk -m sys -k edge -s 0 /mnt

Chroot:

 chroot /mnt /bin/sh

Generate Unified Kernel Image as Bootloader

 apk add secureboot-hook gummiboot-efistub efibootmgr

Exit chroot:

 exit

Blkid:

 BLKUUID=$(blkid /dev/sda2 | sed 's|.*UUID="||' | sed 's|".*||')

Cmdline:

 echo cmdline=\"cryptroot=UUID=$BLKUUID  cryptdm=root rootfstype=ext4 modules=ext4\" >> /mnt/etc/kernel-hooks.d/secureboot.conf

Disable mkinitfs trigger:

 echo 'disable_trigger=yes' >> /mnt/etc/mkinitfs/mkinitfs.conf

Enable cryptroot in mkinitfs:

  sed -i 's|nvme|nvme cryptsetup|' /mnt/etc/mkinitfs/mkinitfs.conf

Chroot again:

 chroot /mnt /bin/sh

Create dummy efi keys:

 apk add efi-mkkeys
 efi-mkkeys -s "Your Name" -o /etc/uefi-keys

Generate image:

 apk fix kernel-hooks

Exit chroot and power off:

 exit
 poweroff