--- Begin Message ---
Subject: |
[PATCH 0/8] image: Add MBR based boot support. |
Date: |
Wed, 27 May 2020 09:22:19 +0200 |
Hello,
Until now, only Grub EFI bootloader was supported in (gnu system
image). Installing Grub EFI is as simple as copying a binary (created with
grub-mkstandalone) in a dedicated partition.
Now, for MBR based booting, one needs to run grub-install that does require
root permissions. To overcome this issue, I used a hack inspired from OpenWrt
and Buildroot.
As grub-install is in fact a wrapper around grub-mkimage and grub-bios-setup,
it is possible, with some plumbing and using those two tools, to install Grub
on a raw disk-image, without root permissions.
Thanks,
Mathieu
Mathieu Othacehe (8):
bootloader: Add 'disk-image-installer'.
bootloader: grub: Do not run grub-install when creating a disk-image.
bootloader: grub: Use inheritance to define grub-minimal-bootloader.
image: Add bootloader installation support.
system: image: Correct genimage configuration file indentation.
image: Use grub-efi to install the EFI bootloader.
system: image: Fix image-with-os.
image: Do not use VM to create disk-images.
gnu/bootloader.scm | 5 +-
gnu/bootloader/grub.scm | 80 ++++++++++++++++++++++------
gnu/build/image.scm | 9 +++-
gnu/ci.scm | 20 +++----
gnu/system/image.scm | 113 ++++++++++++++++++----------------------
gnu/tests/install.scm | 8 +--
guix/scripts/system.scm | 16 +++---
guix/utils.scm | 5 ++
8 files changed, 155 insertions(+), 101 deletions(-)
--
2.26.2
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug#41560] [PATCH 8/8] image: Do not use VM to create disk-images. |
Date: |
Fri, 29 May 2020 09:27:12 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Just pushed the serie, taking your remarks into account.
Thanks again for reviewing!
Mathieu
> Mathieu Othacehe <m.othacehe@gmail.com> skribis:
>
>> Now that installing Grub on raw disk-images is supported, we do not need to
>> rely on (gnu system vm) module.
>>
>> * gnu/system/image.scm (make-system-image): Rename to ...
>> (system-image): ... this, and remove the compatibility wrapper.
>> (find-image): Turn to a monadic procedure. This will become useful when
>> introducing Hurd support, to be able to detect the target system.
>> * gnu/ci.scm (qemu-jobs): Use lower-object now that system-image returns a
>> file-like object.
>> * gnu/tests/install.scm (run-install): Ditto.
>> * guix/scripts/system.scm (system-derivation-for-action): Add a 'base-image'
>> argument,
>> (perform-action): adapt accordingly.
>
> Yay! \o/
>
> Thank you,
> Ludo’.
--- End Message ---