Archived
1
0
Fork 0
Commit graph

257 commits

Author SHA1 Message Date
Marius Bakke
d15972194a
gnu: ipxe: Enable syslinux only on i686-linux and x86_64-linux.
* gnu/packages/bootloaders.scm (ipxe)[native-inputs]: Conditionally add
SYSLINUX.
[arguments]: Adjust accordingly.
2023-01-07 21:04:27 +01:00
Marius Bakke
b435f631a6
gnu: ipxe: Use G-expression.
* gnu/packages/bootloaders.scm (ipxe)[arguments]: Convert to G-expression.
While at it, remove trailing #t's and label usage.
2023-01-07 21:04:27 +01:00
Maxim Cournoyer
5dc8cf849b
gnu: dtc: Install documentation.
* gnu/packages/bootloaders.scm (dtc) [modules]: New argument.
[phases]: Add install-doc phase.
2023-01-03 16:03:26 -05:00
Maxim Cournoyer
a5b00d2733
gnu: dtc: Use gexps.
* gnu/packages/bootloaders.scm (dtc) [arguments]: Use gexps.
2023-01-03 16:03:26 -05:00
Maxim Cournoyer
ec3c37d733
gnu: dtc: Move native-inputs and inputs after arguments.
* gnu/packages/bootloaders.scm (dtc) [native-inputs, inputs]: Move after the
arguments field, per convention.
2023-01-03 16:03:26 -05:00
Maxim Cournoyer
d6ea9f8b38
gnu: u-boot-am335x-boneblack: Revert to old name.
This reverts to the name this package had previous to commit
c2c1dfdf57 ("gnu: bootloader: Add U-Boot
packages for Raspberry Pi models."), which caused the package name to be
derived from the board name.

* gnu/packages/bootloaders.scm (u-boot-am335x-evm-boneblack): Remove the
NAME-SUFFIX keyword argument.  Specify the full name via the name field.
* gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): Adjust to
the renamed package.

Reported-by: Vagrant Cascadian <vagrant@debian.org>
2022-12-28 22:14:16 -05:00
Maxim Cournoyer
bcd131dafb
gnu: Add patman.
* gnu/packages/bootloaders.scm (patman): New variable.
* gnu/packages/patches/u-boot-patman-fix-help.patch: New patch.
* gnu/packages/patches/u-boot-patman-get-maintainer.patch: Likewise.
* gnu/packages/patches/u-boot-patman-local-conf.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): Register them.
2022-12-28 16:03:20 -05:00
Maxim Cournoyer
0d4587d65f
gnu: Add u-boot-documentation.
* gnu/packages/patches/u-boot-infodocs-target.patch: New patch.
* gnu/local.mk: (dist_patch_DATA): Register it.
* gnu/packages/bootloaders.scm (u-boot): Apply it.
(u-boot-documentation): New variable.
2022-12-28 16:03:20 -05:00
Efraim Flashner
10a661c8c8
gnu: syslinux: Honor #:tests? flag.
* gnu/packages/bootloaders.scm (syslinux)[arguments]: Adjust custom
'check phase to honor the #:tests? flag.
2022-12-25 22:07:32 +02:00
Efraim Flashner
6ce7904a85
gnu: ipxe-qemu: Fix building on 32-bit systems.
* gnu/packages/bootloaders.scm (ipxe-qemu)[native-inputs]: When building
from a 32-bit system add a binutils variant capable of assembling 64-bit
instructions and an ld-wrapper using it.
2022-12-22 22:09:58 +02:00
Marius Bakke
9279775d69
gnu: iPXE: Embed the actual package version.
* gnu/packages/bootloaders.scm (ipxe)[arguments]: Add phase to set the proper
version.
2022-12-22 16:50:47 +01:00
Marius Bakke
209aed9511
gnu: Install QEMU firmare files to 'share/qemu'.
This paves the way for using a native search path in the future.

