2002-01-02  Roland McGrath  <roland@frob.com>

	* init.c [KERN_INVALID_LEDGER]:
	Pass extra arguments to task_create for OSF variant.

2001-08-23  Roland McGrath  <roland@frob.com>

	* init.c (main): Pass ARGP_NO_ERRS|ARGP_IN_ORDER to argp_parse.

2001-08-20  Roland McGrath  <roland@frob.com>

	* 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.

	* init.c (kernel_command_line): Variable removed.
	(options, parse_opt): Remove -K option.
	(frob_kernel_process): Collect arguments from &global_argv[1]
	instead of slicing up kernel_command_line.
	(start_child): Take a second arg, if non-null more arguments for PROG.
	(launch_something): Change caller.  On first try, pass &global_argv[1].

2001-07-02  Roland McGrath  <roland@frob.com>

	* init.c (reboot_system): Don't pass null pointer to RPC out param.
	Thanks to Moritz Schulte <moritz@chaosdorf.de> for finding this.

2001-01-17  Neal H Walfield  <neal@cs.uml.edu>

	* init.c (open_console): Conform to new fshelp_start_translator
	semantics.

2000-12-21  Marcus Brinkmann  <marcus@gnu.org>

	* init.c (process_rc_script): If malloc fails, return ENOMEM.
	Reported by Igor Khavkine <i_khavki@alcor.concordia.ca>.

2000-03-17  Thomas Bushnell, BSG  <tb@mit.edu>

	* init.c (launch_core_servers): Don't use MOVE_SEND in Hurd RPCs.

2000-03-13  Roland McGrath  <roland@baalperazim.frob.com>

	* stubs.c (send_signal): Don't use mach_msg_destroy, since it wants
	the local/remote ports reversed.  Destroy the rights by hand instead.

	* stubs.c (send_signal): Make MESSAGE auto instead of static.
	Take new argument TIMEOUT, passed to mach_msg instead of zero.
	(send_signal): For MACH_SEND_TIMED_OUT failure, destroy the
	pseudo-received message to avoid leaking send rights.

	* init.c (process_signal): Pass new argument, timeout of 500 ms.

1999-09-28  Thomas Bushnell, BSG  <tb@mit.edu>

	* init.c (frob_kernel_process): Allocate the kernel's page in the
	actual kernel task, not in our own.  I wonder how this ever
	worked.  Also if we fail in that allocation, free the page we
	allocated in our own space.

1999-08-24  Roland McGrath  <roland@baalperazim.frob.com>

	* init.c (notify_shutdown): Add const to argument type.

1999-07-24  Roland McGrath  <roland@baalperazim.frob.com>

	* Makefile (split-init): Set to `yes' by default.

1999-07-10  Roland McGrath  <roland@baalperazim.frob.com>

	* init.c: Add #include <sys/mman.h> for munmap decl.

1999-07-09  Thomas Bushnell, BSG  <tb@mit.edu>

	* init.c (frob_kernel_process): Use mmap instead of vm_allocate.

1999-07-03  Thomas Bushnell, BSG  <tb@mit.edu>

	* init.c (reboot_system): Use munmap instead of vm_deallocate.
	(frob_kernel_process): Likewise.
	(kill_everyone): Likewise.

1999-06-19  Roland McGrath  <roland@baalperazim.frob.com>

	* Makefile (HURDLIBS): Add ports and fshelp only if $(split-init)!=yes.

	* init.c (open_console): Put this function inside [! SPLIT_INIT].

1999-06-18  Roland McGrath  <roland@baalperazim.frob.com>

	* 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.

1999-06-15  Roland McGrath  <roland@baalperazim.frob.com>

	* init.c (booted): New variable.
	(open_console): Use that instead of system_state.
	(S_startup_essential_task): Likewise.
	(do_mach_notify_dead_name): Likewise.
	(launch_system): New function.
	(S_startup_essential_task): Call it.

	* init.c (global_argv): Make static.

	* init.c (startup_envz, startup_envz_len): New variables.
	(run, run_for_real): Use those for child environment.
	(main): Set them up from our ENVP argument.

1999-06-14  Roland McGrath  <roland@baalperazim.frob.com>

	* init.c (main): Barf if run in a normal Hurd environment (not boot).

	* init.c (record_essential_task): Add missing return.

	* ttys.c: Include "ttys.h".

1999-06-13  Roland McGrath  <roland@baalperazim.frob.com>

	* init.c (kill_multi_user): Suggest `ps -AlM' in error message.

	* init.c (record_essential_task): New function, broken out of
	S_startup_essential_task.
	(S_startup_essential_task): Call it.
	(frob_kernel_process): Call it for kernel task port.
	(kill_everyone): Remove special case for PID 2 (kernel task).

	* init.c (run): Add const to SERVER arg, PROG local.
	Don't trim directory name from PROG for argument.

	* ttys.c (struct terminal): Use `pid_t' for `pid' member.
	(ttys, nttys, ttyslen): Make variables static.
	(setup_terminal, add_terminal, find_line, startup_terminal,
	shutdown_terminal): Make all these functions static.

	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.

