new AIF release

My holidays present for Arch devs and users: AIF alpha-0.6 !

* Changes since alpha 0.5:

  • fully reworked disk subsystem:
    • support for lvm and dm_crypt
    • Autoprepare looks exactly the same (ui-wise) but with much cleaner code
    • Manual mode UI is entirely reworked and has a general editor (see screens)
    • Unified, more flexible/reusable backend code for partitioning, making filesystems and mounting them. Uses structured file formats for defining partitions and filesystems
    • Rollback functionality: when something failed while processing, or user changes his mind afterwards, you can do a rollback (things like umount, lvremove etc are done automatically in the correct order) and start over/retry
  • fully decoupled UI (dia/cli):
    • there are now generic, transparent functions for asking dates,numbers,strings,checklist,.. etc with an implementation in both ncurses (dialog) and cli.
    • all code now uses these functions, making the codebase much cleaner. (look at the code for autoprepare for instance)
    • with a simple command line flag you can toggle between running the program in cli or dialog mode.
  • support for commandline args
    /arch/aif -p interactive -d     # runs the interactive profile with debugging enabled
    /arch/aif -p interactive -i cli # runs the interactive profile in CLI mode.
  • updated howto for using AUR packages
  • replaced all refs to previous name (fifa) to aif.
  • enabled date/time setting
  • a massive amount of bugfixes
  • a lot of code cleanups

* Screenshots
- AIF manual filesystems, here showing a setup with /dev/sda3 containing a dm_crypt, containing /, and /dev/sda3 containing an LVM setup with 1 LV for /home

- Processing the filesystems. The installer automatically reorders everything

- Rolling back a "/ and /home on top of LVM on top of dm_crypt" setup

- a CLI shot where the partitions/filesystems of the autoprepare just have been processed

* Usability
I tested the installer personally in virtualbox in different scenarios (ftp & cdrom based, autoprepare, manually with normal disk layout,/ on lvm, dm_crypt,.. ), and all produced working installations.
Although I often need to fix bugs after testing a specific scenario, I don't re-test all scenarios each time. YMMV
Note that the installer doesn't automatically add the lvm2/encrypt modules to mkinitcpio yet, and doesn't add the right string for lvm/dm_crypt in grubs menu.lst yet.

There are some known issues (which are not critical, just avoid them or live with them). Here are the biggest ones (for more, see TODO)

  • keyboard and timezone settings from installer don't go into target systems config
  • long selections (eg packages) are very cumbersome to do in CLI mode.

* How?

Use package aif-git from AUR.
Even though I tag releases in git, I don't build packages for them.
I now use the master branch as "stable" branch where I pull in code from the experimental branch after it has been tested.
So the master branch (package aif-git) always contains the latest, stable code.

Use "/arch/aif -p interactive -d" (the interactive procedure is the port of /arch/setup)

Have fun,

PS: Thomas Baechler (arch dev) has let me know he wants AIF hosted at and he will provide me access to their server so I can push to it. Sweet!!