Joachim Nilsson
f337efcc35
Debian GNU/Linux: Update install script
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-10-10 16:13:22 +02:00
Joachim Nilsson
3c7eaff7b3
Debian GNU/Linux: Update and sync build instructions with Alpine
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-10-10 12:00:04 +02:00
Joachim Nilsson
d4d42a7a75
Debian GNU/Linux: Convert finit.conf to finit.d/*.conf
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-10-10 11:59:29 +02:00
Joachim Nilsson
3c1c5621a5
Alpine Linux: Slight update + sync with Debian
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-10-10 11:46:02 +02:00
Joachim Nilsson
2d9c147e0e
Minor, fix comment within comment GCC warning
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-10-09 09:03:58 +02:00
Joachim Nilsson
53de1c8575
Follow-up to issue #81 , don't append error message again.
...
Also, when called multiple times, return workaround immediately instead
of warning again.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-10-01 22:07:21 +02:00
Joachim Nilsson
3d4e3c99ed
Fix #81 : Workaround for systems without SYSV shm IPC support
...
We should not let PID 1 fail on systems where Linux is built without
CONFIG_SYSVIPC, or the libc does not support shmget()/shmat().
This workaround implements a fallback to using calloc() for PID 1,
which means the initctl tool will not work properly. A better fix
would be to refactor the shm implementation to instead have initctl
call Finit using api.c for each svc_t. This has been added to the
TODO file as future work.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-10-01 20:52:01 +02:00
Joachim Nilsson
c1b6c7e840
TODO: Remove shm, as soon as possible
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-10-01 20:01:57 +02:00
Joachim Nilsson
f17515d791
Merge pull request #80 from joerg-krause/patch-1
...
helpers.h: fix build error: unknown type name ‘va_list’
2017-10-01 18:56:45 +02:00
Joachim Nilsson
9d9dc74768
Minor corrections
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-10-01 01:26:43 +02:00
Joachim Nilsson
e1d1d1c795
Makefile: Remove service script wrapper from distribution as well
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-30 12:16:33 +02:00
Joachim Nilsson
fcfef0af47
Initial cleanup + refactor of Debian contrib files
...
We should no longer need to rely on runparts to handle initial set up of
keyboard and console.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-30 10:26:03 +02:00
Joachim Nilsson
c44c217c4a
Clean up unused and long since deprecated contrib files/patches
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-30 10:23:21 +02:00
Joachim Nilsson
d60fc1ce62
Refactor, simplify
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-29 01:22:10 +02:00
Joachim Nilsson
0a12997d32
Try right aligning Finit3 logo
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-29 01:21:07 +02:00
Joachim Nilsson
dce8031c83
Clarify, early on, that conditions also stop services.
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-28 08:22:41 +02:00
Joachim Nilsson
bd9d9c8303
Add early example of conditions in service stanza
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-28 08:22:28 +02:00
Joachim Nilsson
956acc4b93
Update getty overview
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-28 08:10:31 +02:00
Joachim Nilsson
5ed54d79fc
Update configure flags
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-27 09:27:15 +02:00
Joachim Nilsson
acc77c27c3
Add URL to initctl reference
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-27 09:23:54 +02:00
Joachim Nilsson
bcb9fe039a
Move running and debugging to doc/build.md
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-27 09:22:04 +02:00
Joachim Nilsson
55f44386d1
Clarify focus, refer to examples and tell what the screenshot is
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-27 09:09:23 +02:00
Joachim Nilsson
37983e69c4
Clarify service stanza and simplify text further
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-27 09:08:32 +02:00
Joachim Nilsson
a45a872c28
Simplify introduction a lot, focus on screenshot and example
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-27 08:43:53 +02:00
Joachim Nilsson
152b2be8ea
Clarify warning
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-27 08:43:27 +02:00
Joachim Nilsson
1677436137
initctl: Allow C99 style
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-26 10:39:45 +02:00
Joachim Nilsson
c69ca6847a
Update ToC and move references to alternative init systems here
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-25 19:06:07 +02:00
Joachim Nilsson
f8147214f1
doc/config.md: Significant update, less limitations for /etc/finit.d
...
- Detail limitations in separate section
- Focus on syntax early in document
- Overhaul and simplify introduction
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-25 19:03:22 +02:00
Joachim Nilsson
56eec5164d
Minor, update code comment
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-25 19:02:19 +02:00
Joachim Nilsson
e58f84f3fb
Update introduction, much system config can be done using finit.d
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-24 20:54:27 +02:00
Joachim Nilsson
d22ffa05bd
initctl: Refactor initctl list slightly
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-24 20:41:40 +02:00
Joachim Nilsson
2e66db3fea
helpers.c:printv() - Iterate over size of buffer
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-24 20:40:44 +02:00
Joachim Nilsson
376811c1a7
doc/config.md: Update run and task, mention pipes + redirects
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-21 22:52:48 +02:00
Joachim Nilsson
9b5f2388c1
Alpine Linux: Add LXDM service .conf
...
Enable LXDM using:
initctl enable lxdm
initctl reload
The latter command reloads all /etc/finit.d/*.conf files and starts lxdm
in runlevels 2-5.
Remember to first edit /etc/lxdm/lxdm.conf, necessary to get a session.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 15:33:56 +02:00
Joachim Nilsson
686193b701
Only load modules at bootstrap
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 14:03:56 +02:00
Joachim Nilsson
b43bca529c
Minor, fix build error
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 13:57:23 +02:00
Joachim Nilsson
545171a8b2
Minor, improve comments in parse_dynamic()
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 13:50:44 +02:00
Joachim Nilsson
d54d5b7f20
Allow kernel modules to be loaded from /etc/finit.d/*.conf
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 13:48:07 +02:00
Joachim Nilsson
e52d952ca5
Alpine: Move bootstrap services and setup from finit.conf to finit.d/*.conf
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 13:30:36 +02:00
Joachim Nilsson
633a56054b
Add support for boot[S]trap services in /etc/finit.d/*.conf
...
This patch enables support for bootstrap services in /etc/finit.d/
Please note, however, that this does not mean that all configuration
directives are now allowed in /etc/finit.d/*.conf -- the intention is
only to simplify distribution setups.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 13:21:11 +02:00
Joachim Nilsson
3eeb966f15
Alpine Linux: Simplify build instructions by referencing script
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 12:55:32 +02:00
Joachim Nilsson
d09253bdbd
Make Alpine build script executable
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 12:50:36 +02:00
Joachim Nilsson
0052793a46
Update Alpine Linux README
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 11:41:05 +02:00
Joachim Nilsson
333871caf2
Minor, reorder
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 11:40:56 +02:00
Joachim Nilsson
ef9d0c479e
Load mousedev kernel driver for Alpine installs
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 01:40:24 +02:00
Joachim Nilsson
d5cce03a76
Enable D-Bus plugin for Alpine installs
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-10 01:39:23 +02:00
Joachim Nilsson
744903d455
Alpine Linux finit.conf, clear space at end for easy script append
...
Restore original file layout somewhat, it's better if we clear the space
at the end of the file for easy `cat BOOTSTRAP.conf >>/etc/finit.conf`
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-06 08:12:44 +02:00
Joachim Nilsson
cc00be48b5
Move runlevel stanza to the end, possibly more intuitive
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-04 21:24:59 +02:00
Joachim Nilsson
b45a37ca47
Add simple build script for targeting Alpine
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-04 21:20:32 +02:00
Joachim Nilsson
f1f9ee712a
Refactor Alpine example to use /etc/finit.d/*.conf for services
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-04 21:15:11 +02:00
Joachim Nilsson
7c4a9ad5af
alpine: Migrate rc.local bootstrap tasks to finit.conf
...
Finit now supports pipes and redirects in run/task stanzas. Hence, we
can reduce rc.local to an example template.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-04 20:16:54 +02:00
Joachim Nilsson
f3a000560f
exec_runtask(): Refactor, remove GLIBC:isms to build with musl
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-04 20:05:22 +02:00
Joachim Nilsson
fdd13c1ae1
README: New shell redirect + pipe possibilities with task + run
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-04 16:35:22 +02:00
Joachim Nilsson
0585767258
README: Update tty configuration examples with noclear + nowait
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-04 16:35:04 +02:00
Joachim Nilsson
9e7e92b4b7
run stanzas are never caught in service_monitor()
...
A run stanza blocks operation by calling waitpid(), so it will never be
caught by the service_monitor() function. Hence, we need to clean up
any bootsrap calls after waitpid(), or at least perform a manual state
change.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-04 16:02:23 +02:00
Joachim Nilsson
29822ef0f7
Always collect bootstrap tasks, regardless of previous runlevel
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-04 16:02:01 +02:00
Joachim Nilsson
718e82bc10
svc_clean_dynamic(): Actually clean dirty services ...
...
Add missing call to svc_mark_clean() in while() loop.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-04 16:01:05 +02:00
Joachim Nilsson
684314db0f
Allow pipe + redirect in task/run stanzas, exec() in /bin/sh
...
This patch extends the capabilities of task and run .conf stanzas by
enabling pipes and redirects.
Example:
task [s] echo "foo" | cat >/tmp/bar
run [s] echo "$HOME" >/tmp/secret
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-04 16:00:49 +02:00
Joachim Nilsson
442598282f
Update Alpine Linux sample to latest Finit dev.
...
- Show progress when booting
- Use noclear + nowait on TTY's
- Update `loadkmap` args
Works on Alpine Linux 3.4 .. 3.6
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-04 07:19:12 +02:00
Joachim Nilsson
3e2b78305d
Update finit.conf tty documentation
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-01 06:45:29 +02:00
Joachim Nilsson
8eea64cebf
getty: Set $TERM environment variable if given in tty config
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-01 06:41:22 +02:00
Joachim Nilsson
b8a7cb6b93
tty-register(): Fix regression in built-in TTY baud + term parser
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-01 06:40:52 +02:00
Joachim Nilsson
529b39ebba
tty: Add 'noclear' + 'nowait' options to built-in and external tty's
...
This patch aligns the two tty configuration stanzas, thus clear and wait
are now the default for both.
tty [LVLS] <DEV> [BAUD] [noclear] [nowait] [TERM]
tty [LVLS] <CMD> <ARGS> [noclear] [nowait]
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-01 06:10:08 +02:00
Joachim Nilsson
f029ba2111
Reorder functions a bit, group run_getty*() family
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-01 05:50:50 +02:00
Joachim Nilsson
277c3dbb14
getty: Remove TTY clear from built-in getty, delegate to run_getty()
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-09-01 05:47:53 +02:00
Joachim Nilsson
f273ecc135
Fix #79 : Add 'nowait' option to tty setting, external getty
...
This patch makes it possible to disable the "Please press Enter" prompt
when using an external getty. Simply append `nowait` to the .conf entry
and Finit will spawn the getty immediately.
A future patch will add support for `noclear` as well to external getty,
as well as a change in default (=> `wait`) for the built-in getty.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-31 00:51:11 +02:00
Joachim Nilsson
2fe257b7af
getty.c: Handle Ctrl-U properly, erase line to beginning
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-30 17:19:43 +02:00
Joachim Nilsson
907595d9ed
getty.c: Ignore signals like SIGINT, SIGHUP
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-30 17:19:12 +02:00
Joachim Nilsson
55c12aa6f6
Remove developer debug message
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-30 15:08:14 +02:00
Joachim Nilsson
04891d3e5b
Update and align service descriptions in finit.conf example
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-30 15:05:31 +02:00
Joachim Nilsson
9973cd22a5
Update sample .conf files after purge of startx and user settings
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-30 15:02:39 +02:00
Joachim Nilsson
a2f4b35e4e
Fix #77 : Remove deprecated startx and user .conf settings
...
It is strongly recommended to instead use the service stanza to start
XDM/GDM, or use startx after a regular login.
Note: the `user NAME` setting was always reserved for use with startx
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-30 15:01:05 +02:00
Joachim Nilsson
1de540dd67
Update external getty TTY documentation, remove limitations
...
Also, provide an agetty example.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-30 14:47:15 +02:00
Joachim Nilsson
dec21e758a
Fix #78 : Support agetty cmd line format for external getty
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-30 14:44:10 +02:00
Joachim Nilsson
513f03b897
Merge branch 'external-getty-support'
2017-08-27 17:08:21 +02:00
Joachim Nilsson
371fb3d0d0
Add example for using an external getty
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-27 17:07:12 +02:00
Joachim Nilsson
f9f1846c8b
Document alternative tty ... config option for external getty
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-27 17:03:39 +02:00
Joachim Nilsson
f7b9b7be96
tty.c: Free memory for external getty on tty_unregister()
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-27 16:57:26 +02:00
Joachim Nilsson
74affb32d3
tty_register(): Fix parser for external getty
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-27 16:43:01 +02:00
Joachim Nilsson
675f82a6b9
run_getty2(): Minor fixes only, whitespace + cautionary _exit()
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-27 16:41:58 +02:00
Joachim Nilsson
19fcfcfef4
Initial support for external getty
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-27 15:02:55 +02:00
Joachim Nilsson
7c50d86a55
Restore pre built-in run_getty() as run_getty2()
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-27 15:01:42 +02:00
Joachim Nilsson
b629348973
Refactor TTY exec, prepare for external getty
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-27 15:00:43 +02:00
Joachim Nilsson
7c185b4575
Fix really bizarre inetd builtin example ...
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-21 21:23:51 +02:00
Joachim Nilsson
fefa6a93ca
Merge branch 'emergency-shell-improvements'
2017-08-19 20:17:31 +02:00
Joachim Nilsson
299962118a
Update debug section with info on rescue shell, issue #76
2017-08-19 20:16:44 +02:00
Joachim Nilsson
054baed134
Reap zombie processes in emergency shell mode, issue #76
...
The emergency shell is just a Finit debug mode. This patch adresses a
concern from GitHub issue #76 , with zombie processes in this mode.
Emergency shell could be further improved, e.g. informing the real Finit
process of each collected child (zombie) to be restarted if needed.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-08-15 08:09:19 +02:00
Joachim Nilsson
b20fafd9fa
tty.c: Add support for reloading a single TTY
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-14 11:03:59 +02:00
Joachim Nilsson
62081d9525
tty.c: Refactor, break out enabled check + stop/start
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-14 11:03:10 +02:00
Joachim Nilsson
100b4c70e4
tty_enabled(): Simplify, tty_exists() checks for existence
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-14 10:54:51 +02:00
Joachim Nilsson
5631849ced
Travis-CI: Update build dependency, libite --> v1.9.2
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-10 17:48:14 +02:00
Joachim Nilsson
14ee218443
Refactor, use libite (-lite) version of initscr()
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-09 16:25:22 +02:00
Joachim Nilsson
52fe525442
Update version requirement for libite, v1.9.2
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-09 16:25:01 +02:00
Joachim Nilsson
fec00377e5
Update documentation for tty .conf option
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-09 15:36:31 +02:00
Joachim Nilsson
c9ab70e30f
Update section on built-in getty, add info on noclear option
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-09 15:18:16 +02:00
Joachim Nilsson
8aef1e76c3
Follow-up to eec32e2: Support for removing TTYs at runtime
...
In commit eec32e2 support for reloading TTY configurations was added.
This patch is a follow-up to that with support for cleaning up and
removing allocated TTYs.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-09 15:05:32 +02:00
Joachim Nilsson
44f69bd575
Check if symlink with lstat(), mtime with stat()
...
With the new scheme using /etc/finit.d/available/, and symlinks from
there to the enabled directory, we need to check mtime of .conf files
using stat(), not lstat() which we need to check if .conf is a symlink.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-09 15:05:32 +02:00
Joachim Nilsson
963b736d8b
tty: Refactor, remove useless runlevel argument
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-09 15:05:32 +02:00
Joachim Nilsson
4cc3aed139
Avoid 2 sec block of Finit when stopping TTYs
...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-09 15:05:32 +02:00
Joachim Nilsson
e791e3dbe9
Make silent bootup the default, use --enable-progress for old style
...
This patch disables console heading and bootup progress messages by
default. Use --enable-progress to get the old behavior back, or try
the new HOOK_BANNER and HOOK_SVC_UP to run a custom progress.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com >
2017-07-09 15:05:32 +02:00