1999-06-05  Roland McGrath  <roland@baalperazim.frob.com>

	* init.c (request_dead_name): New function.
	(S_startup_request_notification, S_startup_essential_task): Use it.
	(run): Request dead-name notification for new task.
	(main): Request dead-name notification for FSTASK.
	(do_mach_notify_dead_name): If system_state is INITIAL, recognize
	FSTASK, AUTHTASK, PROCTASK specifically and crash with appropriate msg.

1999-06-04  Roland McGrath  <roland@baalperazim.frob.com>

	* init.c (launch_core_servers): Use proc_child on the proc server task
	to register it with itself as our child.  Snarf its proc port and use
	proc_mark_exec do remove that unsightly `f', as we do for the other
	bootstrap processes.

1999-06-02  Roland McGrath  <roland@baalperazim.frob.com>

	* init.c (frob_kernel_process): If no --kernel-command-line option,
	try `getenv ("MULTIBOOT_CMDLINE")' before defaulting to "(kernel)".

1999-06-01  Roland McGrath  <roland@baalperazim.frob.com>

	* init.c (CRASH_FLAGS): Macro removed.
	(crash_flags): New variable replaces it.
	(crash_mach, crash_system): Use crash_flags instead of CRASH_FLAGS.
	(options, parse_opt): Add --crash-debug/-H, to set crash_flags to
	RB_DEBUGGER.

	* init.c (kernel_command_line): New variable.
	(frob_kernel_process): New function.
	(S_startup_essential_task): Call it after init_stdarrays.
	(options): Add --kernel-command-line/-K option.
	(parse_opt): Grok -K, set kernel_command_line.

Sat Mar  6 17:13:48 1999  Thomas Bushnell, BSG  <tb@mit.edu>

	* init.c (do_mach_notify_dead_name): Deallocate the extra
	reference to NAME that the notification carries.

Tue Feb 16 18:54:33 1999  Thomas Bushnell, BSG  <tb@mit.edu>

	* init.c (shutdown_terminal): Revoke access to the terminal from
	existing programs.

1998-10-24  Roland McGrath  <roland@baalperazim.frob.com>

	* init.c (main): Don't bogusly clear bootstrap_args.
	Reported by OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>.

Tue May 12 12:03:38 1998  Thomas Bushnell, n/BSG  <tb@mit.edu>

	* init.c (setup_terminal): Free LINE after done using it.
	(process_rc_script): Likewise free RCARGS.
	Both reported by Katusya Tanaka (wyvern@pb3.so-net.ne.jp).

1997-06-30  Miles Bader  <miles@gnu.ai.mit.edu>

	* init.c (bootstrap_args): Initialize to 0.
	(parse_opt): New function.
	(options, doc): New variables.
	(main): Parse args using argp.
	Include <argp.h>.

Thu Sep 12 16:32:31 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* Makefile (HURDLIBS): New variable.
	(init): Delete special target.

	* Makefile (mung_msg_S.h): Put rule *after* inclusion of Makeconf.

Thu Sep  5 11:12:32 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* init.c: Include <version.h>.
	(init_version): Delete variable.
	(launch_core_servers): Pass empty string as release; HURD_VERSION
	as version.

Tue Aug 13 17:51:38 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* Makefile (init): Remove -lutil.
	(libutil-libsubst): Variable removed.
	(LDLIBS): New variable.

Mon Aug 12 11:12:22 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* init.c (setup_terminal): Declare LINE.
	(add_terminal): Don't declare LINE.

