summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 6151fbfb92c44a7a28ec25deb30f77919a597847 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  * Search for **wget** in `configure`
  * Change `installer-pc` to use **sfdisk** (also search for it in `configure`)
    - Use of **fdisk** is an artifact from two installers ago, in **miniprokit**
  * Search for **mke2fs** in `configure`
  * Write `mkinitramfs` command
    - Usage: `prokit mkinitramfs -l <vmlinuz-output> -i <initramfs-output>
      <root>`
  * 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)
        <http://files.proteanos.com/pub/proteanos-archplat-lists/${suite}/plat>
    - 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 <arch> -p <plat> [-m <mirror>] <suite> <device>]`
        (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)