* gnu/packages/bootloaders.scm (ipxe-qemu)[arguments]: Install firmware files
to 'share/qemu' instead of 'share/firmware'.
* gnu/packages/firmware.scm (seabios-qemu)[arguments]: Likewise.
* gnu/packages/virtualization.scm (qemu)[arguments]: Adjust accordingly.
2022-12-22 16:50:47 +01:00
Marius Bakke
a5dbe84a61
gnu: ipxe-qemu: Cross-compile on non x86_64.
* gnu/packages/bootloaders.scm (ipxe-qemu)[native-inputs]: When not targeting
x86_64, add CROSS-GCC and CROSS-BINUTILS.
[arguments]: Set CROSS_COMPILE in that case.
2022-12-22 16:50:47 +01:00
Maxim Cournoyer
c04528d2a2
gnu: u-boot-am335x-evm-boneblack: Fix variable name.
* gnu/packages/bootloaders.scm (u-boot-am335x-boneblack): Rename to...
(u-boot-am335x-evm-boneblack), to match the package name.
* gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): Adjust
accordingly.
2022-12-20 21:29:25 -05:00
Maxim Cournoyer
57abc2b7b2
gnu: u-boot: Add pkg-config to native inputs.
* gnu/packages/bootloaders.scm (u-boot) [native-inputs]: Add pkg-config.
2022-12-20 21:19:37 -05:00
Maxim Cournoyer
4a4f2d226e
gnu: u-boot-tools: Delete trailing #t.
* gnu/packages/bootloaders.scm (u-boot-tools) [phases]: Delete trailing #t.
2022-12-20 21:16:16 -05:00
Marius Bakke
2f2a9aca4b
gnu: Add ipxe-qemu.
* gnu/packages/bootloaders.scm (ipxe-qemu): New variable.
2022-12-20 15:29:11 +01:00
Maxim Cournoyer
1b6e251ed1
gnu: make-u-boot-package: Build verbosily.
* gnu/packages/bootloaders.scm (make-u-boot-package)
[arguments] <make-flags>: Add KBUILD_VERBOSE=1.
2022-12-14 10:38:54 -05:00
Ricardo Wurmus
7c8832e106
gnu: u-boot: Use plain list of inputs.
* gnu/packages/bootloaders.scm (u-boot)[native-inputs]: Drop input labels.
2022-12-12 14:37:03 +01:00
Ricardo Wurmus
5b0e656e57
gnu: u-boot: Update to 2022.10.
* gnu/packages/bootloaders.scm (u-boot): Update to 2022.10.
* gnu/packages/patches/u-boot-allow-disabling-openssl.patch: Disable
fit_pre_load_data, which depends on openssl.
2022-12-12 14:37:03 +01:00
Stefan
c2c1dfdf57
gnu: bootloader: Add U-Boot packages for Raspberry Pi models.
* gnu/packages/bootloader.scm (make-u-boot-package): Add keyword
parameters 'name-suffix' and 'append-description'.
(make-u-boot-bin-package): New procedure
(%u-boot-rpi-efi-configs): New variable.
(%u-boot-rpi-description-32-bit, %u-boot-rpi-description-64-bit,
%u-boot-rpi-efi-description, %u-boot-rpi-efi-description-32-bit):
New variables.
(u-boot-rpi-2-efi, u-boot-rpi-2-bin, u-boot-rpi-2-efi-bin})
(u-boot-rpi-3-32b-efi, u-boot-rpi-3-32b-bin, u-boot-rpi-3-32b-efi-bin)
(u-boot-rpi-4-32b-efi, u-boot-rpi-4-32b-bin, u-boot-rpi-4-32b-efi-bin)
(u-boot-rpi-arm64-efi, u-boot-rpi-arm64-bin)
u-boot-rpi-arm64-efi-bin): New packages.
(u-boot-tools): Reuse the description of u-boot.
(u-boot-am335x-boneblack, u-boot-am335x-evm)
(u-boot-nintendo-nes-classic-edition, u-boot-novena): Make use of new keyword
parameters of make-u-boot-package.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-12-01 14:31:28 -05:00
Stefan
a9acbf919a
gnu: bootloader: Rework chaining, add grub-efi-netboot-removable-bootloader.
This rework allows to use an (efi-bootloader-chain) like this, which is able
to boot over network or local storage, depending on whether the bootloader
target has support for symbolic links:

   (operating-system
    (bootloader
      (bootloader-configuration
        (bootloader
          (efi-bootloader-chain
            grub-efi-netboot-removable-bootloader
            #:packages (list my-firmware-package
                             my-u-boot-package)
            #:files (list (plain-file "config.txt"
                                      "kernel=u-boot.bin"))
            #:hooks my-special-bootloader-profile-manipulator))
        (targets '("/booti/efi"))
        …))
    …)

