WARNING: This package installs init and shutdown. These programs are 
	 critical components of a Linux system. Do not install without
	 thinking! Do not install late at night! Do not install while
	 under the influence of drugs!

To compile this package do the following

1) ./configure
2) make

Before installing the package on your system you can try it out first to
see what it looks like. Enter the directory 
example.files/new-boot-0.2 and follow the file README.testing .
It will walk you through the features of simpleinit-msb and the new-boot-0.2
boot script system.

Now for installing the package there are 2 installation scenarios:

I. You are building a new Linux system inside a chroot environment, i.e.
   the installation of this package will not write to the system you are
   currently running.
   In this case the installation is easy
   
   1) make install
      
      If you do not run `make install' as root, you either have to run
      `make installfifo' as root after `make install' or you must
      create /dev/initctl manually by doing

	mkfifo /dev/initctl
	chmod 600 /dev/initctl
	ls -l /dev/initctl      # Make sure it's owned by root and prw-------

      If you use devfs you can skip the creation of the FIFO but it is still 
      recommended to create it in case you want to boot without devfs someday.

   2) Create /etc/inittab and the boot scripts for your new system.
      I recommend the set of bootscripts in example.files/new-boot-0.2 .
      It has been carefully designed and tested. I use the exact same set
      of scripts unchanged for my personal system.
            
      Just copy example.files/new-boot-0.2/sbin/init.d/* to /sbin/init.d/*
      and example.files/new-boot-0.2/etc/inittab to /etc/inittab

      NOTE: You don't need to use /sbin/init.d as the boot script location.
      If you prefer /etc/init.d or /etc/rc.d use these directories instead.
      The boot scripts will work unchanged. You only have to change the
      "fileprefix=..." line in /etc/inittab
      
   3) Now adjust /etc/inittab to your needs.
      If you use new-boot-0.2 you will also have to adjust .../init.d/sysconfig
      Note that for new-boot-0.1, sysconfig was located in /etc. This has
      changed (the format of the file is still the same so you can use your
      old one). If you prefer the old location you can change the
      "sysconfig_main=..." entry in .../init.d/services .


II. You want to install on the system you are currently running. 
    It is not safe to overwrite init and co. during normal operation. So
    you will have to follow a special procedure to be 100% safe.

    !! You should get a print-out of the following because you    !!
    !! may need these instructions before you have access to this !!
    !! text file again.                                           !! 
    !! MAKE SURE YOU READ ALL OF THE FOLLOWING BEFORE YOU BEGIN   !!
    
    1) reboot and tell your boot manager to pass the parameter `init=/bin/sh'
       to the kernel. 
       In GRUB you do this as follows:
       - move to the boot menu entry you normally boot and press 'e' for edit
       - move to the line "kernel ..." and press 'e' for edit
       - move to the end of the line, add `init=/bin/sh' and press Enter
       - press 'b' for boot  (do *not* return back to the main menu or your
         changes will be forgotten)
       In LILO you do this as follows:
       - hold down the CTRL key as the system boots to get the boot: prompt
       - press TAB to get a list of possible boot entries 
       - type the name of the one you normally use (usually the first), 
         followed by `init=/bin/sh' and press Enter

    2) your system will not start any boot scripts (if it does you did 
       something wrong) and you will not be asked for login and password.
       Instead it will simply start a shell. Your filesystems are not mounted
       and / is (usually) mounted read-only, so we have to mount filesystems
       first.
       
         export PATH=/sbin:/bin:/usr/sbin:/usr/bin
         mount -t proc proc /proc   # mount proc filesystem
         mount -o remount,rw /      # remount root read-write
         mount -a                   # mount everything else
       
         If you don't have the right keymap compiled into your kernel, you
       may want to run "loadkeys -d" or "loadkeys <keymap>" to set the
       keymap appropriate for your keyboard.
         If you want a second virtual terminal, in order to read the INSTALL
       and execute the instructions in parallel, look up the getty command for
       tty2 in your /etc/inittab and enter it manually followed by '&' to 
       put in in the background.
         Example: agetty tty2 9600 &   #NOTE: not every system uses agetty
       You will most likely have a file /etc/nologin or /nologin, created
       during shutdown, which has not been deleted because the appropriate 
       script was not run. You will have to remove these files manually if
       you want to log in on your new virtual terminal.
         rm -f /nologin /etc/nologin
    
    3) Now we can proceed with the actual installation
    
         cd /path/to/simpleinit-msb-1.2
         make install
      
       If you do not run `make install' as root (i.e. if you su'd to 
       a different user), you either have to run
       `make installfifo' as root after `make install' or you must
       create /dev/initctl manually by doing (as root)

 	 mkfifo /dev/initctl
	 chmod 600 /dev/initctl
	 ls -l /dev/initctl      # Make sure it's owned by root and prw-------

       If you use devfs you can skip the creation of the FIFO but it is still 
       recommended to create it in case you want to boot without devfs someday.  
       
       WARNING! Once you have reached this point there's no turning back. You
       have to finish the installation. You can not reboot without 
       `init=/bin/sh' before you have not either finished the installation
       of simpleinit-msb or have reinstalled your old init.
       
    4) Create /etc/inittab and the boot scripts for your new system.
       If you were using new-boot-0.1, you don't have to change anything,
       although I recommend upgrading to new-boot-0.2.

       If you were not using new-boot-0.1 but a different setup for
       simpleinit (either util-linux version or with new-boot-0.1 patch)
       your setup will probably continue to work, UNLESS IT USES THE
       PARALLEL BOOT FEATURE (Richard Gooch's simpleinit example scripts
       use it IIRC). 
       Simpleinit-msb does no longer support using
       a directory as bootprog in /etc/inittab. If you want to continue
       using this setup you will have to write a script that starts your
       services in parallel and use this script as bootprog.
    
       If you were using a different kind of init (SysVinit) you may be
       able to reuse your boot scripts with minor changes (see BOOT SCRIPT
       GUIDELINES in initctl(8)) but you will definitely have to setup
       a new /etc/inittab and init.d directory structure.
       
       Whatever setup you are currently using, I recommend you try the set 
       of bootscripts in example.files/new-boot-0.2 .
       It has been carefully designed and tested. I use the exact same set
       of scripts unchanged for my personal system.
             
       Just copy example.files/new-boot-0.2/sbin/init.d/* to /sbin/init.d/*
       and example.files/new-boot-0.2/etc/inittab to /etc/inittab

       NOTE: You don't need to use /sbin/init.d as the boot script location.
       If you prefer /etc/init.d or /etc/rc.d use these directories instead.
       The boot scripts will work unchanged. You only have to change the
       "fileprefix=..." line in /etc/inittab
       
    5) Now adjust /etc/inittab to your needs.
       If you use new-boot-0.2 you will also have to adjust .../init.d/sysconfig
       Note that for new-boot-0.1, sysconfig was located in /etc. This has
       changed (the format of the file is still the same so you can use your
       old one). If you prefer the old location you can change the
       "sysconfig_main=..." entry in .../init.d/services .
       
    6) When you are convinced, everything has been set up properly, you
       can use the following instructions to reboot your system properly.
       !!! WARNING !!! DO **NOT** PRESS CTRL-ALT-DEL TO REBOOT, EVEN IF
       YOU HAVE SET UP CTRL-ALT-DEL TO CALL SHUTDOWN IN /ETC/INITTAB. 
       BECAUSE WE ARE CURRENTLY NOT RUNNING INIT, WHATEVER SETTING YOU HAVE 
       IN /ETC/INITTAB IS IGNORED AND THE SYSTEM WILL REBOOT WITHOUT 
       UNMOUNTING YOUR FILESYSTEMS !!!! SO DO USE THE FOLLOWING COMMANDS:
       
	 umount -a -r              #unmount everything
	 mount -o remount,ro /     #should be redundant but you never know
	 sync                      #knock
	 sync                      #on
	 sync                      #wood 
	 /sbin/shutdown -r -q now
       
       NOTE: Unlike other shutdowns, the shutdown from Simpleinit-msb 
       unmounts disks properly before shutting down. So if everything has been
       installed correctly, all but the last command is redundant.
       