unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Guix bios installation: Grub error: unknown filesystem
@ 2024-04-19 14:24 Franz Geffke
  2024-04-21  6:14 ` Ada Stevenson
  0 siblings, 1 reply; 9+ messages in thread
From: Franz Geffke @ 2024-04-19 14:24 UTC (permalink / raw)
  To: guix-devel

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.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Guix bios installation: Grub error: unknown filesystem
  2024-04-19 14:24 Guix bios installation: Grub error: unknown filesystem Franz Geffke
@ 2024-04-21  6:14 ` Ada Stevenson
  2024-04-21 10:49   ` Franz Geffke
                     ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Ada Stevenson @ 2024-04-21  6:14 UTC (permalink / raw)
  To: Franz Geffke, guix-devel

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Guix bios installation: Grub error: unknown filesystem
  2024-04-21  6:14 ` Ada Stevenson
@ 2024-04-21 10:49   ` Franz Geffke
  2024-04-22 21:04   ` Attila Lendvai
  2024-05-01 22:06   ` Ludovic Courtès
  2 siblings, 0 replies; 9+ messages in thread
From: Franz Geffke @ 2024-04-21 10:49 UTC (permalink / raw)
  To: Ada Stevenson, guix-devel

Hi Ada,

I very much appreciate your detailed response.

For a moment I thought my email hadn't made it to this list, both because it 
didn't show up, and the lack of acknowledgment. After a day or so, I filed a bug 
report instead [1] - which produced the expected acknowledgement... Still learning.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866603

 > 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.

So this broke on 26th of March, with commit 
ce78f9cb668971954add5473c8549ebb00424f66.

 > 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`

I didn't realize mkfs.ext4 would accept these directly, thank you.

Certainly hope the latest version of GRUB will be merged asap, so it doesn't 
affect more users. Not a great experience when the initial install requires an 
undocumented workaround - but then again, it does (still) work on the guix ISO 
from the homepage.

Have a great day!

Best,
Franz


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Guix bios installation: Grub error: unknown filesystem
  2024-04-21  6:14 ` Ada Stevenson
  2024-04-21 10:49   ` Franz Geffke
@ 2024-04-22 21:04   ` Attila Lendvai
  2024-04-23  5:52     ` Ada Stevenson
  2024-05-01 22:06   ` Ludovic Courtès
  2 siblings, 1 reply; 9+ messages in thread
From: Attila Lendvai @ 2024-04-22 21:04 UTC (permalink / raw)
  To: Ada Stevenson; +Cc: Franz Geffke, guix-devel

> 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.


grub seems to be still v2.06 there:

https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/bootloaders.scm?h=core-updates#n103

-- 
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“In a democracy, mass opinion creates power. Power diverts funds to the manufacturers of opinion, who manufacture more, etc. […] This feedback loop generates a playing field on which the most competitive ideas are not those which best correspond to reality, but those which produce the strongest feedback.”
	— Mencius Moldbug



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Guix bios installation: Grub error: unknown filesystem
  2024-04-22 21:04   ` Attila Lendvai
@ 2024-04-23  5:52     ` Ada Stevenson
  0 siblings, 0 replies; 9+ messages in thread
From: Ada Stevenson @ 2024-04-23  5:52 UTC (permalink / raw)
  To: Attila Lendvai; +Cc: Franz Geffke, guix-devel

Hi Attila,

On 4/22/24 9:04 PM, Attila Lendvai wrote:
>> 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.
> 
> 
> grub seems to be still v2.06 there:
> 
> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/bootloaders.scm?h=core-updates#n103
> 

Maybe it would be a good idea to upgrade it then. This incompatibility 
has probably deterred many potential Guixers- it almost deterred me. 
Having this hacky workaround is just not good UX.

I'm not sure what upgrading GRUB would involve; maybe someone else on 
the mailing list has an idea on where to start? :)

Warmly,
Ada


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Guix bios installation: Grub error: unknown filesystem
  2024-04-21  6:14 ` Ada Stevenson
  2024-04-21 10:49   ` Franz Geffke
  2024-04-22 21:04   ` Attila Lendvai
@ 2024-05-01 22:06   ` Ludovic Courtès
  2024-05-02  5:22     ` adanskana
  2 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2024-05-01 22:06 UTC (permalink / raw)
  To: Ada Stevenson; +Cc: Franz Geffke, guix-devel

Hi Ada,

Ada Stevenson <adanskana@gmail.com> skribis:

> 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.

Just recently I noticed that our installation tests had starting failing
with that exact same ‘grub-install’ error that was mentioned:

  https://ci.guix.gnu.org/build/3708453/details

Cuirass says the culprit is in the 4003c60..daab3da, which indeed
includes the e2fsprogs update to 1.47.0.

Have you tried upgrading GRUB?  I see ‘guix refresh grub’ finds a new
version.  If fixing the bug is what it takes, we should do that.

