summaryrefslogtreecommitdiff
path: root/daemons
AgeCommit message (Collapse)Author
2025-02-09swapon: Auto-start mach-defpagerSamuel Thibault
Which allows not to start it unless swap is configured, so Mach can know when it is not and avoid trying to use a default memory manager.
2024-12-23Fix port leaksSamuel Thibault
get_privileged_ports adds a port ref, so we have to deallocate it.
2024-12-08Add some runsystem progress debugSamuel Thibault
2024-08-25Fix line-buffered stderrSamuel Thibault
mach_open_devstream creates a fully-buffered stream by default. This prevents from seeing various messages.
2024-02-08runsystem.hurd.sh: Refresh from runsystem.hurd.sh.inSamuel Thibault
2024-02-08runsystem: Check that /servers/socket/1 is really set upSamuel Thibault
In case the image was built through a tarball, /servers/socket/1 might exist but not actually have been configured as pflocal translator. So better check that we do have a translator there, and fix it otherwise.
2024-02-08runsystem.hurd.sh: Try to run bash firstSamuel Thibault
Some systems have /bin/sh pointing to dash, which is even more stressful for users when running in an emergency. Better first try bash. Also try dash too in case /bin/sh is hosed.
2024-02-08runsystem.hurd.sh: Print a newline at bootSamuel Thibault
This helps debugging boot issues.
2024-02-08runsystem.hurd.sh: Do not try to set up translators if we do not have settransSamuel Thibault
2024-02-08runsystem.hurd.sh: Make emergency really an emergencySamuel Thibault
emergency means we want to get a shell as quickly as possible, so we do not want any daemon at all.
2024-02-08runsystem: Do not eat first parameterSamuel Thibault
It has not been the kernel file name any more for a long time already.
2024-02-08runsystem: Do not try to set up translators if we do not have settransSamuel Thibault
2024-02-08runsystem: Try to run bash firstSamuel Thibault
Some systems have /bin/sh pointing to dash, which is even more stressful for users when running in an emergency. Better first try bash. Also try dash too in case /bin/sh is hosed.
2024-02-08runsystem: do not require bashSamuel Thibault
So that people can install just dash.
2023-05-10daemons: Port to x86_64Sergey Bugaev
Message-Id: <20230508213136.608575-26-bugaevc@gmail.com>
2023-04-08Further modernize Hurd code by enforcing strict prototypes and no implicit ↵Flavio Cruz
function declarations. Most of the changes land in one of these buckets: * Removed unused declarations. * Used (void) to represent no parameters instead of () which means an undeterminate number of parameters. * Included missing header files whenever necessary (stdlib.h, sys/mman.h, etc) * Typedefed function pointers to be able to fully declare the parameter types. * Added declarations of library functions that are used elsewhere (example is libps/ps.h). * Made functions static whenever they are only used in that file. * Forwarded declarations of some methods that were made static. Message-Id: <ZDD1o7/tVYeZew+G@jupiter.tail36e24.ts.net>
2023-04-03Modernize code by removing use of old style definitions.Flavio Cruz
Also add -Werror=old-style-definition to enforce new code. Message-Id: <ZBZ+8xf7GHy2RT/h@jupiter.tail36e24.ts.net>
2023-01-01getty: Fix fd leak on errorSamuel Thibault
2021-03-16Do not hardcode /libexec libexecdirSamuel Thibault
So that distributions can use the --libexecdir configure parameter. * configure.ac (AC_CONFIG_FILES): Add daemons/runsystem.hurd.sh. * config/ttys: Rename to ttys.in, replace /libexec with @libexecdir@. * config/Makefile (ttys): Generate from ttys.in * daemons/runsystem.hurd.sh.in (prefix): Define to @prefix@. (exec_prefix): Define to @exec_prefix@. (RUNCOM, RUNTTYS): Replace /libexec with @libexecdir@. * init/Makefile (init-CPPFLAGS): Define LIBEXECDIR. * init/init.c (main): Use LIBEXECDIR instead of hardcoding /libexec. * startup/Makefile (startup-CPPFLAGS): Define LIBEXECDIR. * startup/startup.c (start_child, launch_something): Use LIBEXECDIR instead of hardcoding /libexec.
2018-06-03console-run: do not complain when running with empty /devSamuel Thibault
* daemons/console-run.c (open_console): Do not complain if errno is ENOENT on opening /dev/console.
2017-08-05Use our own variant of 'assert' and 'assert_perror'.Justus Winter
Our variants print stack traces on failures. This will make locating errors much easier.
2016-09-04Fix installing runsystem.hurdSamuel Thibault
* daemons/runsystem.hurd: Rename to daemons/runsystem.hurd.sh * daemons/Makefile (targets): Add runsystem.hurd (special-targets): Likewise. (runsystem.hurd): New rule, simply depends on runsystem.hurd.sh
2015-12-30Add missing libraries to fix link errorsFlavio Cruz
This fixes several linking problems I had in my recent cross-compilation of the Hurd. I added missing static libraries and also organized some of the targets for more concise rules. * console-client/Makefile: Add libiohelp.a and libihash.a. * daemons/Makefile: Add libihash.a and libshouldbeinlibc.a. * devnode/Makefile: Add iohelp and ihash to HURDLIBS. * random/Makefile: Likewise. * trans/Makefile: Reorder targets alphabetically and add libiohelp.a and libihash.a. * utils/Makefile: Add libihash.a.
2015-12-29fix compiler warnings in hurd/daemonsFlavio Cruz
daemons: Fix compiler warnings. * daemons/lmail.c: Initialize cached to 0.
2015-09-06Fix race condition in ext2fs when remountingJames Clarke
On some systems, ext2fs.static would regularly hang at startup, as a race condition meant it would process paging requests while remounting. To fix this, libpager has been altered to allow inhibiting and resuming its worker threads, and ext2fs uses this to inhibit paging while remounting. * console/pager.c (pager_requests): New variable. (user_pager_init): Updated call to pager_start_workers to use new pager_requests variable. * daemons/runsystem.sh: Removed artificial delay working around the race condition. * ext2fs/ext2fs.c (diskfs_reload_global_state): Call new inhibit_ext2_pager and resume_ext2_pager functions, and leave sblock as non-NULL so it will be munmapped. * ext2fs/ext2fs.h (inhibit_ext2_pager,resume_ext2_pager): New functions. * ext2fs/pager.c (file_pager_requests): New variable. (create_disk_pager): Updated call to pager_start_workers to use new file_pager_requests variable. (inhibit_ext2_pager,resume_ext2_pager): New functions. * fatfs/fatfs.h (inhibit_fat_pager,resume_fat_pager): New functions. * fatfs/pager.c (file_pager_requests): New variable. (create_fat_pager): Updated call to pager_start_workers to use new file_pager_requests variable. (inhibit_fat_pager,resume_fat_pager): New functions. * libdiskfs/disk-pager.c (diskfs_disk_pager_requests): New variable. (diskfs_start_disk_pager): Updated call to pager_start_workers to use new diskfs_disk_pager_requests variable. * libdiskfs/diskfs-pager.h (diskfs_disk_pager_requests): New variable. * libpager/demuxer.c (struct pager_requests): Renamed struct requests to struct pager_requests. Replaced queue with queue_in and queue_out pointers. Added inhibit_wakeup field. (pager_demuxer): Updated to use new queue_in/queue_out pointers. Only wake up workers if not inhibited. (worker_func): Updated to use new queue_in/queue_out pointers. Final worker thread to sleep notifies the inhibit_wakeup condition variable. (pager_start_workers): Added out parameter for the requests instance. Allocate heap space shared by both queues. Initialise new inhibit_wakeup condition. (pager_inhibit_workers,pager_resume_workers): New functions. * libpager/pager.h (struct pager_requests): Public forward definition. (pager_start_workers): Added out parameter for the requests instance. (pager_inhibit_workers,pager_resume_workers): New functions. * libpager/queue.h (queue_empty): New function. * storeio/pager.c (pager_requests): New variable. (init_dev_paging): Updated call to pager_start_workers to use new pager_requests variable.
2015-01-03misc: Fix typos in comments (found by codespell)Stefan Weil
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2014-11-21init: add a minimalist init programJustus Winter
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.
2014-02-05daemons/getty: always print a newline before the bannerJustus Winter
* daemons/getty.c (load_banner): Drop first newline from default banner. (print_banner): Print a newline.
2014-01-31daemons/getty: display /etc/issue if availableJustus Winter
Previously, a banner was hardcoded in Hurds getty. Load /etc/issue instead. Fall back to a hardcoded version if that fails. Expand common \char sequences. If no /etc/issue is provided, the old behavior is retained. * daemons/getty.c (load_banner): New function. (print_banner): Expand \char sequences.
2013-10-28Make boot script accept more fsck valuesSamuel Thibault
* daemons/rc.sh: Accept fsck returning 5 and 9 too.
2013-10-22Make boot script reboot when fsck told soSamuel Thibault
* daemons/rc.sh: When fsck returned 2 or 3, reboot the system.
2013-09-19daemons: make sure / is writable before setting up pflocalJustus Winter
runsystem.sh checks whether /servers/socket/1 exists and creates it using settrans -c if it does not. But at this point in the boot the root filesystem is normally not writable. This patch fixes this. * daemons/runsystem.sh: Make sure / is writable before attempting to set up pflocal.
2013-08-29daemons: fix setsid(2) in console-runJustus Winter
Only run setsid(2) if the process is not already the group leader. * daemons/console-run.c (open_console): Fix setsid(2).
2012-09-23Automatically setup local sockets if not already done so.Samuel Thibault
Needed early for shell pipelines. * daemons/runsystem.sh: See whether pflocal is setup already, and do so if not (install case)
2012-09-22Check that runsystem script exists before trying it.Samuel Thibault
* init/init.c (launch_something): Check with file_name_lookup that runsystem script exists before calling start_child. * daemons/console-run.c (main): Check with file_name_lookup that runsystem script exists before opening a console for it.
2012-04-08console-run: Create and settrans /dev/console when not already done.Ludovic Courtès
This patch makes sure /libexec/console-run creates and installs /dev/console on the first run without considering it a failure if it didn't exist already. * daemons/console-run.c (TERMINAL_FIRST_TRY): Change node to `/dev/console'. (TERMINAL_SECOND_TRY): Change node to `/tmp/console'. (open_console): Clear FALLBACK when TRY == 1 and the `file_set_translator' call suceeded.
2011-08-20fix common misspellingsJonathan Neuschäfer
* Fix spelling with codespell[1] and manually review it. [1] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
2011-06-21Set default umask to 022Samuel Thibault
* daemons/runsystem.sh: Call umask 022.
2010-08-01Fix "make dist" in `daemons'.Ludovic Courtès
* daemons/Makefile (SRCS): Add `runsystem.sh'.
2009-07-11Switch to the new ChangeLog style.Thomas Schwinge
* ChangeLog: Wipe out content, and add instructions about how to get it back. * auth/ChangeLog: Remove file. * benchmarks/ChangeLog: Likewise. * boot/ChangeLog: Likewise. * bsdfsck/ChangeLog: Likewise. * config/ChangeLog: Likewise. * console-client/ChangeLog: Likewise. * console/ChangeLog: Likewise. * daemons/ChangeLog: Likewise. * defpager/ChangeLog: Likewise. * doc/ChangeLog: Likewise. * exec/ChangeLog: Likewise. * ext2fs/ChangeLog: Likewise. * fatfs/ChangeLog: Likewise. * fstests/ChangeLog: Likewise. * ftpfs/ChangeLog: Likewise. * hostmux/ChangeLog: Likewise. * hurd/ChangeLog: Likewise. * include/ChangeLog: Likewise. * init/ChangeLog: Likewise. * isofs/ChangeLog: Likewise. * libcons/ChangeLog: Likewise. * libdirmgt/ChangeLog: Likewise. * libdiskfs/ChangeLog: Likewise. * libfshelp/ChangeLog: Likewise. * libftpconn/ChangeLog: Likewise. * libhurdbugaddr/ChangeLog: Likewise. * libihash/ChangeLog: Likewise. * libiohelp/ChangeLog: Likewise. * libnetfs/ChangeLog: Likewise. * libpager/ChangeLog: Likewise. * libpipe/ChangeLog: Likewise. * libports/ChangeLog: Likewise. * libps/ChangeLog: Likewise. * libshouldbeinlibc/ChangeLog: Likewise. * libstore/ChangeLog: Likewise. * libthreads/ChangeLog: Likewise. * libtrivfs/ChangeLog: Likewise. * login/ChangeLog: Likewise. * mach-defpager/ChangeLog: Likewise. * nfs/ChangeLog: Likewise. * nfsd/ChangeLog: Likewise. * pfinet/ChangeLog: Likewise. * pflocal/ChangeLog: Likewise. * proc/ChangeLog: Likewise. * release/ChangeLog: Likewise. * serverboot/ChangeLog: Likewise. * storeio/ChangeLog: Likewise. * sutils/ChangeLog: Likewise. * term/ChangeLog: Likewise. * tmpfs/ChangeLog: Likewise. * trans/ChangeLog: Likewise. * ufs-fsck/ChangeLog: Likewise. * ufs-utils/ChangeLog: Likewise. * ufs/ChangeLog: Likewise. * usermux/ChangeLog: Likewise. * utils/ChangeLog: Likewise.
2008-12-082008-12-08 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makefile (HURDLIBS): Add fshelp and ports.
2007-12-112007-12-11 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* getty.c (main) <execl>: Correctly specify sentinels to avoid GCC 4.3 warnings.
2002-09-152002-09-15 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* getty.c: Include <termios.h>. (set_speed): New function. (main): Take linespec from argc[1], not argc[2]. Call set_speed.
2002-03-26*** empty log message ***Neal H. Walfield
2002-03-262002-03-23 James A. Morrison <ja2morri@uwaterloo.ca>Neal H. Walfield
* console-run.c (open_console): Use ERR, not errno.
2001-12-202001-12-20 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* runsystem.sh: For now, this requires bash.
2001-11-22.Roland McGrath
2001-11-222001-11-21 Roland McGrath <roland@frob.com>Roland McGrath
* runttys.c (setup_terminal, add_terminal, init_ttys): Check for malloc failures. (add_terminal): Fix type used for sizeof calculation in realloc. (init_ttys): Likewise. 2001-11-21 Ryan M Golbeck <rmgolbeck@uwaterloo.ca> * runttys.c (setup_terminal: make_args): Fixed off by one error.
2001-08-20.Roland McGrath
2001-08-202001-08-20 Roland McGrath <roland@frob.com>Roland McGrath
* runsystem.sh: Don't check for MULTIBOOT_CMDLINE environment variable. Instead, expect it as normal arguments from init.