Subject: bug#36069: Menu-based installer unusable through noVNC

From: Björn Höfling <[email-masked]>
Date: Mon, 22 Jul 2019 11:25:18 +0200

On Sat, 20 Jul 2019 17:17:21 +0200
Robert Vollmert <[email-masked]> wrote:

> > Robert and Björn, could you check if adding the ‘cirrus’ and
> > possibly the ‘cirrusfb’ module(s) to ‘initrd-modules’ in the image
> > you run at your VPS solves the issue?  
> 
> It would need to be added to the installer. Is there a way to add it
> via grub command line? Alternatively, is there a way to test this from
> a regular guix system console?
> 
> (I’m not sure to what extent I’ll be able to do that — my VPS is now
> serving “important” things. Note that the bug is reproducible on QEMU
> by passing “-vga cirrus”.)

Hi Robert,

it is possible to create your own installation-image from sources. If
you are not familar with, check the manual on how to build Guix from
source. Then I did and can confirm locally:

qemu-system-x86_64 -vga cirrus -monitor stdio -m 1024 -smp 1 -enable-kvm -vnc :0 -cdrom  /home/bjoern/qemu/installer2/guix-system-install-1.0.1.x86_64-linux.iso

This looks expectedly distorted.

On commit (without any changes):

59f79254bbd2cfe31dd063a6949f94e09308e799

I created the installation image:

[env]$ ./pre-inst-env  guix system disk-image --file-system-type=iso9660 gnu/system/install.scm 
[..]
/gnu/store/dp9yj0kv20hzwj70b0qkw2yn9vd2h6s4-image.iso

Starting it in QEMU:

qemu-system-x86_64 -vga cirrus -monitor stdio -m 1024 -smp 1 -enable-kvm -vnc :0 -cdrom /gnu/store/dp9yj0kv20hzwj70b0qkw2yn9vd2h6s4-image.iso

This still has the too small view on the installer.

Then I changed the installer code to add the modules:

[env]$ git diff | more
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 912096027f..3e692a5bdc 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -428,6 +428,8 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
                  (target "/dev/sda")))
     (label (string-append "GNU Guix installation "
                           (package-version guix)))
+    (initrd-modules (append (list "cirrus" "cirrusfb")
+                          %base-initrd-modules))
 
     ;; XXX: The AMD Radeon driver is reportedly broken, which makes kmscon
     ;; non-functional:

Starting the newly built image:

qemu-system-x86_64 -vga cirrus -monitor stdio -m 1024 -smp 1 -enable-kvm -vnc :0 -cdrom /gnu/store/jxpfiagfscrvzjahixa8cx67c9pbqcka-image.iso

And this looks good now :-)

What I haven't done yet:

1. Use only "cirrus"
2. Use only "cirrusfb"
3. Try it out on my VPS.

Björn