dflemstr said:
You are absolutely correct, and it makes me wonder if it's actually worth it to modify the PND system in convoluted ways to make it possible for PNDs to provide files to the file system,
I think it should still be possible for static apps to have some kind of PND overlay system, this is the only way in which we can cleany "install/remove" without actually touching (read: permanently changing) stuff. If we just tell the user that the PND requires an overlay with the OS (whatever that may mean for the user), they will know that this integrated functionality is in no way permanent for the system. And for every other app that can run without integration, no such overlay needs to be present at all. It will just be loopback mounted and run from there upon application start.
We could even go as far as to merge the data inside the overlay permanently to the underlying filesystem. Some kind of 'permanent install' for those that want this. Removal is then also quite simple. Then we provide the best of both worlds. Two buttons: "Just run this app from this location" and "Install this app for permanent use", or something.
dflemstr said:
OR if it wouldn't be better to apply all of the knowledge we've gathered in this discussion to create an SD-overlay system (
@polyroy, that would mean max 2 overlay mounts, which would be acceptable at boot) instead of a PND overlay system, so that IPKG becomes usable (not to ordinary folks, but maybe to more tech-savvy folks).
The OS is best delivered in a compressed firmware image, to save space on the NAND. An overlay on which the contents can be edited is then required anyway. Any extra overlays from SD cards can be activated by the user, either represented as entire partitions, subfolders or image files. Mounting multiple overlays should be no problem. In fact, I can imagine a user interface showing the branch stack (list of overlays), which allows the user to move them around (raise visibility/importance, with the topmost having priority). This would show the way the system is setup in a very obvious way, and not be too confusing for most users I guess.
1: If people want permissionless stuff in fat32 directories, let them
It is not supposed to be a high-security device. And those that do value security should simply avoid FAT32 for overlays.
You should also consider multiple partitions on SD cards - one FAT32 for compatibility (phones, camera's, etc), the other meant for an overlay.
3: I'd vote for "first overlay found on slot 1 takes priority" or something. Let this be obvious, and user-configurable, such that users can also tell the system that file x on USB holds their preferred overlay.
4: I don't get what the problem is. rc-scripts can be set to run the first thing during boot after initrd set up aufs on root, which can then be extended with remounts when the details become known. If you worry about selecting the medium, the bootloader should handle that for you.
5: Still need to test. Running applications shouldn't be hindered (they just terminate themselves, or crash). Timeouts might be the bigger issue.
6: Selectable via the overlay menu I guess. Some sort of "warn me when a PND/overlay is activated which contains files in the following folders" list.