[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: BTRFS, LVM, LUKS
From: |
David Larsson |
Subject: |
Re: BTRFS, LVM, LUKS |
Date: |
Sun, 30 Jun 2019 12:37:02 +0000 |
Hi lxo,
I can give some advice reg. libreboot+luks+btrfs, but not reg. LVM and I
haven't tested a a btrfs multi-disk setup with GuixSD either unfortunately.
Using btrfs and luks on a librebooted laptop works well.
> Full-disk encryption (LUKS) is also a strict requirement for me, and so
> is multi-disk BTRFS.
When using libreboot and GuixSD, I suggest that you have in the libreboot grub:
cryptomount -a
configfile /boot/grub.cfg
in order to get all the Guix rollback features that are related to the
grub-menu entries without needing to reflash after each guix system reconfigure.
But I suggest that /boot/grub.cfg is a symlink to the /boot in the Guix root
subvolume. So the full path to Guix's boot.cfg would be:
/guix_rw/boot/grub.cfg
By loading the Guix grub from libreboot grub like that you can reboot to a new
btrfs snapshot such as /guix_rw_test before doing risky things just by changing
the destination file of the symlink.
The one issue I have had with this is that the GuixSD system reconfigure
command generates grub-entries with the current relative path to initrd etc. so
I had to write a small bash-script that replaced the grub-entries with the full
paths, like this:
function grubfix(){
sudo sed -i "s/linux\ \/gnu/linux\ \/guix_rw\/gnu/g" "$1"
sudo sed -i "s/initrd\ \/gnu/initrd\ \/guix_rw\/gnu/g" "$1"
sudo sed -i "s/--set\ \/gnu/--set\ \/guix_rw\/gnu/g" "$1"
}
which I then wrapped to a bash function called guix-update() that invokes guix
system reconfigure and ends with the grubfix() above.
>
> I have not used GuixSD yet, to a large extent due to the stated lack of
> LVM support. I haven't got myself into Guix either *blush*, but maybe I
> could get started with it. I suppose VMs might be a way to get started,
> but... the machines I use are not very powerful, as in, laptops old
> enough as to support LibreBoot, so I haven't used virtualization much
> myself.
I ran GuixSD on an old x200 for a few a years and had a really painful time
with overheating issues. This happens as soon as you have to build anything
from source which happens every now and then. I would primarily recommend that
you get a more powerful laptop like one of the Librems.
There are though a few ways to mitigate small laptop heating issues:
- run a Guix substitute server yourself on a more powerful machine (quite
easy setup).
- make sure to use several of the freely available substitute servers (e.g.
berlin.guixsd.org)
- underclocking
- limiting the reconfigure to fewer cores
To limit core cores and add additional substitute servers, you can add to your
system services list something like below:
(modify-services
(guix-service-type config =>
(guix-configuration
(inherit config)
(substitute-urls
(cons *
"https://mirror.hydra.gnu.org" "https://mirror.guixsd.org"
"https://berlin.guixsd.org"
%default-substitute-urls))))
; (extra-options
; '("--cores=1"))))) ; to avoid overheating from
build-processes
%base-services)))
>
> Thanks in advance for any guidance. I'm lxo on IRC.
>
> --
> Alexandre Oliva, freedom fighter he/him FSFLA.org/blogs/lxo
> Be the change, be Free! FSF Latin America board member
> GNU Toolchain Engineer Free Software Evangelist
> Hay que enGNUrecerse, pero sin perder la terGNUra jamás - Che GNUevara
I wish you the best of luck with GuixSD!
// David
- BTRFS, LVM, LUKS, Alexandre Oliva, 2019/06/29
- Re: BTRFS, LVM, LUKS, Giovanni Biscuolo, 2019/06/30
- Re: BTRFS, LVM, LUKS,
David Larsson <=
- Re: BTRFS, LVM, LUKS, Christopher Lemmer Webber, 2019/06/30