-- SPDX-License-Identifier: CC0-1.0 let Genode = env:DHALL_GENODE let Prelude = Genode.Prelude let Args = { config : Genode.Init.Type , rom : Genode.Prelude.Map.Type Text Genode.Boot.Rom } : Type let RomEntry = Prelude.Map.Entry Text Genode.Boot.Rom let addLine = λ(e : RomEntry) → λ(script : Text) → merge { RomText = λ(rom : Text) → '' ${script} echo ${Text/show rom} > ${Text/show e.mapKey} '' , RomPath = λ(rom : Text) → '' ${script} ln -s ${Text/show rom} ${Text/show e.mapKey} '' } e.mapValue in λ(args : Args) → Prelude.List.fold RomEntry args.rom Text addLine '' #!/bin/sh echo ${Text/show (Genode.Init.render args.config)} > config ''