Age | Commit message (Collapse) | Author |
|
This patch adds a minimalist init program. It is somewhat lacking in
features, but is able to bring up a Hurd system with the runsystem and
rc scripts. In fact, it roughly does what the former /hurd/init did,
modulo all the very early bootstrapping stuff and the startup
protocol. It is started when all the essential servers are up and
running, so it can make use of most of the POSIX goodies, making its
implementation much simpler.
* Makefile (prog-subdirs): Add init.
* daemons/runsystem.sh: Generalize runsystem so that it can start any
init as specified on the kernel command line. By default, it starts
/hurd/init.
* daemons/runsystem.hurd: This is a verbatim copy of runsystem.sh. It
is started by /hurd/init.
* daemons/rc.sh: Do not start /hurd/mach-defpager as it is already
started in runsystem.sh.
* daemons/Makefile (SRCS): Add runsystem.hurd.
* init/Makefile: New file.
* init/init.c: Likewise.
|
|
This patch series splits /hurd/init into two programs. As a first
step, this patch renames /hurd/init to /hurd/startup. It is called
startup because it speaks the startup protocol.
* startup: Rename init to startup. Adjust accordingly.
* Makefile (prog-subdirs): Likewise.
* doc/hurd.texi (Server Bootstrap): Likewise.
* hurd/paths.h (_HURD_STARTUP): Likewise.
* libdiskfs/boot-start.c (diskfs_boot_init_program): Likewise.
* libdiskfs/opts-std-startup.c (startup_options): Likewise.
|
|
* init.c [! SPLIT_INIT]: All this code removed.
[SPLIT_INIT]: This code no longer conditional.
(_PATH_RUNCOM, mapped_time, do_fastboot): Removed.
* Makefile (split-init): Variable removed.
(SRCS): Add stubs.c here unconditionally.
[$(split-init) = no]: Conditional defns removed.
(LCLHDRS): Variable removed.
* ttys.c, ttys.h: Files removed.
|
|
* Makefile (split-init): Set to `yes' by default.
|
|
* Makefile (HURDLIBS): Add ports and fshelp only if $(split-init)!=yes.
|
|
|
|
* init.c [SPLIT_INIT] (child_pid, child_task): New variables.
(process_signal, start_child, launch_something, launch_system): New
functions.
[! SPLIT_INIT] (system_state, shell_pid, rc_pid, launch_single_user,
process_rc_script, launch_multi_user, launch_system, kill_everyone,
kill_multi_user, process_signal): Variables and functions put inside
#ifndef SPLIT_INIT.
* stubs.c: New file, modified from ../proc/stubs.c.
* Makefile (SRCS): Remove ttys.c here.
[$(split-init) = yes] (SRCS): Add stubs.c
[$(split-init) = yes] (init-CPPFLAGS): New variable, -DSPLIT_INIT.
[$(split-init) = no] (SRCS): Add ttys.c only here.
[$(split-init) = no] (LDLIBS): Put defn (-lutil) under this test.
(split-init): New variable to turn on split-init, commented out.
|
|
Move all the /etc/ttys handling stuff into a separate source file.
* init.c (_PATH_LOGIN, WINDOW_DELAY, struct terminal,
nttys, ttyslen, setup_terminal, add_terminal,
init_ttys, free_ttys, startup_terminal, startup_ttys,
find_line, restart_terminal, shutdown_terminal, reread_ttys): Move to
* ttys.c: ... here, new file.
* ttys.h: New file, declare external functions in ttys.c.
* Makefile (SRCS): Add ttys.c.
(OBJS): Derive from $(SRCS).
(LCLHDRS): New variable, add ttys.h.
|
|
|
|
(init): Dependcy on -lutil removed.
(libutil-libsubst): Variable removed.
|
|
lose).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(init.o): Depend on msg_S.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|