* doc/guix.texi (Bootloader Configuration): Describe the new
‘grub-efi-netboot-removable-bootloader’.  Mention the file names used and that
the UEFI Boot Manager is not modified.  Advise to disable write-access over
TFTP.
* gnu/bootloader.scm (efi-bootloader-profile): Allow a list of packages and
collect everything directly in the profile, avoiding a separate collection
directory.  Renamed the profile from "bootloader-profile" to
"efi-bootloader-profile".
[bootloader-collection]: Rename to...
[efi-bootloader-profile-hook]: ... this and remove unused modules.  Do not
create the now extraneous collection directory.
(efi-bootloader-chain): Add PACKAGES and DISK-IMAGE-INSTALLER arguments.
Remove handling of the collection directory, now only calling the given
installer procedure.
* gnu/bootloader/grub.scm (make-grub-efi-netboot-installer): New helper.
(make-grub-configuration): New helper based on (grub-configuration-file).  Add
a GRUB argument, fix indentation, remove previous code retrieving GRUB from
CONFIG.
(grub-configuration-file): Make use of make-grub-configuration.
(grub-efi-configuration-file): New procedure.
(grub-cfg): New variable to replace "/boot/grub/grub.cfg".
(install-grub-efi-netboot): Remove, splitting logic to...
(make-grub-efi-netboot-installer): ... this new helper procedure, as well as
to make-grub-efi-netboot, added below.
(grub-bootloader): Adjust to use the GRUB-CFG.
(grub-efi-bootloader): Likewise.  Removed inheritance and declare all fields
explicitly.
(make-grub-efi-netboot-bootloader): New procedure.
(grub-efi-netboot-bootloader): Use it.
(grub-efi-netboot-removable-bootloader): New variable.
* gnu/packages/bootloaders.scm (make-grub-efi-netboot): New procedure.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-12-01 14:31:28 -05:00
Maxim Cournoyer
df25165530
gnu: u-boot-pinebook-pro-rk3399: Fix indentation.
* gnu/packages/bootloaders.scm (u-boot-pinebook-pro-rk3399): Fix indentation.
2022-12-01 11:57:10 -05:00
Maxim Cournoyer
24b0fe3463
gnu: u-boot-rockpro64-rk3399: Fix indentation.
* gnu/packages/bootloaders.scm (u-boot-rockpro64-rk3399): Fix indentation.
2022-12-01 11:57:10 -05:00
Maxim Cournoyer
a18aaa26dc
gnu: u-boot-firefly-rk3399: Fix indentation.
* gnu/packages/bootloaders.scm (u-boot-firefly-rk3399): Fix indentation.
2022-12-01 11:57:10 -05:00
Maxim Cournoyer
d1ef19e76e
gnu: u-boot-puma-rk3399: Fix indentation.
* gnu/packages/bootloaders.scm (u-boot-puma-rk3399): Fix indentation.
2022-12-01 11:57:10 -05:00
Maxim Cournoyer
8cac149ec5
gnu: u-boot-nintendo-nes-classic-edition: Fix indentation.
* gnu/packages/bootloaders.scm
(u-boot-nintendo-nes-classic-edition): Fix indentation.
2022-12-01 11:57:09 -05:00
Maxim Cournoyer
e99dc7353f
gnu: make-u-boot-package: Fix indentation.
* gnu/packages/bootloaders.scm (make-u-boot-package): Fix indentation.
2022-12-01 11:57:09 -05:00
Maxim Cournoyer
8d1d209ffe
gnu: u-boot-tools: Fix indentation.
* gnu/packages/bootloaders.scm (u-boot-tools): Fix indentation.
2022-12-01 11:57:09 -05:00
Maxim Cournoyer
650636baca
gnu: dtc: Fix indentation.
* gnu/packages/bootloaders.scm (dtc): Fix indentation.
2022-12-01 11:57:09 -05:00
Maxim Cournoyer
76259d7305
gnu: grub-efi32: Fix indentation.
* gnu/packages/bootloaders.scm (grub-efi32): Fix indentation.
2022-12-01 11:57:09 -05:00
Maxim Cournoyer
1a1a5aad2c
gnu: grub: Normalize indentation.
* gnu/packages/bootloaders.scm (grub): Re-indent package and remove trailing #t.
2022-12-01 11:57:08 -05:00
Stefan
a3f638e748
build: kconfig: Add new module to modify defconfig files.
* guix/build/kconfig.scm: New file.
* Makefile.am: Register it.
* gnu/packages/bootloaders.scm (make-u-boot-package)
(make-u-boot-sunxi64-package): Add DEFCONFIGS and CONFIGS arguments.  Remove
dead code.
(u-boot-am335x-boneblack, u-boot-pinebook)
(u-boot-novena,u-boot-rockpro64-rk3399): Simplify packages by using the new
keyword arguments.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-12-01 11:57:06 -05:00
Marius Bakke
b0bd3ef9aa
gnu: u-boot-tools: Disable check for 100% coverage.
* gnu/packages/bootloaders.scm (u-boot-tools)[arguments]: Add substitution.
2022-09-15 16:53:07 +02:00
Tobias Geerinckx-Rice
25e9bb05da
gnu: os-prober: Update to 1.81.
* gnu/packages/bootloaders.scm (os-prober): Update to 1.81.
2022-08-14 02:00:00 +02:00
Efraim Flashner
116c0268ff
gnu: grub-efi32: Fix building on aarch64-linux.
* gnu/packages/bootloaders.scm (grub-efi32)[arguments]: When building
for aarch64-linux add TARGET_CC to configure-flags.
[native-inputs]: When building for aarch64-linux add cross-gcc and
cross-binutils for arm-linux-gnueabihf.
2022-08-05 02:52:58 +03:00
Denis 'GNUtoo' Carikli
62c86c8391
image: Add support for 32bit UEFI.
* gnu/bootloader/grub.scm (grub-efi32-bootloader): New variable.
(install-grub-efi32): New variable.
* gnu/build/bootloader.scm (install-efi): Add a 'targets' keyword
argument.
(install-efi-loader): Likewise.
* gnu/build/image.scm (initialize-efi32-partition): New procedure.
* gnu/packages/bootloaders.scm (grub-efi32): New variable.
* gnu/system/image.scm (esp32-partition): New variable
(efi32-disk-image): New variable.
(efi32-raw-image-type): New variable.
(system-disk-image)[partition-image]: Set '#:grub-efi32' when
calling the partition initializer.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-06-24 10:21:06 +02:00
Tobias Geerinckx-Rice
3666e5e409
gnu: os-prober: Update to 1.80.
* gnu/packages/bootloaders.scm (os-prober): Update to 1.80.
[arguments]: Don't explicitly return #t from phases.
2022-05-29 02:00:10 +02:00
Ricardo Wurmus
d643ef38ed
gnu: u-boot-rockpro64-rk3399: Add support for booting from SCSI/SATA.
* gnu/packages/bootloaders.scm (u-boot-rockpro64-rk3399)[arguments]: Add
  'patch-config phase to support SCSI/SATA disks.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2022-04-05 12:05:28 -07:00
