summaryrefslogtreecommitdiff
path: root/startup
AgeCommit message (Collapse)Author
2016-11-01startup: Dump processes if we cannot find the kernel.Justus Winter
* startup/startup.c (dump_processes): New function. (frob_kerne_process): Use the new function.
2016-09-01Fix looping over runsystem possibilitiesSamuel Thibault
* startup/startup.c (launch_something): Always increment TRY even on success, so that if runsystem unexpectedly returns, we get to try a shell instead.
2016-09-01startup: Fix looping over runsystemSamuel Thibault
Thanks Brent W. Baccala for the report. * starpu/startup.c (launch_something): Always increment TRY while looping over runsystem possibilities.
2016-08-08startup: Make the kernel a child of startup.Justus Winter
* startup/startup.c (frob_kernel_process): Make the kernel a child of startup, improve error reporting.
2016-05-09startup: fix blunderJustus Winter
Fixes b04364bc. Thanks to Esa Peuha for spotting this. * startup/startup.c (run): Fix blunder.
2016-04-28startup: write all messages to stderrJustus Winter
This avoids the need to flush the buffer and works around a weird problem with 'puts' not printing a newline. * startup/startup.c: Write all messages to stderr.
2016-04-28startup: use the generated default server implementationsJustus Winter
* startup/Makefile: Set appropriate flags. * startup/startup.c: Drop most stub functions.
2016-04-28startup: add verbose parameterJustus Winter
* startup/startup.c: Add verbose parameter and inform about progress through the bootstrap procedure if it is given.
2016-04-28startup: implement bits of the fs and io protocolsJustus Winter
* startup/Makefile: Build fs and io server with default implementations. (mung_msg_S.h): Tune regexp only to match the include guard. * startup/startup.c (mig_reply_setup): New function. (demuxer): Add new protocols. Nicer implementation. (S_file_check_access): New function. (S_io_restrict_auth): Likewise.
2015-12-29fix compiler warnings in hurd/startupFlavio Cruz
startup: Fix compiler warning. * startup/startup.c (do_mach_notify_dead_name): Fix format string.
2015-07-14exec: fix setting the name of early serversJustus Winter
Previously, the exec server did not set the name of the servers started before the proc server. Instead this was done by the startup server, but this was merely a workaround, missing notably the startup server itself. * exec/exec.c (set_name): New function. (do_exec): Move the code setting the name to a new function, and also call it if the proc server is not started yet. * startup/startup.c (run): Drop hack.
2015-02-08startup: add more error handlingJustus Winter
* startup/startup.c (launch_core_servers): Add more error handling.
2015-01-17proc: call `startup_essential_task' earlierJustus Winter
Previously, the proc server did not call `startup_essential_task' until it got the message port of the startup server using `proc_setmsgport'. Now that we have `/servers/startup', we can do this in main, before we start our message service loop. A complication arises because the traditional startup server is single-threaded. Handle this by tweaking startup not to bind itself to `/servers/startup' before it is ready. * proc/main.c (main): Try to lookup `/servers/startup' and send the message here, or... * proc/msg.c (S_proc_setmsgport): ... fall back to the old way here. * proc/proc.h (startup_fallback): New variable. * startup/startup.c (main): Move code installing ourself on `/servers/startup' (install_as_translator): ... here. (launch_core_servers): And use it here, just before we reply to `/hurd/auth'.
2015-01-17startup: give the tasks we create a nameJustus Winter
* startup/startup.c (run): Name the tasks we start.
2014-12-10Replace `bzero' with `memset'Justus Winter
For reference, this patch was created using the following semantic patch, and then manually applying the change in all functions containing nested functions, as those are not supported by Coccinelle. @@ expression A, B; @@ - bzero (A, B) + memset (A, 0, B) * auth/auth.c: Replace `bzero' with `memset'. * boot/boot.c: Likewise. * defpager/defpager.c: Likewise. * exec/exec.c: Likewise. Also, drop `safe_bzero' and just use `hurd_safe_memset' directly. * ext2fs/ext2fs.c: Likewise. * ext2fs/getblk.c: Likewise. * ext2fs/pager.c: Likewise. * fatfs/pager.c: Likewise. * ftpfs/dir.c: Likewise. * ftpfs/netfs.c: Likewise. * isofs/inode.c: Likewise. * isofs/pager.c: Likewise. * libdiskfs/file-getfh.c: Likewise. * libdiskfs/file-statfs.c: Likewise. * libfshelp/fetch-root.c: Likewise. * libfshelp/start-translator.c: Likewise. * libftpconn/create.c: Likewise. * libftpconn/open.c: Likewise. * libftpconn/unix.c: Likewise. * libpipe/pipe.c: Likewise. * libps/procstat.c: Likewise. * libps/spec.c: Likewise. * libshouldbeinlibc/cacheq.c: Likewise. * libshouldbeinlibc/idvec.c: Likewise. * libshouldbeinlibc/ugids.c: Likewise. * libstore/argp.c: Likewise. * libstore/enc.c: Likewise. * libstore/kids.c: Likewise. * libthreads/alpha/thread.c: Likewise. * libtreefs/fsys.c: Likewise. * libtrivfs/file-statfs.c: Likewise. * mach-defpager/default_pager.c: Likewise. * pfinet/glue-include/asm/uaccess.h: Likewise. * pfinet/io-ops.c: Likewise. * pfinet/options.c: Likewise. * pfinet/socket.c: Likewise. * pfinet/timer-emul.c: Likewise. * pflocal/io.c: Likewise. * startup/startup.c: Likewise. * storeio/storeio.c: Likewise. * sutils/fstab.c: Likewise. * usermux/usermux.c: Likewise. * utils/fakeauth.c: Likewise. * utils/frobauth.c: Likewise. * utils/login.c: Likewise. * utils/x.c: Likewise.
2014-12-07startup: disable default payload to port mappingJustus Winter
startup does not use libports. Therefor, it is not necessary to use the default payload to port translation function. * startup/Makefile (MIGSFLAGS): Disable the default payload to port translation function.
2014-11-21startup: also open `console' for readingJustus Winter
* startup/startup.c (main): Also open `console' for reading.
2014-11-21startup: bind the startup server to /servers/startupJustus Winter
Previously, the Hurd (ab)used the fact that the startup server speaks all protocols on its message port. Any server that wished to register for shutdown notifications would use proc_getmsgport to get a port to the startup server. This hardcodes the PID of /hurd/startup, and does not allow one to point a server to ones own startup server (e.g. using remap). Bind the startup server to /servers/startup instead. Use this to contact the startup server. * exec/main.c (S_exec_init): Use /servers/startup. Fall back to the old method so that the system still boots when the node /servers/startup is missing. * hurd/paths.h (_SERVERS_STARTUP): New macro. * libdiskfs/boot-start.c (diskfs_S_fsys_init): Use /servers/startup. * libdiskfs/init-startup.c (_diskfs_init_completed): Likewise. * pfinet/main.c (arrange_shutdown_notification): Likewise. * startup/Makefile (OBJS): Add fsysServer.o. * startup/startup.c (demuxer): Handle the fsys protocol. (main): Bind to /servers/startup. (S_fsys_getroot): Implement fsys_getroot. Stub out the rest.
2014-11-21startup: fix the declaration of the *_server functionsJustus Winter
* startup/startup.c (demuxer): Fix the declaration of the server functions.
2014-11-21startup: be more specific in the shutdown messageJustus Winter
Use the BOOT macro to print either halt or reboot instead of the generic shutdown in the event of an system shutdown. * startup/startup.c (reboot_system): Use more specific message.
2014-11-21startup: do not pass signals on to the childJustus Winter
Formerly /hurd/startup would forward all signals to the child it started (e.g. /libexec/runsystem). The motivation for doing so is not revealed in the comments, nor it is mentioned in the history of the version control system. This patch removes the forwarding of signals to the child. * startup/startup.c (process_signal): Do not pass signals on to the child. * startup/stubs.c: Remove file. * startup/Makefile: Remove stubs.c.
2014-11-21startup: rename /hurd/init to /hurd/startupJustus Winter
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.