$Id: README,v 1.3 2001/03/19 15:19:30 malekith Exp $

 * bsp - BrainDead Script Processor for initrd
 *
 * this falls under GNU GPL v2+.
 *
 * written in y2k by Michal Moskal <malekith@pld.org.pl>
 

Short description of "languge" used for scripts:

in normal circumstances bsp behaves as if set -x
i.e. all commands executed are printed with `+ ' prepended.
if you don't want -x, prepend command with @ as in make
there are 2 builtins, both are not -x:
 # - comment
 > - echo
blank lines are ignored
typical script might look like:

------------------------
#
# typical script ;)
#

> Setting up disk modules
# word enclosed in '' gets passed to command as whole: { "insmod", "ide", "-o", "x=y c x", 0 }
insmod ide.o 'x=y c x'
# same with ""
insmod scsi.o "foo=bar baz" "xx = uu"
# but if no space - no need
insmod baz.o abc=def
# fixed by Jan Rkojarski <baggins@sith.mimuw.edu.pl>, this now works
insmode xxx.o abc="d e f"
# use of @
@hehe "you won't see me, won't you? this is stupid"

> done!

# that's all
-------------------------

for letest version see ftp://ftp.pld.org.pl/people/malekith/
or PLD's CVS (for instructions how to get there, see http://www.pld.org.pl)

insmod is now builtin. it doesn't support any options, beside module options.
it looks for modules in preset directories, look at setup.h.
modpath builtin can be used to change this,
modpath /lib/modules/2.2.18
or sth. there can be only one custom modpath at a time.
note that insmod has some own quoting rules ...
.o is required.

echo builtin is also implemented.

> x y z == @echo "x y z" most of time.

TODO:
* set builin, like this
  `set qe' or `set v'
  (q for quiet, v for verbose and e for i-don't-know-what)
* sleep can be probably usable, if some initialization needs to be done
  and it's not as fast as it should be.

Have fun.
 --malekith
 