Thu Aug  8 16:34:06 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* init.c (setup_terminal): New function.
	(add_terminal): Use setup_terminal.
	(reread_ttys): When turning an existent terminal spec on, call
	setup_terminal before startup_terminal.

	* init.c (struct terminal): New member `read'.
	(shutdown_terminal): New function.
	(reread_ttys): Use shutdown_terminal instead of doing it by hand.
	Keep track of which ttys we used to know about are no longer in
	/etc/ttys, and treat them as now `off'.

	* init.c (kill_everyone): `continue' in the essential task case
	didn't go back to the main loop; fix it up correctly.

Tue Jul 16 11:55:09 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (process_signal): Set WUNTRACED in call to waitpid.

Sun Jul  7 21:18:10 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (init_stdarrays): Don't use unsafe MOVE_SEND in call to
	interruptible proc_setexecdata.
	(open_console): Likewise, for file_set_translator.

Wed Jul  3 14:46:41 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* Makefile (init): Add libports (because libfshelp.so requires it,
 	lose lose lose).

	* init.c (process_signal) [case SIGCHLD]: Correctly place `break'
 	*outside* of for loop.

Mon Jul  1 18:07:56 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (process_signal): On SIGCHLD, keep reaping children until
 	we get an error; tolerate all errors silently.

Mon Jun 24 16:29:24 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (kill_multi_user): Kill user tasks before doing
 	notify_shutdown.

Fri Jun 21 16:17:08 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* init.c (open_console): Pass correct length of argument vector
	when setting active translators.
	<maptime.h>: New include.
	(open_console): Print error messages for /dev/console failures.
	Reduce the scope of some variables.

Thu Jun 20 14:51:14 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (mapped_time): New variable.
	(launch_multi_user): Initialize mapped_time.

	* init.c (_PATH_RUNCOM): Move to /libexec/rc.

Wed Jun 19 14:49:08 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (run_for_real): Doc fix.
	(startup_terminal): Deal properly if one of the run_for_real's
	fails.
	(launch_single_user): If the shell can't be started, crash the
	system.
	(process_rc_script): Return non-zero if run_for_real fails.
	(process_signal) [SIGCHLD]: If process_rc_script fails, go back to
	single-user.
	(S_startup_essential_task): Likewise.
	(init_ttys): Return non-zero if we fail.
	(startup_terminal): Return non-zero if we don't actually start
	anything.
	(startup_ttys): Return non-zero if we fail.
	(launch_multi_user): If init_ttys fails, go back to single.  If we
	go multi, actually set system_state accordingly.  If startup_ttys
	fails, go back to single.
	(init_ttys, reread_ttys): Test return value of setttyent
	correctly.

