I was wondering if Tomatos solutions have been accepted by the community. Anybody knows about this?
Some ideas on "OTG Device mode"
- Some existing methods regarding software distribution methods: See lecture 8 from this course.
- This assumes the OS is working, but the protocol should be only a few k's in binary thus could be included in the boot image or firmware.
- According to RaspberryPiBoard#BootRom, a FAT partition is used to contain the boot image which is probably read-only, so it would be better if the whole FAT partition is protected somehow (hidden partition?) and is never mounted after the OS is up. Another FAT partition could be made for data exchange.
- I guess a two-stage boot starting with a bootloader or a read-only rootfs image is always a good idea if the actual EXT2 rootfs can be easily damaged. This will make it quite simple to include some recovery tools and maybe e2fsck and they can run from memory this way.
- The core part of the OS is perhaps all the stuff on the FAT bootrom partition and the default contents of the EXT2. The former should easily fit in the memory, so a swap-card approach will work well. The latter should not be very large either, so maybe they can fit inside the RAM as well (perhaps with some simple compression). If a list can be created to indicate which files are crucial to the system and which are user-generated, the contents that needs to be copied can be further reduced.
- If the bootrom partition is damaged, a second device can be used to repartition and recreate the boot partition. Then the cards are reinserted into both machines and the EXT partition can be copied over Ethernet using rsync. This sound less cool than the OTG approach, but seems to be less technically demanding.