diff options
Diffstat (limited to 'ocaml/bin/overe.ml')
-rw-r--r-- | ocaml/bin/overe.ml | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/ocaml/bin/overe.ml b/ocaml/bin/overe.ml index cc75ca4..471a141 100644 --- a/ocaml/bin/overe.ml +++ b/ocaml/bin/overe.ml @@ -39,11 +39,18 @@ let run_with_drivers ~env config = | Ok eve -> Printf.printf "✓ Loaded snapshot at event %Ld\n%!" eve | Error _msg -> - Printf.printf "⚠ No snapshot found, booting fresh kernel...\n%!"; - (* Boot with fake pill for now *) - match Boot.boot_fake runtime.state with - | Ok () -> Printf.printf "✓ Kernel booted\n%!" - | Error msg -> Printf.printf "✗ Boot failed: %s\n%!" msg + Printf.printf "⚠ No snapshot found, booting from pill...\n%!"; + (* Boot from ivory pill (minimal kernel - fast to load!) *) + let pill_path = "ivory.pill" in + Printf.printf "Loading pill: %s\n%!" pill_path; + match Boot.boot_from_file ~fs runtime.state pill_path with + | Ok () -> Printf.printf "✓ Arvo kernel loaded from pill!\n%!" + | Error msg -> + Printf.printf "✗ Pill load failed: %s\n%!" msg; + Printf.printf "Falling back to fake kernel...\n%!"; + match Boot.boot_fake runtime.state with + | Ok () -> Printf.printf "✓ Fake kernel booted\n%!" + | Error msg2 -> Printf.printf "✗ Boot failed: %s\n%!" msg2 ); (* Replay events from log *) |