Hi Franz,
On 4/19/24 2:24 PM, Franz Geffke wrote:
I'm having trouble installing guix in qemu, using a "fresh" guix ISO.
```
building
/gnu/store/byjlc85abyjc3fjj9z982677skmda7ib-module-import-compiled.drv...
building
/gnu/store/psw8xn9qpsjjnrqmjrfv0v3jj9fphq5m-module-import-compiled.drv...
building
/gnu/store/a1zcrrcdwhb4wb2g4r0ph8mqclq7f5xn-install-bootloader.scm.drv...
guix system: error:
'/gnu/store/li1ic17hz460vp1sg0cx2dwgw8q7i8pj-grub-2.06/sbin/grub-install
--no-floppy --target=i386-pc --boot-directory /mnt/boot /dev/sda' exited with
status 1; output follows:
Installing for i386-pc platform.
/gnu/store/li1ic17hz460vp1sg0cx2dwgw8q7i8pj-grub-2.06/sbin/grub-install:
error: unknown filesystem.
```
Here's what I've tried so far:
1. The ISO from 2022
https://ftpmirror.gnu.org/gnu/guix/guix-system-install-1.4.0.x86_64-linux.iso:
Success
2. Generated a new ISO today: Failure
These are the channels, on the booted ISO:
```
guix describe
guix 65e8472
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 65e8472a4b6fc6f66871ba0dad518b7d4c63595e
```
Steps I used to install (1) and (2):
```
parted -s /dev/sda -- mklabel msdos mkpart primary ext4 1MiB 100%
parted /dev/sda set 1 boot on
mkfs.ext4 -L my-root /dev/sda1
mount LABEL=my-root /mnt
cp /etc/configuration/lightweight-desktop.scm /mnt/etc/config.scm
# adjust disk, bootloader
herd start cow-store /mnt
guix system init /mnt/etc/config.scm /mnt
```
Findings:
I didn't really dig too deeply yet; Only noticed that this command produces a
different result, depending on whether the install succeeds, or not `grub-probe
--target=fs --device /dev/sda`
- Success: `ext2`
- Failure: `grub-probe: error: unknown filesystem.`
I also tried using GPT instead of MBR, but it makes no difference.
I've encountered this problem too, and managed to solve it. I'm 85% sure
you're experiencing the same problem as me, and I've been meaning to
document it somewhere - its a super obtuse error and it is a showstopper
when it comes to installing guix.
Basically, there is a compatibility issue regarding the ext4 filesystem
features that GRUB 2.06 supports and the features that
`e2fsprogs@1.47.0` enables by default when creating your ext4
filesystem. When these features are enabled, it changes the structure of
the filesystem enough that GRUB can't recognise it properly and it fails.
To fix this, you will need to make sure you create your ext4 filesystem
with the following features:
`mkfs.ext4 /dev/you-partition-here -O
has_journal,ext_attr,resize_inode,dir_index,filetype,needs_recovery,extent,flex_bg,sparse_super,large_file,huge_file,uninit_bg,dir_nlink,extra_isize`
These are the features that worked for me. I had to do a lot of trial
and error, and I used `tune2fs -l` to see what features weren't
supported. The ones I can remember are the metadata_csum features, and
some other ones (they showed up as FEATURE_X when running `tune2fs` on
my Guix installation image, so I used a Gparted Live CD to get rid of
the features that weren't recognised by tune2fs).
This should allow grub to recognise your filesystem during the
installation process. I think using a later version of grub would fix
this, but that hasn't happened yet. I think there's a patch to upgrade
it in `core-updates` somewhere, but I'm not sure.
Anyway, hope this helps!
Warmly,
Ada