unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* bug#26334: [PATCH 1/1] system: grub: Enable the use of a non-graphical GRUB menu.
@ 2017-04-01 20:22 Leo Famulari
  2017-04-01 22:15 ` Ludovic Courtès
  2017-05-11  7:39 ` bug#26334: CLOSED " Leo Famulari
  0 siblings, 2 replies; 8+ messages in thread
From: Leo Famulari @ 2017-04-01 20:22 UTC (permalink / raw)
  To: 26334

* gnu/system/grub.scm (<grub-configuration>)[graphical?]: New field.
(eye-candy)[setup-gfxterm-body]: Use 'graphical?'.
* doc/guix.texi (GRUB Configuration): Document 'graphical?'.
---
 doc/guix.texi       |  4 ++++
 gnu/system/grub.scm | 14 +++++++++++---
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 8da82b4d8..75fc76396 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -14915,6 +14915,10 @@ The @code{grub-theme} object describing the theme to use.
 
 @item @code{grub} (default: @code{grub})
 The GRUB package to use.
+
+@item @code{graphical?} (default: @code{#t})
+A Boolean field that controls whether the GRUB boot menu is graphical or
+text-based.
 @end table
 
 @end deftp
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index 4f9bde6a6..ad1bc8768 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -117,7 +117,9 @@ denoting a file name."
   (timeout         grub-configuration-timeout        ; integer
                    (default 5))
   (theme           grub-configuration-theme          ; <grub-theme>
-                   (default %default-theme)))
+                   (default %default-theme))
+  (graphical?      grub-configuration-graphical?     ; boolean
+                   (default #t)))
 
 (define-record-type* <menu-entry>
   menu-entry make-menu-entry
@@ -181,6 +183,7 @@ system string---e.g., \"x86_64-linux\"."
     ;; most other modern architectures have no other mode and therefore don't
     ;; need to be switched.
     (if (string-match "^(x86_64|i[3-6]86)-" system)
+      (string-append
         "
   # Leave 'gfxmode' to 'auto'.
   insmod video_bochs
@@ -198,10 +201,15 @@ system string---e.g., \"x86_64-linux\"."
     insmod vbe
     insmod vga
   fi
-
+"
+        (if (grub-configuration-graphical? config)
+          "
   terminal_output gfxterm
 "
-        ""))
+          "
+  terminal_output console
+")
+        "")))
 
   (define (theme-colors type)
     (let* ((theme  (grub-configuration-theme config))
-- 
2.12.2

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

* bug#26334: [PATCH 1/1] system: grub: Enable the use of a non-graphical GRUB menu.
  2017-04-01 20:22 bug#26334: [PATCH 1/1] system: grub: Enable the use of a non-graphical GRUB menu Leo Famulari
@ 2017-04-01 22:15 ` Ludovic Courtès
  2017-04-01 22:43   ` Leo Famulari
  2017-05-11  7:39 ` bug#26334: CLOSED " Leo Famulari
  1 sibling, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2017-04-01 22:15 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 26334

Hello!

Leo Famulari <leo@famulari.name> skribis:

> * gnu/system/grub.scm (<grub-configuration>)[graphical?]: New field.
> (eye-candy)[setup-gfxterm-body]: Use 'graphical?'.
> * doc/guix.texi (GRUB Configuration): Document 'graphical?'.

Would it be possible to detect whether graphical output is available
only in GRUB code?  Or is the use case a situation where graphical
output *is* supported but somehow undesirable?

Thanks,
Ludo’.

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

* bug#26334: [PATCH 1/1] system: grub: Enable the use of a non-graphical GRUB menu.
  2017-04-01 22:15 ` Ludovic Courtès
@ 2017-04-01 22:43   ` Leo Famulari
  2017-04-02  0:06     ` ng0
  2017-04-02  8:34     ` Ludovic Courtès
  0 siblings, 2 replies; 8+ messages in thread
From: Leo Famulari @ 2017-04-01 22:43 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 26334

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

On Sun, Apr 02, 2017 at 12:15:54AM +0200, Ludovic Courtès wrote:
> Would it be possible to detect whether graphical output is available
> only in GRUB code?

I'm far from a GRUB expert...

Apparently, the terminal input and output devices default to the
"platform's native terminal {input,output}":
https://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html

> Or is the use case a situation where graphical output *is* supported
> but somehow undesirable?

Yes, that is a potential use case. For example, I have a system based on
an embedded system-on-a-chip that includes a GPU, but no physical video
ports; I must use the serial port.

I also have this use case on a laptop as a consequence of
<https://bugs.gnu.org/24948>.

For both of those systems, I've been using a different patch that
has the same effect on the generated grub.cfg.

Perhaps instead of a graphical? toggle, we could expose the different
values of GRUB_TERMINAL_OUTPUT and GRUB_TERMINAL_INPUT:

https://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html

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

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

* bug#26334: [PATCH 1/1] system: grub: Enable the use of a non-graphical GRUB menu.
  2017-04-02  0:06     ` ng0
@ 2017-04-01 23:16       ` Leo Famulari
  2017-04-02  8:31       ` Ludovic Courtès
  1 sibling, 0 replies; 8+ messages in thread
From: Leo Famulari @ 2017-04-01 23:16 UTC (permalink / raw)
  To: Ludovic Courtès, 26334

On Sun, Apr 02, 2017 at 12:06:38AM +0000, ng0 wrote:
> Ludovic, for me this is for getting agetty work correctly with the
> IN-Berlin facilities for their kvm vserver redirection to the real
> server.

Right, remote consoles are another use case for a non-graphical GRUB
menu.

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

* bug#26334: [PATCH 1/1] system: grub: Enable the use of a non-graphical GRUB menu.
  2017-04-01 22:43   ` Leo Famulari
@ 2017-04-02  0:06     ` ng0
  2017-04-01 23:16       ` Leo Famulari
  2017-04-02  8:31       ` Ludovic Courtès
  2017-04-02  8:34     ` Ludovic Courtès
  1 sibling, 2 replies; 8+ messages in thread
From: ng0 @ 2017-04-02  0:06 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 26334

Hi Leo,

thanks for publishing it this quickly :)

Leo Famulari transcribed 2.1K bytes:
> On Sun, Apr 02, 2017 at 12:15:54AM +0200, Ludovic Courtès wrote:
> > Would it be possible to detect whether graphical output is available
> > only in GRUB code?
> 
> I'm far from a GRUB expert...
> 
> Apparently, the terminal input and output devices default to the
> "platform's native terminal {input,output}":
> https://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html
> 
> > Or is the use case a situation where graphical output *is* supported
> > but somehow undesirable?

Ludovic, for me this is for getting agetty work correctly with the
IN-Berlin facilities for their kvm vserver redirection to the real
server.
(going off-topic:)
I plan to get them into the loop of Guix Deploy. What's the status of
that meta project by the way? I don't live in Berlin but as I don't
think if Ricardo is even remotely interested (or has the time) to meet
with IN-Berlin and introduce them to Guix on servers. My idea is
roughly to check what their requirements for servers are, their
workflow, what they'd like to see improved and use this as a feedback
for the (yet to be developed) deploy function.
Furthermore I'd like to work an intermediate way for providing GuixSD
images which fit their use case without relying on myself as a provider.
Their requirement (as I see it from my position and experience with
them) is that the users ssh-pubkey is used for machine access from the
beginning on instead of password based login. So a way to define it in
the systemconfig would be one requirement I see.

> Yes, that is a potential use case. For example, I have a system based on
> an embedded system-on-a-chip that includes a GPU, but no physical video
> ports; I must use the serial port.
> 
> I also have this use case on a laptop as a consequence of
> <https://bugs.gnu.org/24948>.
> 
> For both of those systems, I've been using a different patch that
> has the same effect on the generated grub.cfg.
> 
> Perhaps instead of a graphical? toggle, we could expose the different
> values of GRUB_TERMINAL_OUTPUT and GRUB_TERMINAL_INPUT:
> 
> https://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html

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

* bug#26334: [PATCH 1/1] system: grub: Enable the use of a non-graphical GRUB menu.
  2017-04-02  0:06     ` ng0
  2017-04-01 23:16       ` Leo Famulari
@ 2017-04-02  8:31       ` Ludovic Courtès
  1 sibling, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2017-04-02  8:31 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 26334

Heya!

ng0 <contact.ng0@cryptolab.net> skribis:

> (going off-topic:)
> I plan to get them into the loop of Guix Deploy. What's the status of
> that meta project by the way?

You can check the ‘wip-deploy’ branch: it has initial interfaces, but
very little is implemented at this point.  Most of the building blocks
are there, though.

Ludo’.

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

* bug#26334: [PATCH 1/1] system: grub: Enable the use of a non-graphical GRUB menu.
  2017-04-01 22:43   ` Leo Famulari
  2017-04-02  0:06     ` ng0
@ 2017-04-02  8:34     ` Ludovic Courtès
  1 sibling, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2017-04-02  8:34 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 26334

Hi Leo!

Leo Famulari <leo@famulari.name> skribis:

> On Sun, Apr 02, 2017 at 12:15:54AM +0200, Ludovic Courtès wrote:
>> Would it be possible to detect whether graphical output is available
>> only in GRUB code?
>
> I'm far from a GRUB expert...
>
> Apparently, the terminal input and output devices default to the
> "platform's native terminal {input,output}":
> https://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html
>
>> Or is the use case a situation where graphical output *is* supported
>> but somehow undesirable?
>
> Yes, that is a potential use case. For example, I have a system based on
> an embedded system-on-a-chip that includes a GPU, but no physical video
> ports; I must use the serial port.
>
> I also have this use case on a laptop as a consequence of
> <https://bugs.gnu.org/24948>.

Oh right.

> For both of those systems, I've been using a different patch that
> has the same effect on the generated grub.cfg.
>
> Perhaps instead of a graphical? toggle, we could expose the different
> values of GRUB_TERMINAL_OUTPUT and GRUB_TERMINAL_INPUT:
>
> https://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html

Yes, that makes sense to me.  So I’d say add a ‘terminal-output’ field
instead of ‘graphical?’, have that default to "gfxterm" (in which case
it does the current “if loadfont…; setup_gfxterm; fi”).

WDYT?

Thanks!

Ludo’.

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

* bug#26334: CLOSED [PATCH 1/1] system: grub: Enable the use of a non-graphical GRUB menu.
  2017-04-01 20:22 bug#26334: [PATCH 1/1] system: grub: Enable the use of a non-graphical GRUB menu Leo Famulari
  2017-04-01 22:15 ` Ludovic Courtès
@ 2017-05-11  7:39 ` Leo Famulari
  1 sibling, 0 replies; 8+ messages in thread
From: Leo Famulari @ 2017-05-11  7:39 UTC (permalink / raw)
  To: 26334-done

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

Closing in favor of <https://bugs.gnu.org/26875>.

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

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

end of thread, other threads:[~2017-05-11  7:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-01 20:22 bug#26334: [PATCH 1/1] system: grub: Enable the use of a non-graphical GRUB menu Leo Famulari
2017-04-01 22:15 ` Ludovic Courtès
2017-04-01 22:43   ` Leo Famulari
2017-04-02  0:06     ` ng0
2017-04-01 23:16       ` Leo Famulari
2017-04-02  8:31       ` Ludovic Courtès
2017-04-02  8:34     ` Ludovic Courtès
2017-05-11  7:39 ` bug#26334: CLOSED " Leo Famulari

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