Mon Jun 17 14:05:33 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* Makefile (libutil-libsubst): Define (as -lutil); and link
	against -lutil.
	* init.c: Include <ttyent.h>, <argz.h>, and <utmp.h>.
	(add_terminal, init_ttys, free_ttys, startup_terminal,
	startup_ttys, find_line, reread_ttys, restart_terminal): New functions.
	(launch_multi_user): Use new functions to do things right.
	(session_pid): Delete variable.
	(kill_multi_user): Call free_ttys.
	(process_signal) [SIGHUP]: Call reread_ttys.
	[SIGCHLD/MULTI]: Call restart_terminal.

	* init.c (run_for_real): New arg `setsid'; only do setsid if it's
	set.  All callers changed.  Return the pid of the new program,
	not the task port.  All callers changed.

	* Makefile (dir): Now init.

	* init.c: Include "mung_msg_S.h" instead of "msg_S.h".
	(S_msg_sig_post, S_msg_sig_post_untraced): Include SIGCODE parm.
	* Makefile (mung_msg_S.h): New rule.

Mon Jun 17 00:17:37 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* init.c (run_for_real, open_console, process_signal, reboot_mach,
	run_for_real, run, reboot_system): Use error instead of fprintf.
	(notify_shutdown): Always emit terminating newline.

Fri Jun 14 11:07:30 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c: Include <paths.h>, <error.h>, <sys/wait.h>, and
	<hurd/msg_reply.h>.
	(S_startup_essential_task): When all core servers have
	showed up, call launch_single_user only if RB_SINGLE; otherwise
	call process_rc_script.  Call init_stdarrays here.
	(open_console): New function; massaged guts taken from
	launch_single_user.  Be more verbose if we do something unusual.
	(launch_single_user): Call open_console.  Don't call
	init_stdarrays here.
	(system_state, default_ints): New variables.
	(main): Initialize SYSTEM_STATE and DEFAULT_INTS.
	(run_for_real): Pass default_ints.
	(run): Likewise.
	(S_startup_essential_task): Delete var INITDONE; use SYSTEM_STATE
	instead.
	(launch_single_user): Set SYSTEM_STATE to SINGLE.
	(process_rc_script): New function.
	(launch_multi_user): New function.
	(kill_everyone): New function.
	(kill_multi_user): New function.
	(do_fastboot, rc_pid, session_pid): New variables.
	(process_signal): New function; guts from S_msg_sig_post_untraced.
	Handle state transitions here when programs exit.  Process
	SIGTERM, and SIGHUP appropriately.
	(_PATH_RUNCOM, _PATH_LOGIN): New macros.
	(S_msg_sig_post_untraced): Only validate signal here; use
	process_signal to do the work, but reply first.
	(S_msg_sig_post): Likewise.
	(notify_shutdown): New function.
	(reboot_system): Use notify_shutdown.

Wed Jun 12 16:01:17 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (S_startup_request_notification): Fill NT->name properly.

Mon May 27 11:33:53 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* init.c (launch_single_user): Open TERM RDWR.
	Use openport to get FD from TERM.
	Print errno on assertion failure for FD.

Fri May 24 12:29:20 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (reboot_mach): Insert a brief pause before actually
 	rebooting the kernel so that the user has a chance to see any
 	messages that may be displayed.

Tue May 14 11:26:49 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (S_msg_get_exec_flags, S_msg_set_all_exec_flags,
 	S_msg_set_some_exec_flags, S_msg_clear_some_exec_flags): Delete
 	functions.
	(S_msg_describe_ports): New function.

	* init.c (reboot_system): Print prettier messages for shutdown
 	notifications.

Fri May 10 09:25:16 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c: <hurd/startup_notify.h> -> "startup_notify_U.h".
	* Makefile (OBJS): Add startup_notifyUser.o.

Thu May  9 19:03:24 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (struct ntfy_task): New member `name'.
	(S_startup_request_notification): Expect and record name.
	(S_msg_startup_dosync): Delete function.
	Include <hurd/startup_notify.h>.
 	(reboot_system): Use new startup_dosync interface.

	* init.c (init_stdarrays): Use new authentication interface.

Mon May  6 14:25:02 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (init_version): Upgrade to 0.0.

Mon Apr 29 16:49:18 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (reboot_system): Not quite yet, though.

Sun Apr 28 19:15:30 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* init.c (reboot_system): Use 1 minute timeout on reply to
 	msg_startup_dosync.

Wed Apr 17 17:06:30 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* init.c (launch_single_user): Set an active, not passive,
 	translator on /tmp/console, so it works with / read-only.
	* Makefile (init): Depend on libfshelp.

Mon Mar 25 16:55:22 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* Makefile (init): Add explicit dependency so that
 	libshouldbeinlibc is included.
	* init.c: Include <wire.h>.
	(main): Delete declarations of _etext _edata, and __data_start.
	(main): Use new wire_task_self function instead of doing it ourselves.

Tue Dec 19 18:29:19 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* init.c (launch_core_servers, run_for_real): Call proc_mark_exec
	on child proc ports.

Tue Dec  5 15:22:25 1995  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* init.c (launch_single_user): Change initialization of TERMINAL
 	to match new term driver arg syntax.  Start terminal as ordinary
 	passive translator instead of special weird kludge.  Deleted
	variables foobiebletchcount, foobiebletch, and termtask.

Sun Nov  5 02:03:33 1995  Miles Bader  <miles@gnu.ai.mit.edu>

	* init.c (reboot_system): Add flags, noise, & noise_len params to
	proc_getprocinfo.  Deallocate NOISE if necessary.
	(S_msg_report_wait): New function.

Tue Oct 24 16:49:08 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* init.c: Undo last change of 9Oct95.

Mon Oct  9 04:29:39 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* init.c: Pass dealloc args in file_exec calls.

Thu Jul  6 15:34:23 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>

	* init.c (S_msg_sig_post, S_msg_sig_post_untraced): Reverse order
 	of these definitions.

	* init.c: Include <hurd/msg_server.h>.
	(reboot_mach): Insert extra parens around assignment inside while
	test.
	(launch_core_servers): Remove assignment from inside if test.

	* Makefile: Removed dependencies that are now automatically
 	generated.

