Here's my current version of a new bootloader module to replace booty. One of the main benefits to the new module is it finally provides some clarity on the issue of the so-called "boot device". It is now clearly defined as stage1 device (eg: mbr of a dos disklabel or PReP) and stage2 device (/boot). I have been testing it in qemu/kvm, but since grub there is broken I can only verify my work by hand-checking program.log, grub.conf, and device.map. Given that, it is working well for x86. You'll notice that a great deal of what made up platform.py has moved into the bootloader module. That's a work in progress since Platform's checkFoo methods are doing almost exactly the same checks as BootLoader's _is_valid_foo methods. The main reason I didn't move it all over is because I don't want all those error strings. Chris, maybe you can help me sort that out. I'm also planning to add a --boot-device argument to pykickstart so that we can separate the ideas of drive order and boot device. I am open to the idea of splitting bootloader.py into at least two files if people think it's too large. Detection of existing bootloaders for upgrades is not implemented yet. The BootLoader classes have quite a lot of class/static attributes. I don't mind it, but I'm somewhat open to splitting some of that out if people think it's a good idea. Comments, please. Here's a diffstat: b/configure.ac | 1 b/pyanaconda/Makefile.am | 2 b/pyanaconda/__init__.py | 6 b/pyanaconda/bootloader.py | 1823 +++++++++++++++++++++++--- b/pyanaconda/dispatch.py | 1 b/pyanaconda/installclass.py | 5 b/pyanaconda/installclasses/rhel.py | 2 b/pyanaconda/iutil.py | 5 b/pyanaconda/iw/blpasswidget.py | 19 b/pyanaconda/iw/bootloader_main_gui.py | 103 - b/pyanaconda/iw/cleardisks_gui.py | 7 b/pyanaconda/iw/osbootwidget.py | 163 -- b/pyanaconda/iw/timezone_gui.py | 3 b/pyanaconda/iw/upgrade_bootloader_gui.py | 89 - b/pyanaconda/iw/zipl_gui.py | 33 b/pyanaconda/kickstart.py | 47 b/pyanaconda/packages.py | 2 b/pyanaconda/platform.py | 521 +------ b/pyanaconda/storage/__init__.py | 33 b/pyanaconda/storage/devices.py | 14 b/pyanaconda/storage/partitioning.py | 30 b/pyanaconda/textw/partition_text.py | 4 b/pyanaconda/textw/timezone_text.py | 6 b/pyanaconda/textw/upgrade_bootloader_text.py | 102 - b/pyanaconda/textw/zipl_text.py | 52 b/pyanaconda/yuminstall.py | 2 pyanaconda/booty/Makefile.am | 24 pyanaconda/booty/__init__.py | 52 pyanaconda/booty/alpha.py | 140 - pyanaconda/booty/bootloaderInfo.py | 714 ---------- pyanaconda/booty/checkbootloader.py | 176 -- pyanaconda/booty/ia64.py | 38 pyanaconda/booty/lilo.py | 308 ---- pyanaconda/booty/ppc.py | 184 -- pyanaconda/booty/s390.py | 186 -- pyanaconda/booty/sparc.py | 128 - pyanaconda/booty/util.py | 9 pyanaconda/booty/x86.py | 562 -------- 38 files changed, 1978 insertions(+), 3618 deletions(-) _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list