On Fri, Mar 20, 2020 at 09:48:50AM +0100, pelzflorian (Florian Pelz) wrote:
> The attached patch […]
Forgot attachment …
>From 2dd61d18b88f197d8d6951fe1dc97bafdf4fe03f Mon Sep 17 00:00:00 2001
From: Florian Pelz <pelzflor...@pelzflorian.de>
Date: Thu, 19 Mar 2020 15:50:00 +0100
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Subject: [PATCH 3/3] [for TESTING, only works for some machines] installer:
 Run installer in uvesafb.

* gnu/system/install.scm (installation-os): Load uvesafb before installer.
---
 gnu/system/install.scm | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index c15c2c7814..88db4320b0 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -50,6 +50,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages nvi)
+  #:use-module (gnu packages xorg)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-26)
   #:export (installation-os
@@ -304,8 +305,34 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
     (define bare-bones-os
       (load "examples/bare-bones.tmpl"))
 
+    (define (insmod-uvesafb-activation value)
+      #~(begin
+          (use-modules (guix build utils))
+          (symlink #$(file-append linux-libre "/lib") "/lib")))
+
+    (define (insmod-uvesafb-shepherd-service _)
+      (list (shepherd-service
+             (provision '(insmod-uvesafb))
+             (requirement '(user-processes udev dbus-system))
+             (start #~(make-forkexec-constructor
+                       (list #+(file-append kmod "/bin/modprobe") "uvesafb"
+                             (string-append "v86d=" #$v86d "/sbin/v86d")
+                             "mode_option=1024x768")))
+             (stop #~(make-kill-destructor))
+             (one-shot? #t))))
+
     (list (service virtual-terminal-service-type)
 
+          (service
+           (service-type (name 'insmod-uvesafb)
+                         (extensions
+                          (list (service-extension activation-service-type
+                                                   insmod-uvesafb-activation)
+                                (service-extension shepherd-root-service-type
+                                                   
insmod-uvesafb-shepherd-service)))
+                         (description "Start uvesafb."))
+           #t)
+
           (service kmscon-service-type
                    (kmscon-configuration
                     (virtual-terminal "tty1")
@@ -434,7 +461,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
     ;; non-functional:
     ;; <https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00441.html>.
     ;; Thus, blacklist it.
-    (kernel-arguments '("quiet" "modprobe.blacklist=radeon"))
+    (kernel-arguments '("quiet" "modprobe.blacklist=radeon" "nomodeset"))
 
     (file-systems
      ;; Note: the disk image build code overrides this root file system with
-- 
2.25.1

Reply via email to