Thu Feb  9 17:18:21 1995  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* init.c (S_msg_sig_post_untraced): Omit obnoxious "random child
	died" messages.

Sat Jan 28 15:00:37 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* init.c: Include "msg_S.h".  Prepend `msg_' to msg.defs server
 	functions.  Add stubs for new msg.defs functions.

Thu Jan 19 01:59:30 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* init.c: Prepend `msg_' to names of msg.defs RPCs.

Mon Nov 28 15:00:42 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* init.c (run_for_real): Print error msg if file_exec fails.
	(shell_pid): New variable.
	(demuxer): Also try msg_server.
	(launch_single_user): Open terminal O_RDWR and dup to 0, 1, 2.
	Set shell_pid after starting shell.
	(S_sig_post): New function; grok SIGCHLD and restart shell if
	shell_pid dies.
	* Makefile (OBJS): Add msgServer.o.
	(init.o): Depend on msg_S.h.

Fri Nov 11 14:06:43 1994  Michael I Bushnell  <mib@churchy.gnu.ai.mit.edu>

	* init.c (fakeboot): New variable.
	(STANDALONE): Deleted macro.
	(main): Set FAKEBOOT if -f was passed.
	(reboot_mach): Use FAKEBOOT flag instead of STANDALONE macro.
	(launch_core_servers): Likewise.
	(reboot_system): Likewise.  Also don't exit here; let
	reboot_mach exit.

Tue Nov  1 04:13:49 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* init.c (main): Use &_start for start of text to wire.
	(main): Use assert_perror in place of `assert (!err)'.
	(launch_single_user): Use _PATH_CONSOLE and _PATH_BSHELL instead
	of hardcoded strings.
	Check for error from io_stat on console, print message.
	Add #if 0'd code to prompt for shell name.

Tue Sep  6 13:09:40 1994  Michael I Bushnell  <mib@churchy.gnu.ai.mit.edu>

	* init.c (launch_single_user): Don't run device or pipes
	servers by default.  Run terminal server inside /tmp if
	/dev/console isn't set up properly.

Wed Aug 31 01:03:51 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* init.c (launch_single_user): Test TERMTASK as port, not boolean;
	if null, properly initialize TERM to MACH_PORT_NULL as well.

Tue Aug 30 17:07:07 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* init.c: Include <hurd/term.h>.

	* init.c (run): Use file_name_lookup instead of path_lookup.
	(launch_single_user): Likewise.
	(run_for_real): Likewise.

	* init.c (init_stdarrays): Use new authentication protocol.

Mon Aug 22 16:44:11 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* init.c (run_for_real): If CTTY is set, then also put the process
	in its own login collection.

Fri Aug 19 12:16:47 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* init.c (run_for_real): New arg `ctty'.  All callers changed.
	If it's set, then set the new process's INIT_PORT_CTTYID
	accordingly, and change CTTY's owner to be the new process pgrp.
	(launch_single_user): Don't free TERM right away, only do it
	after we've passed it to run_for_real on the shell.

Thu Aug 18 16:48:08 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* init.c (main): Print informative bootstrap messages.
	(launch_core_servers): Likewise.
	(launch_single_user): Likewise.
	(run): Don't print meaningless bootstrap clutter.

	* init.c (launch_single_user): Use task_info; it's less intrusive
	than task_suspend/task_resume.

	* init.c (launch_single_user): Run pipes before shell.

	* init.c (launch_single_user): Pause a bit to give term a chance
	to startup.

	* init.c (bootstrap_args): New variable.
	(main): Set `bootstrap_args' appropriately from argv[1].
	(prompt_for_servers): Deleted variable.
	(run): Use RB_INITNAME instead of prompt_for_servers.
	Only do `pausing' hack if RB_KDB is set.
	(run_for_real): Likewise.

	* init.c (main): Wire text and data segment soon after starting.

Wed Aug 17 19:20:51 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* init.c (run_for_real): Call proc_setsid on new proc.

Wed Aug 17 14:04:18 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* init.c (init_stdarrays): New function.
	(launch_single_user): Call init_stdarrays.

Tue Aug 16 00:44:20 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* init.c (launch_single_user): Prompt whether to run term or dev.

	* init.c (main): Set default_ports[INIT_PORT_BOOTSTRAP] to STARTUP
	while running proc and auth, and then reset it to null.

