linuxboot / linuxboot/heads

Guixsd vs Heads - How to make it work together?

Open
#753 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Makefile
Stars
1.6k
Forks
211
Avg merge
4d 21h
Merged PRs (30d)
6

Description

@tlaurion @jfrederickson @daym

Installation complete without any issues. But `heads` can't boot/sign separate `/boot` partition.
I use simple unencrypted `/boot` and encrypted `/` as LUKS.
Here is an `install script` and `config.scm`. Any ideas why?

```
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(target "/dev/sda")))

(initrd-modules (cons* "i915" %base-initrd-modules))

(mapped-devices
(list (mapped-device
(source (uuid ""))
(target "box")
(type luks-device-mapping))))

(file-systems (append (list (file-system
(device "/dev/mapper/box")
(mount-point "/")
(type "btrfs")
(dependencies mapped-devices))
(file-system
(device "/dev/sda1")
(mount-point "/boot")
(type "ext4")))
%base-file-systems))
```

```
rfkill unblock all
cat << EOF > /etc/wpa_supplicant.conf
network={
ssid=""
psk=""
}
EOF
herd stop wpa-supplicant
wpa_supplicant -B -i wlp2s0 -c /etc/wpa_supplicant.conf
dhclient -v wlp2s0

modprobe dm_mod
echo -e "o\nn\np\n1\n\n+128M\nn\np\n2\n\n\nt\n2\n8e\nw" | fdisk /dev/sda
cfdisk /dev/sda (/dev/sda1 - flag bootable)
cryptsetup --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sda2
cryptsetup luksOpen /dev/sda2 box
mkfs.btrfs -L root /dev/mapper/box
mount LABEL=root /mnt
mkdir -pv /mnt/boot
mkfs.ext4 -L boot /dev/sda1
mount LABEL=boot /mnt/boot/

herd start cow-store /mnt
mkdir /mnt/etc

blkid -s UUID -o value /dev/sda2 >> /mnt/etc/config.scm

nano /mnt/etc/config.scm
guix system init /mnt/etc/config.scm /mnt
reboot
```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the supplied install script and /etc/config.scm, focusing on the GRUB bootloader, encrypted root mapping, and separate /boot filesystem. Reproduce the installation and boot/signing failure in a comparable Heads environment, then identify the required compatible configuration or document why this setup cannot work.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, shell
Domain
operating-systems, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.