summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2022-10-23 02:00:00 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2022-10-23 02:00:06 +0200
commit68f4b7a1585f71ccb1809cf808ad759f744438f3 (patch)
tree344b10e2a921670bf5eeb4672c660cd017da8f7a /gnu
parent634f7cd7dfef8746a39c2054d0ef9240a75d74d1 (diff)
gnu: memtest86+: Include a GRUB-based ISO image.
* gnu/packages/hardware.scm (memtest86+)[arguments]: Add a new 'patch-broken-Makefiles and custom 'build phase. Add "grub-memtest.iso" to the list of files to 'install. [native-inputs]: Add dosfstools, grub-hybrid, mtools, and xorriso.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/hardware.scm25
1 files changed, 24 insertions, 1 deletions
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 50ad9ff15f..e72163616b 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -38,6 +38,8 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages bootloaders)
+ #:use-module (gnu packages cdrom)
#:use-module (gnu packages compression)
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
@@ -60,6 +62,7 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages lxqt)
+ #:use-module (gnu packages mtools)
#:use-module (gnu packages package-management)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
@@ -815,12 +818,29 @@ specific SMBIOS tables.")
#:tests? #f ; no way to test this
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-broken-Makefiles
+ (lambda _
+ (substitute* (list "build32/Makefile"
+ "build64/Makefile")
+ (("/sbin/(mkdosfs)" _ command)
+ command))))
(delete 'configure) ; no configure script
(add-before 'build 'enter-build-directory
(lambda _
(chdir #$(if (target-x86-32?)
"build32"
"build64"))))
+ (replace 'build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (apply invoke
+ "make" "all" "grub-iso" ; more options than memtest.iso
+ (string-append "GRUB_FONT_DIR="
+ (search-input-directory inputs
+ "share/grub"))
+ (string-append "GRUB_LIB_DIR="
+ (search-input-directory inputs
+ "lib/grub"))
+ make-flags)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -830,10 +850,13 @@ specific SMBIOS tables.")
(for-each
(lambda (file)
(install-file file lib))
- (list "memtest.bin"
+ (list "grub-memtest.iso"
+ "memtest.bin"
"memtest.efi"))
(chdir "..")
(install-file "README.md" doc)))))))
+ (native-inputs
+ (list dosfstools grub-hybrid mtools xorriso))
(supported-systems (list "i686-linux" "x86_64-linux"))
(home-page "https://www.memtest.org/")
(synopsis "Thorough real-mode memory tester")