Mon Aug 15 23:16:24 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* init.c (launch_single_user): Use a volatile var to choose dev or
	term, so you can set it in gdb.
	(main): Set bootstrap port to MACH_PORT_NULL after fetching it.
	Don't set default_ports[INIT_PORT_BOOTSTRAP]; it should be nil.

Mon Aug 15 11:40:34 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* init.c (launch_core_servers): Renamed from launch_system.
	Don't start dev, term, pipes, or shell here.
	(S_startup_procinit): Call launch_core_servers instead of
	launch_system.
	(S_startup_authinit): Likewise.
	(launch_single_user): New function.
	(S_startup_essential_task): Call launch_single_user once
	all the core servers have registered themselves here.

Fri Aug 12 14:05:07 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* init.c (launch_system): Comment out use of dev for now.

Thu Aug 11 12:25:32 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* init.c (launch_system): Run dev instead of term.

Thu Jul 21 17:45:45 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* Makefile: Rewritten in accord with new scheme.
	* init.c: Include "startup_reply_U.h instead of "startup_reply.h".
	(demuxer): Remove S_ from references to startup_server.

Tue Jul 19 20:36:30 1994  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)

	* init.c (run_for_real): Moved unused var BUF inside #if 0 where used.
	(launch_system): Call proc_set_arg_locations, not proc_setprocargs.

Tue Jul 19 12:44:56 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* Makefile (init): Don't use variable $(link) anymore.

Tue Jul  5 14:21:34 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* init.c (launch_system): After terminal driver is running,
	reopen stdin so that we always read through it.  Don't do
	output, because that (for reliability) shouldn't depend
	on the terminal driver.
	(main): Open stdin separately from stdout/stderr.

	* Makefile (SRCS): New variable.

Fri Jul  1 11:19:46 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* init.c (run_for_real): Return the task we created.  All callers
	changed.

Tue Jun 21 14:08:37 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* init.c (launch_system): Correct first arg to pipes.

Mon Jun 20 15:06:19 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* init.c (launch_system): Look for pipes in /hurd/pipes, not
	/bin/pipes.

	* init.c (run_for_real): Comment out old code that prompts user;
	abandon attempt if we can't run something.

	* Makefile (install): Use $(INSTALL_BIN) instead of cp.

Fri Jun 17 00:13:50 1994  Roland McGrath  (roland@geech.gnu.ai.mit.edu)

	* init.c (demuxer): Use S_startup_server instead of startup_server.

Wed Jun 15 18:14:59 1994  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* init.c (launch_system): Start pipes server after starting shell.

	* init.c (run_for_real): New parms ARGS and ARGLEN.  All callers
	changed.

Tue May 24 02:20:55 1994  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)

	* init.c (launch_system): Start the shell before doing proc_setmsgport.

Tue May 24 00:05:43 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* init.c (launch_system): Call proc_setmsgport before fsys_init.

Mon May 16 14:43:47 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* init.c (reboot_system): Restore bits commented out on May 12;
	the proc bug responsible has been fixed.

Fri May 13 14:59:12 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* init.c (launch_system):  Make sure the auth server's proc state
	is correct *before* calling startup_authinit_reply.

Thu May 12 15:13:10 1994  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* init.c (reboot_system): Comment out bits checking to see
	if the procserver has died; they aren't quite right.

	* init.c (S_startup_essential_task): Don't take over the exception
	port of the task right now; this interferes with things too much.

Thu May 12 02:22:08 1994  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)

	* init.c (launch_system): Don't call _hurd_proc_init; just call
	proc_setprocargs ourselves.
	(launch_system): Do proc_setmsgport last.
	(run, run_for_real): Pass argv[0] with name of program.

Mon May  9 14:30:11 1994  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* init.c (init_version): New variable.
	(launch_system): Call proc_register_version; don't call
	proc_setprocargs (which is done by _hurd_proc_init).  Give
	correct argument to _hurd_proc_init.

	* init.c (S_startup_register_version, S_startup_uname): Deleted.

Fri May  6 13:01:04 1994  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* init.c (S_startup_register_version, S_startup_uname):
	New functions (temporary only).

Thu May  5 19:15:39 1994  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* init.c: Include <hurd/msg.h> for prototype of startup_dosync.
	Change return types of MiG stubs to be kern_return_t.
	(S_startup_essential_task): Expect new arg CREDENTIAL and
	validate it.

Thu May  5 07:44:21 1994  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)

	* Makefile: Change uses of $(headers) to $(includedir).