logoalt Hacker News

salomonk_murtoday at 1:09 PM2 repliesview on HN

Agreed. This will likely never ship with all the bloat. Custom AI model, custom OS, extremely custom architecture (2 "main" processors running independently...), barely reuses any of the previous work from Flipper Zero.


Replies

jsmith45today at 2:11 PM

A combined MPU and MCU architecture isn't that exotic. ST microelectronics currently sells a single chip with that contains a two core Cortex A7 Microprocessor combined with a microcontroller. Admittedly more tightly integrated with ability to communicate via shared memory.

The "custom os" part could also be done easilly enough with the correct approach.

Specifically systemd has a less-known feature known as system extensions intended for basically exactly these sort of scenarios. These system-extensions are basically disk images containing files in /usr and/or /opt that can be dynamically overlaid on the existing filesystem (the intent is that these are purely additive). Systemd also intends that all os provided configuration live in /usr, with /etc existing only for machine specific or admin applied configuration. (And which should enabling overriding anything specified by the package or OS.)

System extensions when used default /opt and /usr to be read-only, but you can enable mutability if you having write routing directories or symlinks in the right spot.

So for userland this whole os profiles things could literally just be a set a of system-extensions, a distinct /etc folder, and distinct set of write redirect directories for each. An initramfs can simply bind mount the /etc directory, and add the correct write redirection symlnks before systemd starts. Rolling back a profile is simply wiping its write redirection and /etc folders. If you also want each to potentially have distinct device trees and/or customized kernels, that would need additional bootloader work on top, but nothing that feels too extreme.

Now in reality, since not everything support systemd style configuration, these OS profiles would probably need to construct an initial /etc by copying files from a base-os template, and then copying in anything included in the system extension images (which can have these as systemd will ignore such folders), but that is straightforward enough.

show 2 replies
lxgrtoday at 1:14 PM

> 2 "main" processors running independently...

On the other hand, this has been working pretty well for the first few Raspberry Pis! (Although they had the benefit of leveraging an existing smart TV based platform for that.)