Vagrant Cascadian
4a0d045990
gnu: u-boot: Update to 2022.04.
* gnu/packages/bootloaders.scm (u-boot): Update to 2022.01.
  [native-inputs]: Add gnutls, tinfo, libuuid.
  (u-boot-qemu-riscv64-smode): Drop custom
  patches.
* gnu/packages/patches/u-boot-allow-disabling-openssl.patch: Refresh patch.
* gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch: Remove patch,
  applied upstream.
* gnu/local.mk (dist_patch_DATA): Update with removed patches.

Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
2022-04-05 12:05:22 -07:00
Efraim Flashner
027ce78933
gnu: dtc: Use pkg-config-for-target.
* gnu/packages/bootloaders.scm (dtc)[arguments]: Adjust custom
'patch-pkg-config phase to use pkg-config-for-target.
2022-03-07 22:53:58 +02:00
Efraim Flashner
54933a4047
gnu: dtc: Use different source tarball.
The xz compressed source failed to unpack on riscv64-linux.

* gnu/packages/bootloaders.scm (dtc)[source]: Use gzipped tarball.
2022-03-07 22:53:57 +02:00
Efraim Flashner
0dc99fd149
gnu: dtc: Don't depend unconditionally on valgrind.
* gnu/packages/bootloaders.scm (dtc)[native-inputs]: Only include
valgrind when building on a system which supports valgrind.
2022-02-28 14:09:07 +02:00
Efraim Flashner
1acd0bf826
gnu: u-boot-sifive-unmatched: Build with opensbi.
* gnu/packages/bootloaders.scm (u-boot-sifive-unmatched)[arguments]: Add
phase to set location of opensbi firmware.
[inputs]: Add opensbi-generic.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2021-12-30 20:11:13 -08:00
Ludovic Courtès
8394619bac
gnu: Simplify package inputs.
This commit was obtained by running:

  ./pre-inst-env guix style

without any additional argument.
2021-12-13 17:48:25 +01:00
Ricardo Wurmus
9bc0f45df5
Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-12-05 19:17:41 +01:00
Pierre Langlois
bf1e46e959
gnu: u-boot: Fix rk3399 boot from emmc.
* gnu/packages/bootloaders.scm (%u-boot-rk3399-enable-emmc-phy-patch): New
variable.
(u-boot)[origin]: Register it.
* gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
2021-11-27 15:03:33 +00:00
Ludovic Courtès
3a317f7476
Merge branch 'master' into core-updates-frozen 2021-11-17 23:43:14 +01:00
Vagrant Cascadian
2ebcc5387b
gnu: u-boot, u-boot-am335x-boneblack, u-boot-novena: Fix lint warnings.
* gnu/packages/bootloaders.scm (u-boot)[description]: Add second space after
  sentence.
  (u-boot-am335x-boneblack)[description]: Likewise.
  (u-boot-novena)[description]: Likewise.
2021-11-14 13:47:51 -08:00
Efraim Flashner
bc5155b952
Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-10-31 14:49:47 +02:00