[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails
From: |
Ludovic Courtès |
Subject: |
bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails |
Date: |
Thu, 15 Dec 2022 00:29:32 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> skribis:
> Ludovic Courtès <ludo@gnu.org> writes:
>> Do you see hints as to whether uvesafb gets loaded?
>>
>> You can do that by adding “console=ttyS0” to the kernel arguments and by
>> passing ‘-serial stdio’ to QEMU.
>
> This serial output shows nothing about uvesafb, but dmesg contains about
> uvesafb exactly the same modprobe failure as initially without
> LINUX_MODULE_DIRECTORY.
Oooh. ‘invoke’ uses ‘system*’, and in shepherd 0.9.3, ‘system*’ is
implemented in terms of ‘fork+exec-command’, which only passes the
environment variables listed in ‘default-environment-variables’ by
default. Thus, (setenv "LINUX_MODULE_DIRECTORY" …) had no effect on the
child process; it just wouldn’t see LINUX_MODULE_DIRECTORY.
I think the patch below will be good… or very close to it.
Lemme know!
Thanks,
Ludo’.
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index f6f1923121..e524729baf 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -289,11 +289,21 @@ (define (uvesafb-shepherd-service _)
(provision '(maybe-uvesafb))
(requirement '(file-systems))
(start #~(lambda ()
- (or (file-exists? "/dev/fb0")
+ (unless (file-exists? "/dev/fb0")
+ ;; In shepherd 0.9.3, 'system*' is implemented in terms
+ ;; of 'fork+exec-command'. Thus, set
+ ;; 'default-environment-variables' to pass an extra
+ ;; variable to the child process.
+ (parameterize ((default-environment-variables
+
`("LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules"
+ ,(environ))))
+ ;; TODO: Use 'load-linux-modules-from-directory'
+ ;; instead.
(invoke #+(file-append kmod "/bin/modprobe")
"uvesafb"
(string-append "v86d=" #$v86d "/sbin/v86d")
- "mode_option=1024x768"))))
+ "mode_option=1024x768"))
+ #t)))
(respawn? #f)
(one-shot? #t))))
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails, pelzflorian (Florian Pelz), 2022/12/12
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails, Josselin Poiret, 2022/12/12
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails, Ludovic Courtès, 2022/12/12
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails, Ludovic Courtès, 2022/12/13
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails, pelzflorian (Florian Pelz), 2022/12/13
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails, Ludovic Courtès, 2022/12/13
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails, pelzflorian (Florian Pelz), 2022/12/14
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails,
Ludovic Courtès <=
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails, pelzflorian (Florian Pelz), 2022/12/15
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails, Ludovic Courtès, 2022/12/15
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails, pelzflorian (Florian Pelz), 2022/12/16
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails, pelzflorian (Florian Pelz), 2022/12/13
- bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails, Ludovic Courtès, 2022/12/13