Main Projects Background
PentiumGCC EGCS Judge
FreeISDN Gimp Destripe
lsys FCrackZip root-tail
==lma-init== PApp Suxus
LibLZF ISO tables Xcb
speedstep Deliantra MORPG

Last change: 2007-10-15

lma-init

lma-init is a set of shell scripts that aim at replacing the scripts run during system bootup and runlevel changes. At the moment, only serious hackers should attempt to install this package (lack of documentation etc...)

I originally wrote this package back in 1996 (or 1995?) using perl. I did never publish it because I felt that using perl at bootup (which requires a special version of perl installed on your root partition) was a bit too much. In May 2000 I rewrote it using bash, and I now feel it's time to get rid of it somewhere ;)

=======================================================

Propaganda

The first announcement ever made for this piece of software was from Stefan Traby, and was so funny I just had to include it here:
Booten ist langsam ?
Dein System funktioniert ?
Booten sieht nicht cool aus ?
Booten reizt die bash nicht total aus ?
Was missen die Leute im Big-Brother Haus am meisten ?

Nee, nicht Megaperls, sondern http://www.goof.com/pcg/marc/lmainit.html

vom Autor von pgcc, Gimp-Perl und Bambie, getestet im
init-research-center der Uni Karlsruhe, empfohlen von Sladdy,
rechtzeitig zum 50er von Gottschalk und zum 80er vom Papst,
verstanden von niemanden.

Hier einige Kommentare:

Marc Lehmann (Author): "welcome to quoting hell"

La-La: "Nocheinmal booten, nocheinmal booten"

Richard Stallmann: "Hmm, looks great except that I miss the license at
                    startup.
		    Wait, arrgghh: This GNU looks like a penguin !!"

Brian Fox, Chet Ramey (Authors of Bash): "Is this really bash code ?"

Boris Jelzin: "I do not understand DRY_RUN. Here in russia even
               computers need wodka, this can't work."

Johann Reiser: "Lehmann, may I use the "Optimized for lma-init" logo
                in reiserfs, pleeese ?"

Linus: "This is the biggest innovation within the last 10 years except
        maybe hard-linking of directories or sliced bread."
	
Cox: "Shit, it's perfect. Mama, there is nothing to patch !"

Arcangeli: "Ooops, diff says: Binary files syslib.sh~ and syslib.sh differ"

McDonalds: "Überzeugend. Wir schmeißen Apple als Sponsor raus und
            verkaufen nun Big-LMA anstatt Big-Mac; für unseren Linux-Salat
	    verwenden wir in Zukunft ausschließlich OpenSauce."

unbekannt, NRW: "Pinguine statt Inder."
M.Jackson: "Pinguine statt Kinder ??"

Elvis: "Schade, daß ich das nicht mehr erleben durfte."

=======================================================

How does it look like?

Here are two screenshots of lma-init in action. The first one shows lma-init while switching from runlevel 2 to runlevel 3. This involves stopping almost all demons and restarting them. The top half of the screen shows the "classic" logo together with all the facilities. The bottom half of the screen contains the output (e.g. error messages) of the various system facilities.

The second screenshot features the new (fat) logo, and my system while booting up. As you can see, my system failed to initialize the swapspace. Since my system is a desktop-only system, lma-init gives me the opportunity to log-in and fix the problem before going on with the boot.

(both logos, btw. are from the author of linux_logo)

Another nice feature that helps me a lot during my daily work is the facility-script. To start or stop facilities, just run the facility-script with the facility names. The following example shows how I kill and restart my httpd when a simple SIGHUP does not suffice:

cerebro:~/src/shinit# facility -httpd +httpd
Apache HTTPD
kill -TERM 2181
Apache HTTPD
cerebro:~/src/shinit# 

=======================================================

Configuring lma-init

lma-init can basically run in two modes: sysvinit-compatible and single-config mode. In single-config mode (the default), the whole system can be configured using a single file. This is ideal when you use, e.g. a file distribution system to manage a large cluster or a pool of workstations. Managing sysv-style initscripts can be a real pain.

In sysvinit-compatible mode, lma-init additionally runs the standard /etc/rc.d/rcrunlevel.d/[SK][0-9][0-9]* initscripts found in other linux distributions. BTW., lma-init requires linux and bash version 2.04 (or higher). With a suitable configuration file lma-init could be used as a drop-in replacement for many popular distributions. I hope to provide such configuration files sometime in the future.

To give you an impression of how such a configuration file looks, click here to view my own rc.values file.

=======================================================

Availability

See the Schmorpforge Page for CVS and release info.

You can get releases for lma-init only from this site currently. And be warned again that this is a hackers-only toy at the moment.

Source:

=======================================================

NEWS

Below are the first sixty-four lines of the NEWS file, taken directly off my harddisk, so this is the most up-to-date thing on lma-init you can imagine.

--- CUT ---

=======================================================

Any questions/hints/critics? Contact the author of this page!