mirror of
https://github.com/troglobit/finit.git
synced 2026-11-12 16:51:25 +00:00
Bump version, update README and add TODO and dist: target to Makefile
Preparing for 1.0 release. Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
1 parent
c49d89dfe0
commit
2a025356d4
3 files changed
+75
-40
No files matched your search
@@ -28,9 +28,11 @@ ROOTDIR ?= $(shell pwd)
|
|||||||
# Plugin directory, fall back to this directory if unset in environment
|
# Plugin directory, fall back to this directory if unset in environment
|
||||||
PLUGIN_DIR ?= /lib/finit/plugins
|
PLUGIN_DIR ?= /lib/finit/plugins
|
||||||
|
|
||||||
VERSION = 1.0-pre
|
#VERSION ?= $(shell git tag -l | tail -1)
|
||||||
PKG = finit-$(VERSION)
|
VERSION ?= 1.0
|
||||||
EXEC = finit
|
EXEC = finit
|
||||||
|
PKG = $(EXEC)-$(VERSION)
|
||||||
|
ARCHIVE = $(PKG).tar.xz
|
||||||
OBJS = finit.o conf.o helpers.o signal.o svc.o plugin.o
|
OBJS = finit.o conf.o helpers.o signal.o svc.o plugin.o
|
||||||
OBJS += strlcpy.o
|
OBJS += strlcpy.o
|
||||||
SRCS = $(OBJS:.o=.c)
|
SRCS = $(OBJS:.o=.c)
|
||||||
@@ -86,6 +88,11 @@ distclean: clean
|
|||||||
-@$(RM) $(JUNK) unittest *.o
|
-@$(RM) $(JUNK) unittest *.o
|
||||||
$(MAKE) -C plugins $@
|
$(MAKE) -C plugins $@
|
||||||
|
|
||||||
|
dist:
|
||||||
|
@echo "Building xz tarball of $(PKG) in parent dir..."
|
||||||
|
git archive --format=tar --prefix=$(PKG)/ $(VERSION) | xz >../$(ARCHIVE)
|
||||||
|
@(cd ..; md5sum $(ARCHIVE) | tee $(ARCHIVE).md5)
|
||||||
|
|
||||||
# Include automatically generated rules, such as:
|
# Include automatically generated rules, such as:
|
||||||
# uncgi.o: .../some/dir/uncgi.c /usr/include/stdio.h
|
# uncgi.o: .../some/dir/uncgi.c /usr/include/stdio.h
|
||||||
# but don't bother during clean!
|
# but don't bother during clean!
|
||||||
|
|||||||
@@ -1,53 +1,60 @@
|
|||||||
Finit -- A reimplementation of the EeePC SysV init replacement "fastinit"
|
==============================================================================
|
||||||
=========================================================================
|
Finit — A fast plugin-based /sbin/init replacement with service monitoring
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
Finit is a reimplementation of the EeePC "fastinit" program based on its
|
Welcome to finit!
|
||||||
system calls with gaps filled with frog DNA.
|
|
||||||
|
|
||||||
Finit's original purpose was to build upon the general workings of the
|
This is a heavily extended version of the original /sbin/init replacement
|
||||||
EeePC fastinit and improve/optimize it for Xandros or alternative
|
finit_. The original was a reimplementation of the EeePC "fastinit" daemon
|
||||||
distributions running on the Eeepc. However, focus has now shifted to
|
based on its system calls with gaps filled with frog DNA.
|
||||||
small embedded Linux systems and headless miniature servers with a need
|
|
||||||
for extremely fast boot.
|
|
||||||
|
|
||||||
Nevertheless, finit comes in three flavors:
|
Focus of this extended version is towards small embedded Linux systems and
|
||||||
|
headless miniature servers with a need for extremely fast boot. In such
|
||||||
|
environments configurations rarely change and setup is rather static and
|
||||||
|
straight forward.
|
||||||
|
|
||||||
o finit-org is a replica of the Asus fastinit,
|
In the world of finit we write C "scripts" to boot our system, this is what
|
||||||
o finit-mod is an improved drop-in replacement for fastinit, and
|
gives the system its raw performance and the user full control.
|
||||||
o finit is a generic replacement for other systems.
|
|
||||||
|
|
||||||
Finit-mod and finit (previously finit-alt) were much improved with
|
If you chose finit you know what you want, a fast boot with no hassle.
|
||||||
patches from Metalshark.
|
|
||||||
|
|
||||||
See the GitHub project's Wiki at https://github.com/troglobit/finit, or
|
|
||||||
the original author's home page at http://helllabs.org/finit/ for more
|
|
||||||
information.
|
|
||||||
|
|
||||||
|
|
||||||
Usage scenarios
|
Features
|
||||||
|
--------
|
||||||
|
|
||||||
|
Finit supports the following features:
|
||||||
|
|
||||||
|
- Service monitoring, restarting a service when it exits
|
||||||
|
- Plugins, see example plugins/ directory. Plugins provide:
|
||||||
|
- Optional service callbacks, should the service run/restart/stop?
|
||||||
|
- Hooks, hook into the boot at predefined points to extend finit
|
||||||
|
- I/O, listen to external events and control finit behaviour/services
|
||||||
|
|
||||||
|
Most extensions and functionality not purely related to what an /sbin/init
|
||||||
|
needs to start a system from the original finit_ has been reactored into
|
||||||
|
plugins with either hooks or I/O demands.
|
||||||
|
|
||||||
|
|
||||||
|
/etc/finit.conf
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
1. Provide an extremely fine tuned and fast boot on embedded systems or
|
Contrary to most script based init alternatives (SysV init_, upstart_, OpenRC_
|
||||||
Linux distributions for the EeePC or other netbooks. (finit)
|
and the likes) finit reads its configuration from /etc/finit.conf, see the
|
||||||
|
source code for available options, or the examples/ for a Debian 6.0 example
|
||||||
2. Replace the original Eeepc 702 fastinit (finit-mod)
|
configuration.
|
||||||
|
|
||||||
3. Provide a reverse engineered document of the original EeePC fastinit
|
|
||||||
implementation. (finit-org)
|
|
||||||
|
|
||||||
Finit is distribution-specific. Currently it generates a finit-mdv
|
|
||||||
executable for Mandriva 2008/2008.1 systems. Smurfy ported it to
|
|
||||||
eeeXubuntu, and parts of his port have been merged to finit.
|
|
||||||
|
|
||||||
|
|
||||||
Finit features
|
/etc/finit.d
|
||||||
--------------
|
------------
|
||||||
|
|
||||||
Finit reads configuration information from /etc/finit.conf. See the
|
At the end of the boot, when networking and all services are up, finit calls
|
||||||
source code for available options.
|
its built-in run-parts(8) on the /etc/finit.d/ directory, akin to how the
|
||||||
|
/ec/rc.local file works in most other inits, only finit runs a directory of
|
||||||
|
scripts. This replaces the earlier /usr/sbin/services.sh support of the
|
||||||
|
original finit_.
|
||||||
|
|
||||||
|
|
||||||
Rebooting and halting
|
Rebooting and Halting
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
Finit handles SIGUSR1 and SIGUSR2 for reboot and halt, and listens to
|
Finit handles SIGUSR1 and SIGUSR2 for reboot and halt, and listens to
|
||||||
@@ -58,6 +65,22 @@ work.
|
|||||||
Debugging
|
Debugging
|
||||||
---------
|
---------
|
||||||
|
|
||||||
Add finit_debug to the kernel parameter line to enable trace messages
|
Add finit_debug, or --debug, to the kernel command line to enable trace
|
||||||
and to run a shell after the X server.
|
messages. A console getty is always started, see the file finit.h for
|
||||||
|
more useful comile-time tweaks.
|
||||||
|
|
||||||
|
Contact
|
||||||
|
-------
|
||||||
|
|
||||||
|
Finit is maintained collaborativly at htps://github.com/troglobit/finit —
|
||||||
|
please file a bug report, clone it, or send pull requests for bug fixes and
|
||||||
|
proposed extensions, or become a co-maintainer by contacting the main author.
|
||||||
|
|
||||||
|
Regards
|
||||||
|
/Joachim Nilsson <troglobit@gmail.com>
|
||||||
|
|
||||||
|
:: _finit: http://helllabs.org/finit/
|
||||||
|
:: _init: http://savannah.nongnu.org/projects/sysvinit
|
||||||
|
:: _upstart: http://upstart.ubuntu.com/
|
||||||
|
:: _openrc: http://www.gentoo.org/proj/en/base/openrc/
|
||||||
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
* FHS changes, see http://askubuntu.com/questions/57297/why-has-var-run-been-migrated-to-run
|
||||||
|
* Look at Erik Troan's nash linuxrc parser for more inspiration
|
||||||
|
* Look at how to support a standard SysV init runlevel mechanism
|
||||||
|
* Arguments to finit, like to SysV init "init q" to reload finit.conf at runtime, etc.
|
||||||
|
* Implement initctl stop|start|reload <SVC> and service <SVC> stop|start|reload on top
|
||||||
Reference in new issue
Block a user