Vector Sys Init (experimental)

New Features

1. /etc/initab 
-----------------------
This file defines the initialisation steps.
It has been altered to define the following run levels:
0 = halt
1 = single user
2 = multiuser, teks desktop
3 = multiuser, teks server
4 = multiuser, GUI desktop
5 = multiuser, GUI server
6 = reboot

2. /etc/rc.d/rc.S
----------------------------------
This script is executed when the system is booted.
From original rc.S, it seting up:
- file system (local)
- hostname
- init libraries
- clearing stuff

Then firing up some configurable scripts (can be enabled/disabled):

- rc.swap    : Load swap files (cut out from rc.S)
- rc.fsck    : check file system for errors (cut out from rc.S)
- rc.rtclock : init time from RT clock (cut out from rc.S)
- rc.kudzu   : detect new hardware (moved from init.d/kudzu)
- rc.modules : load various hardware modules (moved from rc.M)
- rc.pcmcia  : setup PCMCIA card (moved from rc.M)
- rc.hotplug : setup USB (moved from rc.M)
- rc.serial  : setup serial ports (moved from rc.M)
- rc.inet    : setup localhost (moved from rc.M)
- rc.keymap  : setup keyboard map (moved from rc.M)
- rc.local   : users initialisation (moved from rc.M)

To configure this, use vasm-init


3. /etc/rc.d/rc.K
------------------------------------------------
This scritp is executed when the system goes to run level 1
(single user). It has been changed a bit to 
execute rc.M instead of rc.sysvinit.

4. /etc/rc.d/rc.M
------------------------------------------------
On VL4.0, this file is simply called by rc.S.
Now, this scritp is executed when the system switch between run 
level 2345 (multiuser), replacing rc.sysvinit as defined in /etc/initab.
The contents has been highly modified !
It will fires up services found at /etc/rc.d/init.d.

The service must be setup as follows
- Provide a script at /etc/rc.d/init.d
- The script must be executable 
- To register a service in a run level, a scipt must be symlinked to
  /etc/rc.d/rc?.d/S??service.
  Use the utility:
  /sbin/service -s service_name runlevels [run_order]
- To remove a service, delete the symlink.
  Use the utility :
  /sbin/service -r service_name runlevels
  
When switching run level, rc.M performs the following procedures:
- Kills the service on the previous run level that 
  is NOT registered on the next level.
- Starts the services on the next run level that is NOT
  registered on the previous level

The advantages over the OLD sysvinit
- more simple and sensible
- fewer symlinks
- faster switching. It does not kill services if not necessary
- keep X-windows running when swithing from level 4 to 5
- keep servers running when switching from 3 to 5


5. /etc/rc.d/rc.sysvinit
--------------------------------------------------
This file is no longer used, replaced by rc.M

6. /etc/rc.d/rc.inet1 and rc.inet2
--------------------------------------------------
This file is no longer used. see belows

7. /etc/rc.d/initd/network
--------------------------------------------------
This file replaces the old /etc/rc.inet1 and rc.inet3
for setting UP the network !
Improvements:
- allows multiple devices. 
Each device is configured on /etc/sysconfig/network/*
- allows multiple routing.
The setting is /etc/sysconfig/route


7. /etc/rc.d/initd/firewall
--------------------------------------------------
Simple firewall system. Features:
- Standard security (anti spoofing, anti flooding)
- Setup masquerading
- Block ports


8. Scripts in /etc/rc,d/init.d/*
---------------------------------
All scripts have been reorganized to follows the
new run level system.


9. sbin/services
--------------------------------
Utility to setup the services


10. VASM modules
-------------------------------
Will be made if this new init system is accepted
- srvmenu -> setup services
- initset -> setup init script that will be fired by rc.S 
- netconfig -> setup network devices 
- firewallset -> setup firewall

