From: Mathieu Othacehe <m.othacehe@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 26339@debbugs.gnu.org
Subject: bug#26339: [PATCH v4 1/7] bootloader: Add extlinux support.
Date: Tue, 16 May 2017 14:51:44 +0200 [thread overview]
Message-ID: <86h90lt15r.fsf@gmail.com> (raw)
In-Reply-To: <87lgpzwoxj.fsf@gnu.org>
Hi Ludo,
> Nice! Some very minor comments before you push:
Thank you :)
> Only two semicolons here. :-)
Ok.
>
>> + (theme bootloader-theme
>> + (default #f))
>
> I would expect the theme to be part of <bootloader-configuration> rather
> than <bootloader> no? For example GRUB does not impose a particular
> theme.
Ok I moved it to <bootloader-configuration>.
>
>> +(define dd
>> + #~(lambda (bs count if of)
>> + (zero? (system* "dd"
>> + (string-append "bs=" (number->string bs))
>> + (string-append "count=" (number->string count))
>> + (string-append "if=" if)
>> + (string-append "of=" of)))))
>
> Dunno but in the future it may be better to use ‘dump-port’ from (guix
> build utils) than to invoke ‘dd’.
Ok, I'll consider it in a follow-up serie.
>
>> +(define install-syslinux
>> + #~(lambda (bootloader device mount-point)
>> + (let ((extlinux (string-append bootloader "/sbin/extlinux"))
>> + (install-dir (string-append mount-point "/boot/extlinux"))
>> + (syslinux-dir (string-append bootloader "/share/syslinux")))
>> + (mkdir-p install-dir)
>> + (for-each (lambda (file)
>> + (copy-file file
>> + (string-append install-dir "/" (basename file))))
>
> Rather: (install-file file install-dir).
Ok.
>
>> +;;;
>> +;;; Bootloader definitions.
>> +;;;
>> +
>> +(define extlinux-bootloader
>> + (bootloader
>> + (name 'extlinux)
>> + (package #f)
>> + (installer #f)
>
> Why #f here? Looks fishy.
It turns out that the distinction between extlinux and syslinux was
weird in David serie. "extlinux" bootloader was no installing anything.
My understanding is that extlinux is one of the bootloaders provided by
the syslinux package. So, I removed the notion of "syslinux-bootloader"
and only kepy an "extlinux-bootloader" before applying.
>
>> +;;;
>> +;;; Compatibility macros.
>> +;;;
>> +
>> +(define-syntax-rule (extlinux-configuration fields ...)
>> + (bootloader-configuration
>> + (bootloader extlinux-bootloader)
>> + fields ...))
>> +
>> +(define-syntax-rule (syslinux-configuration fields ...)
>> + (bootloader-configuration
>> + (bootloader syslinux-bootloader)
>> + fields ...))
>
> We can omit these two macros since they have never existed before this
> patch. New users will write:
>
> (bootloader-configuration
> (bootloader syslinux-bootloader)
> …)
Ok.
>
> Speaking of which, could you update guix.texi, maybe in a subsequent
> patch to avoid blocking this one? I suppose “GRUB Configuration” would
> have to be renamed to “Bootloader Configuration”.
>
>> +;;;
>> +;;; Compatibility macros.
>> +;;;
>> +
>> +(define-syntax-rule (grub-configuration fields ...)
>> + (bootloader-configuration
>> + (bootloader grub-bootloader)
>> + fields ...))
>> +
>> +(define-syntax-rule (grub-efi-configuration fields ...)
>> + (bootloader-configuration
>> + (bootloader grub-efi-bootloader)
>> + fields ...))
>
> The second macro can be removed (it did not exist before).
>
> However the first one might need to be improved to be really compatible
> with what exists now. For instance, my laptop’s config has this:
>
> (grub-configuration
> (grub grub-efi)
> (device "/dev/sda"))
>
> So we probably need something like this (untested):
>
> (define-syntax grub-configuration
> (syntax-rules (grub)
> ((_ (grub package) fields ...)
> (if (eq? package grub)
> (bootloader-configuration
> (bootloader grub-bootloader)
> fields ...)
> (bootloader-configuration
> (bootloader grub-efi-bootloader)
> fields ...)))
> ((_ fields ...)
> (bootloader-configuration
> (bootloader grub-bootloader)
> fields ...))))
>
> This will only address the simple case where the ‘grub’ field comes
> first, but that should be OK (esp. since UEFI support was not documented
> until now…).
It seems to work ok, I took it :)
Thanks,
Mathieu
next prev parent reply other threads:[~2017-05-16 12:52 UTC|newest]
Thread overview: 204+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-02 13:49 bug#26339: [PATCH 00/18] wip: Support non grub bootloaders Mathieu Othacehe
2017-04-02 13:52 ` bug#26339: [PATCH 01/18] system: Pass <bootloader-parameter> to grub Mathieu Othacehe
2017-04-02 13:52 ` bug#26339: [PATCH 02/18] system: Add extlinux support Mathieu Othacehe
2017-04-15 16:03 ` Danny Milosavljevic
2017-05-08 20:06 ` Ludovic Courtès
2017-05-09 7:38 ` Mathieu Othacehe
2017-05-09 9:51 ` Ludovic Courtès
2017-05-09 14:30 ` Mathieu Othacehe
2017-05-09 20:40 ` Ludovic Courtès
2017-05-12 0:02 ` Danny Milosavljevic
2017-05-12 8:26 ` Ludovic Courtès
2017-05-12 11:26 ` Danny Milosavljevic
2017-05-12 11:36 ` Ludovic Courtès
2017-05-12 12:18 ` Mathieu Othacehe
2017-05-13 9:53 ` Danny Milosavljevic
2017-05-14 7:49 ` Mathieu Othacehe
2017-05-09 10:25 ` Ludovic Courtès
2017-05-09 14:32 ` Mathieu Othacehe
2017-04-02 13:52 ` bug#26339: [PATCH 03/18] scripts: system: Rename --no-grub option to --no-bootloader Mathieu Othacehe
2017-04-15 10:10 ` Danny Milosavljevic
2017-04-16 9:58 ` Ludovic Courtès
2017-04-02 13:52 ` bug#26339: [PATCH 04/18] bootloader: Add install procedures and use them Mathieu Othacehe
2017-04-15 16:22 ` Danny Milosavljevic
2017-04-15 17:15 ` Mathieu Othacehe
2017-04-16 21:37 ` Danny Milosavljevic
2017-04-17 8:49 ` Mathieu Othacehe
2017-04-18 8:23 ` Ludovic Courtès
2017-04-02 13:52 ` bug#26339: [PATCH 05/18] system: Rename operating-system-grub.cfg to operating-system-bootcfg Mathieu Othacehe
2017-04-15 12:44 ` Danny Milosavljevic
2017-04-02 13:52 ` bug#26339: [PATCH 06/18] vm: Reword grub.cfg to boot.cfg Mathieu Othacehe
2017-04-15 12:43 ` Danny Milosavljevic
2017-04-02 13:52 ` bug#26339: [PATCH 07/18] system: Add bootloader type Mathieu Othacehe
2017-04-15 16:26 ` Danny Milosavljevic
2017-04-15 17:23 ` Mathieu Othacehe
2017-04-15 20:16 ` Danny Milosavljevic
2017-04-02 13:52 ` bug#26339: [PATCH 08/18] bootloader: Stop using grub module Mathieu Othacehe
2017-04-15 13:33 ` Danny Milosavljevic
2017-04-15 16:44 ` Danny Milosavljevic
2017-04-02 13:52 ` bug#26339: [PATCH 09/18] scripts: system: Move save-load-path-excursion and save-environment-excursion macros to the top Mathieu Othacehe
2017-04-15 10:35 ` Danny Milosavljevic
2017-04-15 10:46 ` Mathieu Othacehe
2017-04-15 11:30 ` Danny Milosavljevic
2017-04-15 11:41 ` Mathieu Othacehe
2017-04-15 11:52 ` Danny Milosavljevic
2017-04-02 13:52 ` bug#26339: [PATCH 10/18] system: Rename kernel->grub-label to kernel->boot-label Mathieu Othacehe
2017-04-15 10:40 ` Danny Milosavljevic
2017-04-02 13:52 ` bug#26339: [PATCH 11/18] bootloader: Add device and type to bootloader-configuration record Mathieu Othacehe
2017-04-02 13:52 ` bug#26339: [PATCH 12/18] system: Rename grub-device to fs->boot-device Mathieu Othacehe
2017-04-15 12:45 ` Danny Milosavljevic
2017-04-02 13:52 ` bug#26339: [PATCH 13/18] scripts: system: Remove unused variables Mathieu Othacehe
2017-04-02 13:52 ` bug#26339: [PATCH 14/18] scripts: system: Rename grub? and install-grub? to bootloader? and install-bootloader? Mathieu Othacehe
2017-04-15 13:25 ` Danny Milosavljevic
2017-04-02 13:52 ` bug#26339: [PATCH 15/18] scripts: system: Adapt "reconfigure" to new bootloader API Mathieu Othacehe
2017-04-02 13:52 ` bug#26339: [PATCH 16/18] scripts: system: Adapt "init" " Mathieu Othacehe
2017-04-02 13:52 ` bug#26339: [PATCH 17/18] scripts: system: Adapt "switch-generation" " Mathieu Othacehe
2017-04-15 16:47 ` Danny Milosavljevic
2017-04-15 17:27 ` Mathieu Othacehe
2017-05-05 7:13 ` Danny Milosavljevic
2017-05-05 7:21 ` Mathieu Othacehe
2017-04-15 18:17 ` problem with commit abae042 Mathieu Othacehe
2017-04-15 18:56 ` Danny Milosavljevic
2017-04-15 19:13 ` Mathieu Othacehe
2017-04-15 19:50 ` bootloader and kernel arguments "--root", "--system", "--load" Danny Milosavljevic
2017-04-15 23:18 ` bug#26339: problem with commit abae042 Leo Famulari
2017-04-15 23:22 ` Danny Milosavljevic
2017-04-15 23:56 ` Leo Famulari
2017-04-02 13:52 ` bug#26339: [PATCH 18/18] scripts: system: Display bootloader device and type in "list-generations" Mathieu Othacehe
2017-04-02 18:24 ` bug#26339: [PATCH 01/18] system: Pass <bootloader-parameter> to grub David Craven
2017-04-15 13:04 ` Danny Milosavljevic
2017-04-15 13:58 ` Danny Milosavljevic
2017-04-15 15:39 ` Danny Milosavljevic
2017-04-15 20:17 ` Danny Milosavljevic
2017-04-17 9:01 ` bug#26339: [PATCH v2 00/12] Support for non grub bootloaders Mathieu Othacehe
2017-04-17 9:01 ` bug#26339: [PATCH v2 01/12] system: Pass <bootloader-parameter> to grub Mathieu Othacehe
2017-04-17 17:08 ` Danny Milosavljevic
2017-05-08 9:37 ` Ludovic Courtès
2017-05-08 13:51 ` Danny Milosavljevic
2017-05-08 15:00 ` Mathieu Othacehe
2017-05-09 14:16 ` Marius Bakke
2017-05-09 14:36 ` Mathieu Othacehe
2017-05-08 19:47 ` Ludovic Courtès
2017-05-08 20:04 ` Danny Milosavljevic
2017-05-09 7:03 ` Ludovic Courtès
2017-05-09 7:21 ` Danny Milosavljevic
2017-05-09 9:45 ` Ludovic Courtès
2017-05-08 20:16 ` bug#26339: [PATCH] system: Remove circular dependency between (gnu system) and (gnu system grub) Danny Milosavljevic
2017-05-08 21:01 ` Danny Milosavljevic
2017-05-08 14:53 ` bug#26339: [PATCH v2 01/12] system: Pass <bootloader-parameter> to grub Mathieu Othacehe
2017-04-17 9:01 ` bug#26339: [PATCH v2 02/12] system: Add extlinux support Mathieu Othacehe
2017-04-17 9:01 ` bug#26339: [PATCH v2 03/12] scripts: system: Rename --no-grub option to --no-bootloader Mathieu Othacehe
2017-04-17 15:54 ` Danny Milosavljevic
2017-04-17 9:01 ` bug#26339: [PATCH v2 04/12] bootloader: Add install procedures and use them Mathieu Othacehe
2017-04-17 9:01 ` bug#26339: [PATCH v2 05/12] system: Add bootloader type Mathieu Othacehe
2017-04-17 9:01 ` bug#26339: [PATCH v2 06/12] bootloader: Stop using grub module Mathieu Othacehe
2017-04-17 9:01 ` bug#26339: [PATCH v2 07/12] bootloader: Add device and type to bootloader-configuration record Mathieu Othacehe
2017-04-17 9:01 ` bug#26339: [PATCH v2 08/12] scripts: system: Remove unused variables Mathieu Othacehe
2017-04-17 9:01 ` bug#26339: [PATCH v2 09/12] scripts: system: Adapt "reconfigure" to new bootloader API Mathieu Othacehe
2017-04-17 9:01 ` bug#26339: [PATCH v2 10/12] scripts: system: Adapt "init" " Mathieu Othacehe
2017-04-23 8:39 ` Danny Milosavljevic
2017-04-23 8:53 ` Danny Milosavljevic
2017-04-23 16:38 ` Mathieu Othacehe
2017-04-23 16:34 ` Mathieu Othacehe
2017-04-17 9:01 ` bug#26339: [PATCH v2 11/12] scripts: system: Adapt "switch-generation" " Mathieu Othacehe
2017-04-17 9:01 ` bug#26339: [PATCH v2 12/12] scripts: system: Display bootloader device and type in "list-generations" Mathieu Othacehe
2017-05-06 15:41 ` bug#26339: [PATCH v3 0/9] Support non-grub bootloaders Mathieu Othacehe
2017-05-06 15:41 ` bug#26339: [PATCH v3 1/9] system: Add extlinux support Mathieu Othacehe
2017-05-07 16:41 ` Danny Milosavljevic
2017-05-07 20:01 ` Mathieu Othacehe
2017-05-06 15:41 ` bug#26339: [PATCH v3 2/9] bootloader: Add install procedures and use them Mathieu Othacehe
2017-05-07 16:52 ` Danny Milosavljevic
2017-05-06 15:41 ` bug#26339: [PATCH v3 3/9] system: Add bootloader type Mathieu Othacehe
2017-05-07 16:55 ` Danny Milosavljevic
2017-05-06 15:41 ` bug#26339: [PATCH v3 4/9] bootloader: Stop using grub module Mathieu Othacehe
2017-05-07 16:53 ` Danny Milosavljevic
2017-05-06 15:41 ` bug#26339: [PATCH v3 5/9] bootloader: Add device and type to bootloader-configuration record Mathieu Othacehe
2017-05-07 20:59 ` Danny Milosavljevic
2017-05-06 15:41 ` bug#26339: [PATCH v3 6/9] scripts: system: Adapt "reconfigure" to new bootloader API Mathieu Othacehe
2017-05-07 20:33 ` Danny Milosavljevic
2017-05-07 20:56 ` Danny Milosavljevic
2017-05-08 16:24 ` Mathieu Othacehe
2017-05-08 16:21 ` Mathieu Othacehe
2017-05-07 21:14 ` Danny Milosavljevic
2017-05-08 16:27 ` Mathieu Othacehe
2017-05-06 15:41 ` bug#26339: [PATCH v3 7/9] scripts: system: Adapt "init" " Mathieu Othacehe
2017-05-07 21:08 ` Danny Milosavljevic
2017-05-08 16:26 ` Mathieu Othacehe
2017-05-06 15:41 ` bug#26339: [PATCH v3 8/9] scripts: system: Adapt "switch-generation" " Mathieu Othacehe
2017-05-07 20:54 ` Danny Milosavljevic
2017-05-08 16:22 ` Mathieu Othacehe
2017-05-06 15:41 ` bug#26339: [PATCH v3 9/9] scripts: system: Display bootloader device and type in "list-generations" Mathieu Othacehe
2017-05-07 16:57 ` Danny Milosavljevic
2017-05-14 7:47 ` bug#26339: [PATCH v4 0/7] Support non grub bootloaders Mathieu Othacehe
2017-05-14 7:47 ` bug#26339: [PATCH v4 1/7] bootloader: Add extlinux support Mathieu Othacehe
2017-05-14 8:43 ` Danny Milosavljevic
2017-05-16 12:46 ` Mathieu Othacehe
2017-05-14 13:25 ` Ludovic Courtès
2017-05-16 12:51 ` Mathieu Othacehe [this message]
2017-05-16 14:38 ` Danny Milosavljevic
2017-05-16 14:50 ` Mathieu Othacehe
2017-05-16 15:00 ` Danny Milosavljevic
2017-05-16 15:03 ` Mathieu Othacehe
2017-05-14 13:35 ` Ludovic Courtès
2017-05-16 12:55 ` Mathieu Othacehe
2017-05-14 7:47 ` bug#26339: [PATCH v4 2/7] bootloader: Adapt vm to new bootloader API Mathieu Othacehe
2017-05-14 8:47 ` Danny Milosavljevic
2017-05-14 13:28 ` Ludovic Courtès
2017-05-14 14:59 ` Danny Milosavljevic
2017-05-14 19:53 ` Ludovic Courtès
2017-05-14 7:47 ` bug#26339: [PATCH v4 3/7] bootloader: Add bootloader name to boot-parameters record Mathieu Othacehe
2017-05-14 8:47 ` Danny Milosavljevic
2017-05-14 13:29 ` Ludovic Courtès
2017-05-14 7:48 ` bug#26339: [PATCH v4 4/7] scripts: system: Adapt "reconfigure" to new bootloader API Mathieu Othacehe
2017-05-14 8:50 ` Danny Milosavljevic
2017-05-14 13:31 ` Ludovic Courtès
2017-05-14 7:48 ` bug#26339: [PATCH v4 5/7] scripts: system: Adapt "init" " Mathieu Othacehe
2017-05-14 8:51 ` Danny Milosavljevic
2017-05-14 13:31 ` Ludovic Courtès
2017-05-14 7:48 ` bug#26339: [PATCH v4 6/7] scripts: system: Adapt "switch-generation" " Mathieu Othacehe
2017-05-14 8:52 ` Danny Milosavljevic
2017-05-14 13:32 ` Ludovic Courtès
2017-05-14 8:54 ` Danny Milosavljevic
2017-05-16 12:46 ` Mathieu Othacehe
2017-05-14 7:48 ` bug#26339: [PATCH v4 7/7] scripts: system: Display bootloader name in "list-generations" Mathieu Othacehe
2017-05-14 13:33 ` Ludovic Courtès
2017-05-16 13:03 ` bug#26339: [PATCH] doc: Adapt to multiple bootloader support Mathieu Othacehe
2017-05-20 20:49 ` Danny Milosavljevic
2017-05-22 8:11 ` Mathieu Othacehe
2017-05-20 21:12 ` Tomáš Čech
2017-05-20 21:19 ` Mathieu Othacehe
2017-05-18 10:13 ` bug#26339: [PATCH] bootloader: extlinux: Add extlinux-bootloader-gpt Mathieu Othacehe
2017-06-12 20:23 ` [bug#26339] " Ludovic Courtès
2017-06-13 17:52 ` Mathieu Othacehe
2017-06-14 7:37 ` Ludovic Courtès
2017-06-13 14:34 ` Danny Milosavljevic
2017-05-18 10:26 ` bug#26339: [PATCH] tests: Add syslinux gpt test Mathieu Othacehe
2017-06-12 20:29 ` [bug#26339] " Ludovic Courtès
2017-06-19 16:55 ` Mathieu Othacehe
2017-06-20 20:13 ` Ludovic Courtès
2017-06-21 8:05 ` Mathieu Othacehe
2017-05-21 13:57 ` bug#26339: [PATCH] scripts: system: Handle unspecified bootloader package and installer Mathieu Othacehe
2017-06-12 20:32 ` [bug#26339] " Ludovic Courtès
2017-06-10 8:53 ` bug#26339: [PATCH] bootloader: Rename boot-name to bootloader-name Mathieu Othacehe
2017-06-10 14:26 ` Ludovic Courtès
2017-06-10 16:33 ` Mathieu Othacehe
2017-06-11 8:42 ` Mathieu Othacehe
2017-06-11 9:54 ` bug#26339: "extlinux", "extlinux" gpt, bootloader-configuration without package nor installer Danny Milosavljevic
2017-06-11 10:13 ` Danny Milosavljevic
2017-06-12 9:58 ` [bug#26339] " Mathieu Othacehe
2017-06-12 20:09 ` Ludovic Courtès
2017-06-12 20:20 ` Ludovic Courtès
2017-06-13 5:07 ` Danny Milosavljevic
2017-10-04 14:55 ` Ludovic Courtès
2017-10-04 19:56 ` Mathieu Othacehe
2017-10-13 14:08 ` bug#26339: closing bootloader serie Mathieu Othacehe
2017-10-13 15:31 ` [bug#26339] " Ludovic Courtès
2017-10-26 9:43 ` Mathieu Othacehe
2017-10-26 17:14 ` Ludovic Courtès
2017-10-26 17:33 ` Mathieu Othacehe
2017-10-26 22:20 ` Ludovic Courtès
2017-10-27 7:52 ` bug#26339: " Mathieu Othacehe
2017-10-29 15:47 ` Ludovic Courtès
2017-11-09 10:47 ` GuixSD on armhf Mathieu Othacehe
2017-11-10 23:39 ` Chris Marusich
2017-11-11 11:35 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86h90lt15r.fsf@gmail.com \
--to=m.othacehe@gmail.com \
--cc=26339@debbugs.gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.