-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Our current system works in the following way:
flowchart LR
A[firmware input] -->B(fw2tar)--> C(rootfs.tar.gz)--> D(penguin)
A -->F(User determined process) --> C
A problem we often see is that fw2tar does not correctly determine what should be in the filesystem. This is particularly relevant when considering the case of multiple filesystems.
This proposal advances and relies upon the theory that static information is insufficient in some cases to fully rectify a filesystem.
The problem of rectifying a filesystem from an input firmware is a rehosting decision that should be expressed and resolvable by the user within penguin.
Making this change would mean folding in significant portions of fw2tar inside of penguin while maintaining existing code paths and functionality.
For example:
flowchart LR
A[firmware input] --> B(penguin init --fw) --> E[config + multiple fs] --> G[penguin run]
C[fs.tar.gz] --> D(penguin init fs.tar.gz) --> F[config + single fs] --> G
In addition, we would need some specification within config.yaml that would describe the filesystem:
fs:
/ : fs.tar.gz
/mnt/a: fs2.tar.gz
/mnt/b: fs3.tar.gz
There might also be a more clever path for including this in static_files.