31 lines
770 B
Plaintext
31 lines
770 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 Text }
|
||
|
: Type
|
||
|
|
||
|
in λ(args : Args)
|
||
|
→ let addLink =
|
||
|
λ(e : Prelude.Map.Entry Text Text)
|
||
|
→ λ(script : Text)
|
||
|
→ script ++ "ln -s ${Text/show e.mapValue} ${Text/show e.mapKey}\n"
|
||
|
|
||
|
let links =
|
||
|
Prelude.List.fold
|
||
|
(Prelude.Map.Entry Text Text)
|
||
|
args.rom
|
||
|
Text
|
||
|
addLink
|
||
|
""
|
||
|
|
||
|
in ''
|
||
|
#!/bin/sh
|
||
|
${links}
|
||
|
echo ${Text/show (Genode.Init.render args.config)} > config
|
||
|
exec ./core-linux
|
||
|
''
|