I'm not sure I fully understand the proposal, but something very close to what you propose can happen with the Selector's
autoboot feature: if enabled, you have three seconds (ish) before it
- switches the drive image from the Selector's own boot volume to whichever drive image is configured for autoboot
- then boots from that drive.
The Selector program itself is fairly simple: when it starts up, it loads itself in its entirety into RAM and never touches its boot volume again. The reason for this is because the Selector can change the Aphid's current hard drive image at any time, so suddenly the data on the hard drive image it booted from may no longer be available.
If you wanted to dynamically load bits of the Selector only when you needed them (apologies if this is not what you're proposing!) then you'd want to do that dynamic loading using commands to the Aphid that are different from regular hard drive reads and writes. This is because the Aphid doesn't know whether it's the Selector talking or some other Lisa program or OS, and you probably only want the Selector to load up bits of the Selector (other Lisa software has no use for it and would only be confused by it --- or worse, it might just try to overwrite it or something). The key/value store would be the easiest option for some kind of "out of band" loading, but as Alex has noted, not all implementations of the
Aphid key/value store are feature complete :-)
BeagleBone is a line of SBCs, but some are bigger and more feature-packed than others, and the one I've gone for is the smallest of them all: the
PocketBeagle. Size is the main feature there; many other conveniences are missing. To talk to an NTP server, you'd need to get a network connection out of it, and there are certainly options for that. There is no built-in ethernet port or WiFi on the board itself, though, so the easiest option is to use the USB cable and tunnel TCP/IP over that (something the board sets up out of the box --- you can SSH into your Cameo/Aphid that way).
But if you don't want to use another computer as a network gateway for your tiny computer, you'll need to do something like adding an ethernet port or a USB host that you can plug a network dongle into. The PocketBeagle's SOC has built-in support for such ports if you attach their connectors to some of the I/O pins, but you'd need to hope that the I/O pins that those features use aren't the same as the I/O pins that the Cameo board uses. Could I change the I/O pins? Yes, but I don't want to --- the 16 that I chose are the ones most directly connected to the SOC's built-in I/O coprocessors. Plus I'd have to respin the Cameo board itself :-)
Other architectures may not have the same constraints that the PocketBeagle does --- maybe ArduinoFile can work differently, or maybe you can use one of those WiFi-enabled ESP32 things for yet another emulator. I saw somewhere that someone had made a ProFile emulator using a Raspberry Pi Pico... yes,
here it is. Coming up with your own emulator is a fun project and I suspect Patrick's excellent documentation is a big part of what's made it possible.
Anyway, without a way of getting the time from the outside world, it's more-or-less Groundhog Day for the PocketBeagle: it boots up and the time is whatever time it was when the kernel was built. At least I think that's how it works; there may be a cached time sort of scheme like the mechanism I've proposed for the Selector, but I forget whether that's the case.
Not sure if this is useful information, but there it is!