* Add interactive frontend for installers: - Clean up `install_system()` and `installer-pc` output + Maybe write everything to an installation log file in `${root}/var/log/` - New `lib/tui.sh` interface to `lib/tui/select.sh` and `lib/tui/dialog.sh` backends (with `configure` looking for **dialog**) - Make `install_system()` accept an output callback to use instead of `info()` - Add a `prof_get_platforms_by_tag(suite, tag, plat_cb)` function that calls `${plat_cb} "${name}" "${desc}"` on each matching platform + ProteanOS implementation: download and parse (control file) - Add library functions for a `select` implementation, pretty-printing sizes in decimal and binary units, and searching for block devices - Implement an interactive mode of `installer-pc`: + Change usage to `[-a -p [-m ] ]` (i.e. make all arguments optional) + Get a `Manifest` of suites from profile, present options to user + Call `prof_get_platforms_by_tag()` with a "pc" tag + Call a profile function to get architectures (with names and descriptions) for a given suite and platform + Pass a tui function as the output callback to `install_system()` * Make `installer-pc` check architecture compatibility (host CPU and kernel vs. those of system to install)? - Can't do a "foreign" installation, unless LILO is not to be installed (as on libreboot-specific platforms)