Chris Lumens <clumens@xxxxxxxxxx> wrote: > The attached patch set gets rid of anaconda's init.c and moves us to being > started up as a service by systemd. This required work in both anaconda and > lorax. I have tested this as a regular install, kickstart install, with > nokill, and as a serial install. > > Plenty of stuff works. Plenty of other stuff likely does not work. In > particular, restart-anaconda needs work. There may also be some logging > and console printing stuff that can be cleaned up. However, I consider > all of that to be polish that can wait until after this big patch set > is in and we're building images with it. There may also be more stuff > that can come out. We do a lot of miscellaneous mounting and program > running. > > The patches should be fairly straightforward to follow. Basically, I got > rid of init.c, simplified all the reboot/shutdown/halt logic, and added > some support files to start up anaconda from systemd. I really like what this patch set changes up. The fact that we can really move to the standard system init is very appealing. I do not think we should hold up this patch set for s390 changes, but there will be a fair amount of work to hack up and dismantle linuxrc.s390. I would like systemd to start up as init on s390 just like it does on the non-s390 platforms, and then use the unit file dependency capability to have it run either one or multiple interactive device configuration programs. The whole point of linuxrc.s390 is to bring up system devices and set up networking so we can lauch loader when the user logs in via ssh. Because that needs to happen before loader runs and we have historically had our init.c launch loader, linuxrc.s390 became init on that platform. The parts of linuxrc.s390 we'll need to salvage are the prompts and validation code for different device types. The parts that make the script work enough like init so it can be init can be trashed. I would very much like to have these parts rewritten in Python since we have that now in initrd.img, or at the very least multiple smaller shell scripts divided in to logical tasks. At any rate, we can keep linuxrc.s390 around for now. > Here's the anaconda patch statistics: > > anaconda | 34 +- > anaconda.spec.in | 1 + > configure.ac | 1 + > data/Makefile.am | 2 +- > data/bootdisk/i386/syslinux.cfg | 6 +- > data/bootdisk/x86_64/syslinux.cfg | 6 +- > data/systemd/Makefile.am | 32 ++ > data/systemd/anaconda-shell.service | 12 + > data/systemd/anaconda.target | 2 + > data/systemd/loader.service | 13 + > data/systemd/tmp.mount | 9 + > loader/Makefile.am | 13 +- > loader/devices.h | 103 ---- > loader/init.c | 932 ----------------------------------- Nice! > loader/init.h | 31 -- > loader/kickstart.c | 25 - > loader/loader.c | 468 +++++++++--------- > loader/loader.h | 6 +- > loader/serial.c | 220 ++++++++ > loader/serial.h | 9 + > loader/shutdown.c | 217 -------- > loader/undomounts.c | 235 --------- Also nice! > pyanaconda/iw/language_gui.py | 1 + > pyanaconda/kickstart.py | 1 + > pyanaconda/language.py | 20 +- > pyanaconda/textw/language_text.py | 1 + > scripts/restart-anaconda | 29 +- > 27 files changed, 601 insertions(+), 1828 deletions(-) > > Any questions? Only comments, see above. -- David Cantrell <dcantrell@xxxxxxxxxx> Supervisor, Installer Engineering Team Red Hat, Inc. | Honolulu, HI | UTC-10 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list