Subject: bug#33999: CP437: Invalid Argument on init

From: Bryan Ferris <[email-masked]>
Date: Thu, 10 Jan 2019 12:37:38 -0800

Oh right, forgot about the check line. I'll try that tonight. However, I
don't think I can run your test program unless that fixes the issue as I
never get a shell.

Also, I don't think this matters, but I'll be running `guix system init`
from the installer rather than reconfigure due to the lack of shell and the
fact that guix itself is one of the services that fails to start.

On Thu, Jan 10, 2019, 09:59 Danny Milosavljevic <[email-masked]
wrote:

> Hi,
>
> On Thu, 10 Jan 2019 07:15:10 -0800
> Bryan Ferris <[email-masked]> wrote:
>
> > I've linked to two videos here, one of the boot (the screen with the GNU
> > logo and "100% freedom" on it) and one of the init (where Shepherd
> reports
> > errors,
>
> Thanks!  I've viewed those.
>
> >I think it's dmesg?).
>
> It depends.  On early boot it's dmesg and once syslog is up it's syslog.
>
> > Boot:
> >
> https://drive.google.com/file/d/1YMbCI3BvznhMI_eYYTxMvxJC2SKlNqSJ/view?usp=sharing
> > Init:
> >
> https://drive.google.com/file/d/1CZov16Xrpy9D8DMN9eHeANjR7UHh2WpL/view?usp=sharing
>
> Maybe the CP437 is not harmless after all.
>
> Please try adding the unquoted part below at the indicated place:
>
> > >> >   (file-systems (cons*
> > >> >                   (file-system
> > >> >                     (device (file-system-label "ESP"))
> > >> >                     (mount-point "/boot/efi")
> > >> >                     (type "fat")
> > >>
>
>  (check? #f)
>
> > >> >                   )
>
> Then invoke
>
>   guix system reconfigure /etc/config.scm
>
> as root in order for it to be applied and reboot.
>
> This prevents fsck.fat from being invoked - so we hopefully also doesn't
> need CP437 any more.
>
> If that doesn't help, try this (it's kinda dangerous :( ):
>
> > >> >   (file-systems (cons*
> > >> >                   (file-system
> > >> >                     (device (file-system-label "ESP"))
> > >> >                     (mount-point "/boot/efi")
> > >> >                     (type "fat")
> > >>
>
> (check? #f)
> (needed-for-boot? #f)
>
> > >> >                   )
>
> Then invoke
>
>   guix system reconfigure /etc/config.scm
>
> as root in order for it to be applied and reboot.
>
> This prevents fsck.fat from being invoked and it also prevents the
> initial ram disk (a very early tiny GNU system which runs right after the
> kernel
> starts up and before init) from trying to mount /boot/efi .  The real
> system
> will still mount /boot/efi later.
>
> It would be interesting if
>
> (1) This fixes the problem (I don't think so), or
> (2) It reduces the number of error messages and makes it less bad.
>
> After all this, if it still doesn't work:
>
> Try adding the unquoted part:
>
> > >> >   (file-systems (cons*
> > >> >                   (file-system
> > >> >                     (device (file-system-label "ESP"))
> > >> >                     (mount-point "/boot/efi")
> > >> >                     (type "fat")
> > >>
>
> (check? #f)
> (needed-for-boot? #f)
> (mount? #f)
>
> > >> >                   )
>
> Then invoke
>
>   guix system reconfigure /etc/config.scm
>
> as root in order for it to be applied and reboot.
>
> This prevents mounting of /boot/efi entirely (it's pretty dangerous).
>
> Should your system not boot any more you can select the older generation
> in the grub boot menu.  It's also possible that you can't run
>
>   guix system reconfigure /etc/config.scm
>
> anymore after this.  If so, please invoke
>
>   mount /boot/efi
>
> as root.  Then you can invoke
>
>   guix system reconfigure /etc/config.scm
>
> once.
>
> It's likely that the latter will be a successful workaround to
> the original problem.
> It would still be good if we got to the root cause later.
>