This is the 50% solution for http://fedoraproject.org/wiki/Anaconda/Features/NoMoreKudzu These patches: - replace the use of kudzu for probing in stage2 with HAL usage This seems to me to be the obvious choice - it matches the rest of the system, and allows anaconda to be used as a 'normal' app better. Furthermore, going down this road allows us to fix various warts (network devices, CD locking, etc.) in the live install case better. - start dbus, HAL in stage2 if needed - switch to using udev to create device nodes (not load modules) in stage1 and stage2 HAL uses udev for some device information, and getting anaconda out of the business of creating device nodes seems to me to be an obvious win. - adjust various things as needed to deal with it That leaves the question of what to replace kudzu with in stage1. That is not solved in this patch. Frankly, I think that using udev + hal makes the most sense from a standpoint of not having to duplicate and maintain code in anaconda proper going forward. However, that entails switching to a dynamic stage1 to accomplish that, and the surgery required to upd-instroot and mk-imageds to accomplish that may kill the patient. If we *do* do that, it's a good time to revisit the stage1/stage2 split, especially if we're changing how we download images. If we *don't* do HAL in stage1, then we just want a small shim that pulls block/net devices out of sysfs, and switches the way we load modules. In any case, I figured I'd post this before tackling either of those two options for stage1. Tested in KVM, doing a CD install. There are almost certainly warts remaining in driver disk/updates images. For the curious, size differences (udev in stage1, hal/dbus in stage2): before after initrd 6.9M 7.2M stage2 103M 104M Full diffstat: b/anaconda | 61 ++++++- b/dmraid.py | 6 b/exception.py | 37 ++-- b/fsset.py | 32 ---- b/image.py | 2 b/installmethod.py | 2 b/isys/Makefile | 2 b/isys/dasd.c | 1 b/isys/eddsupport.c | 7 b/isys/isys.c | 19 -- b/isys/isys.h | 3 b/isys/isys.py | 192 ++++++++----------------- b/iutil.py | 84 ---------- b/loader2/cdinstall.c | 52 ++---- b/loader2/driverdisk.c | 34 +--- b/loader2/hdinstall.c | 10 - b/loader2/init.c | 5 b/loader2/loader.c | 28 +-- b/loader2/method.c | 69 +++------ b/loader2/nfsinstall.c | 4 b/loader2/urlinstall.c | 12 - b/network.py | 69 ++------- b/partedUtils.py | 33 +--- b/partitions.py | 7 b/raid.py | 3 b/scripts/mk-images | 9 + b/scripts/upd-instroot | 40 ++++- isys/devnodes.c | 375 ------------------------------------------------- 28 files changed, 318 insertions(+), 880 deletions(-) Bill _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list