Re: [PATCH] move from our own init to systemd

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

 



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


[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