Thanks for the investigation!

Ludo’.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Guix bios installation: Grub error: unknown filesystem
  2024-05-01 22:06   ` Ludovic Courtès
@ 2024-05-02  5:22     ` adanskana
  2024-05-02  8:33       ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: adanskana @ 2024-05-02  5:22 UTC (permalink / raw)
  To: Ludovic Courtès, Franz Geffke, guix-devel

Hi Ludo',

On 5/1/24 10:06 PM, Ludovic Courtès <ludo@gnu.org> wrote:
> Hi Ada,
> 
> Ada Stevenson <adanskana@gmail.com> skribis:
> 
> > 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.
> 
> Just recently I noticed that our installation tests had starting failing
> with that exact same ‘grub-install’ error that was mentioned:
> 
>    https://ci.guix.gnu.org/build/3708453/details
> 
> Cuirass says the culprit is in the 4003c60..daab3da, which indeed
> includes the e2fsprogs update to 1.47.0.
Okay, good to know!
> 
> Have you tried upgrading GRUB?  I see ‘guix refresh grub’ finds a new
> version.  If fixing the bug is what it takes, we should do that.
I might try doing this. It's a little scary though, updating the bootloader... What do you think would be the best way to test it? Should I create a VM and test through that? Or is there a way I can invoke the 'installation tests' that have been failing locally?
> 
> Thanks for the investigation!
No worries! I'm very glad I've been able to help; I'd love for this to be resolved :)
> 
> Ludo’.
> 
Thanks, 
Ada 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Guix bios installation: Grub error: unknown filesystem
  2024-05-02  5:22     ` adanskana
@ 2024-05-02  8:33       ` Ludovic Courtès
  2024-05-02 14:26         ` Efraim Flashner
  0 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2024-05-02  8:33 UTC (permalink / raw)
  To: adanskana; +Cc: Franz Geffke, guix-devel

Hi!

adanskana@gmail.com skribis:

> I might try doing this. It's a little scary though, updating the bootloader... What do you think would be the best way to test it? Should I create a VM and test through that? Or is there a way I can invoke the 'installation tests' that have been failing locally?

Apparently the latest version needs a tiny patch mentioned here:

  https://www.linuxfromscratch.org/lfs/view/development/chapter08/grub.html

As for testing, the best option is to run a couple of installation
tests:

  make check-system TESTS="installed-os encrypted-root-os"

(See
<https://guix.gnu.org/manual/devel/en/html_node/Running-the-Test-Suite.html>.)

Those installation tests are expensive in terms of CPU and disk space;
consider going for a walk while they’re running.  :-)

Thanks for looking into this!

Ludo’.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Guix bios installation: Grub error: unknown filesystem
  2024-05-02  8:33       ` Ludovic Courtès
@ 2024-05-02 14:26         ` Efraim Flashner
  0 siblings, 0 replies; 9+ messages in thread
From: Efraim Flashner @ 2024-05-02 14:26 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: adanskana, Franz Geffke, guix-devel

[-- Attachment #1: Type: text/plain, Size: 1427 bytes --]

On Thu, May 02, 2024 at 10:33:31AM +0200, Ludovic Courtès wrote:
> Hi!
> 
> adanskana@gmail.com skribis:
> 
> > I might try doing this. It's a little scary though, updating the bootloader... What do you think would be the best way to test it? Should I create a VM and test through that? Or is there a way I can invoke the 'installation tests' that have been failing locally?
> 
> Apparently the latest version needs a tiny patch mentioned here:
> 
>   https://www.linuxfromscratch.org/lfs/view/development/chapter08/grub.html
> 
> As for testing, the best option is to run a couple of installation
> tests:
> 
>   make check-system TESTS="installed-os encrypted-root-os"
> 
> (See
> <https://guix.gnu.org/manual/devel/en/html_node/Running-the-Test-Suite.html>.)

I've also had some luck running similar tests with this command:
./pre-inst-env guix build --no-grafts -e \
   '(@@ (gnu tests install) %test-gui-uefi-installed-os)'

> Those installation tests are expensive in terms of CPU and disk space;
> consider going for a walk while they’re running.  :-)

Indeed. It first needs to rebuild guix with all your commits on top.

> Thanks for looking into this!
> 
> Ludo’.
> 

-- 
Efraim Flashner   <efraim@flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-05-02 14:27 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-19 14:24 Guix bios installation: Grub error: unknown filesystem Franz Geffke
2024-04-21  6:14 ` Ada Stevenson
2024-04-21 10:49   ` Franz Geffke
2024-04-22 21:04   ` Attila Lendvai
2024-04-23  5:52     ` Ada Stevenson
2024-05-01 22:06   ` Ludovic Courtès
2024-05-02  5:22     ` adanskana
2024-05-02  8:33       ` Ludovic Courtès
2024-05-02 14:26         ` Efraim Flashner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).