summaryrefslogtreecommitdiffstats
path: root/urunlevel/runlevel/urunlevel.sourceforge.net/home.inc
blob: c86507d4646142a8075631db7bd1e2cf4548be6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
    <H1 ALIGN="CENTER">Micro runlevel</H1>
    <P ALIGN="CENTER">Zen programming is not a spectator sport.</P>
    <P>
Clean room implementation of runlevel/init.d/SYS V init applets for
busybox, aiming for LSB compliance.<BR><BR>

<A HREF="http://www.busybox.net/">Busybox</A> currently has no support for runlevels
and init.d scripts, also known as the SYS V init system.  My software
adds that support as standard busybox applets written in the C langauge. <BR><BR>

I am aiming for <A HREF="http://www.linuxbase.org/">LSB</A> compliance, so Linux is
the supported platform, but I have no objections to making sure it works
on other busybox supported platforms.  This was in fact written to the
LSB specs, with no reference to the source code of similar systems.  Any
LSB compliant init.d script will be compatible with this.  All the
support programs and functions mentioned in the LSB spec are provided as
part of this system.  Other support programs and functions that I have
found useful will be provided.  Example init.d "scripts", written in C,
are also included, especially all the system scripts that LSB requires
distros to provide.<BR><BR>

I am writing this as part of a Linux distro that I am building.  One of
the design criterea for this distro is to boot as fast as possible. 
Typicall Linux boots involve a lot of shell scripts, which are typically
a lot slower than C.  Most of these shell scripts are part of the SYS V
init process.  By writing this in C, writing init scripts themselves in
C, and writing as much support stuff in C as possible, I am able to make
a major improvement in boot speed.<BR><BR>

Features -
<UL>
<LI>Small, like all busybox applets.</LI>
<LI>Fast, the main reason for writing it.</LI>
<LI>Intelligent, LSB requires an init system to determine dependencies and
run the init scripts in the correct order.</LI>
</UL>
Busybox does not include named and portmap applets, so boot_named.c and 
boot_portmap.c should be considered as examples.  Skeleton is also an
example.
    </P>