2
0
Fork 0
genodepkgs/apps/linux-image/script.dhall

44 lines
982 B
Plaintext

-- 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
''