This commit is contained in:
swrup 2026-03-12 18:56:19 +01:00
parent 4bbd16d3d3
commit 84fbd0bc27
2 changed files with 9 additions and 2 deletions

View file

@ -13,6 +13,11 @@ type entry = Mfat.entry = {
size: int32; size: int32;
} }
let create blk =
match Fat.create blk with
| Error (`Msg e) -> Fmt.failwith "FAT file system failure: %s." e
| Ok fs -> fs
type t = Mkernel.Block.t Mfat.t type t = Mkernel.Block.t Mfat.t
module type FS = sig module type FS = sig

View file

@ -73,12 +73,13 @@ let () =
let rng () = Mirage_crypto_rng_mkernel.initialize (module RNG) in let rng () = Mirage_crypto_rng_mkernel.initialize (module RNG) in
Mkernel.map rng Mkernel.[] Mkernel.map rng Mkernel.[]
in in
let storage = Mkernel.storage ~name:"storage" in let storage = Mkernel.block "storage" in
let service = let service =
let ipv4 = Ipaddr.V4.Prefix.of_string_exn "10.0.0.2/24" in let ipv4 = Ipaddr.V4.Prefix.of_string_exn "10.0.0.2/24" in
Mnet.stack ~name:"service" ipv4 Mnet.stack ~name:"service" ipv4
in in
Mkernel.(run [ rng; storage; service ]) @@ fun rng fs (stack, tcp, udp) () -> Mkernel.(run [ rng; storage; service ])
@@ fun rng storage (stack, tcp, udp) () ->
let@ () = fun () -> Mirage_crypto_rng_mkernel.kill rng in let@ () = fun () -> Mirage_crypto_rng_mkernel.kill rng in
let@ () = fun () -> Mnet.kill stack in let@ () = fun () -> Mnet.kill stack in
let hed, he = Mnet_happy_eyeballs.create tcp in let hed, he = Mnet_happy_eyeballs.create tcp in
@ -88,6 +89,7 @@ let () =
let@ () = fun () -> Mnet_dns.Transport.kill t in let@ () = fun () -> Mnet_dns.Transport.kill t in
Caqti_miou.Switch.run @@ fun sw -> Caqti_miou.Switch.run @@ fun sw ->
(* -- *) (* -- *)
let fs = Fat.create storage in
let env = Env.{ sw; stack; tcp; dns; fs } in let env = Env.{ sw; stack; tcp; dns; fs } in
let devices = Vifu.Devices.[ Global.db_conn; Global.keys ] in let devices = Vifu.Devices.[ Global.db_conn; Global.keys ] in
let cfg = Vifu.Config.v Config.Exchange.port in let cfg = Vifu.Config.v Config.Exchange.port in