New bootloader module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux