(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))))