TODO List for current 0.10.0 ISO series (includes upcoming releases)

These are things that I think would be nice to have done. Some of them may be more necessary than others, some of them less so. The list is ordered by importance for inclusion in the next ISO generation releases. Feel free to add to this list if you know of something that is missing.

Installation

  • Convert from install-by-cache for optional spells to install-by-source. Caches would still be provided (in addition to sources) for essential spells (gcc, glibc, etc.) and required optional spells (lilo, grub, filesystem spells like reiserfsprogs, etc.). This would have the benefit of making the ISO smaller in addition to better following our policy without requiring a lot of hacks and/or duplicate caches.
  • This will require the following:
    • generate/include caches for everything in basesystem
    • generate/include caches for filesystem tools (reiserfsprogs, xfsprogs, etc.) otherwise a user will be able to install but not boot their system without chrooting and building first from within the ISO.
    • include the sources for all other spells we offer on the ISO (wireless_tools, wpa_supplicant, etc.)
    • when installing, always copy sources over, but if a cache is available, ALSO install the cache (don't install caches in lieu of sources)
    • add a new step to the ISO install for building optional features in the chroot
      • do we tell the user to configure sorcery before doing the building? I'm leaning towards not doing so to keep things simple, and letting more advanced users do this on their own, but this will need to be decided.
  • This is more than just a nicety, but actually required. Due to the fact that some spells need to be specifically built for whether they support certain things (e.g., lilo with or without device-mapper support [LVM]), in order to support users we need to build with that support. But if the user doesn't want that option, we need to build without that support, or it will force the user to install extra spells. It's a bit of a catch-22, which can only be solved by having the user build from sources.

Bootup

  • initrd -> initramfs

  • Use busybox for the initrd/initramfs (busybox provides the needed binary for switching root, needed for initramfs, and will also help to reduce the size of the initramfs, which in turn reduces the size of the iso, though by a near-negligible amount).
  • See the initramfs HowTo page for information on how to do this (generally). The ISO initramfs will need to be a bit less minimal than the one on that page, but we'll need to decide just how much more to put in.

Finish Refactoring

  • Work began some time ago on refactoring the code in test/stable to the new API-based system in devel (the master branch), but it is still incomplete.
  • This should be finished sooner rather than later because it will be easier to maintain and also offer better error-proofing in the ISO generation scripts, as well as make things easier for end-users to get involved with creating ISOs.
  • The master branch (devel work) has its own TODO file listing what needs to be done.

ISO FS

  • Unify the ISO and system filesystems
  • Use busybox for the ISO itself? (I'm not yet sure about the feasibility of this, as not all the busybox provided "binaries" accept the common/standard options). This would make the ISO much smaller if it turns out to be feasible.

i18n/m17n

  • Add the ability to use fbterm (no longer requires framebuffer; can use standard vesa directly but also supports framebuffer) + uim + m17n-lib to the ISO for proper i18n/m17n display/input support during the install, with instructions on how to use all of this for the ISO.
  • Produce translations of the installer text - WE NEED TRANSLATORS! Contact a Cauldron developer today!
  • Eventually make a menu where users can select the language/script of the installation.
  • Ensure all of the above are purely optional.

Misc.

  • Fix any remaining bugs.
  • Possibly put vim on the iso instead of/in addition to elvis? Depends on the size of a minimal vim. Also the possibility of ex-vi once it's in stable.

Cauldron/TODO (last edited 2009-11-29 16:50:34 by flux)