(define-module (zynqmp build bootloader)
#:use-module (srfi srfi-28)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:export (bootcfg-entry->config-menu-entry
get-required-files))
(define (bootcfg-entry->config-menu-entry entry)
(match entry
((label kernel kernel-arguments initrd)
(format "LABEL ~a
MENU LABEL ~a
KERNEL ~a
FDT /system.dtb
INITRD ~a
APPEND ~a
~%" label label kernel initrd (string-join kernel-arguments)))))
(define (get-required-files entries)
(delete-duplicates (apply
append
(map
(lambda (entry)
(match entry
((label kernel kernel-arguments initrd)
(list kernel initrd))))
entries))))