I've been working from Gordon Tetlow's work on this, for the past few
weeks. I have managed to get most everyting up to network_pass3 in
/etc/rc. It's still very much in development, but it's quite usable and
I use it to boot my system on a daily basis.

I chose to go a slightly different route than Gordon, in that I have not
tried to make the scripts compatible with NetBSD (His scripts include
conditionals for NetBSD, mine don't). These are my reasons.
- IMO startup scripts should be system specific
- Converging startup scripts before the rest of the system is converted
  will be a nightmare because there are too many differences. 
  Examples why:
        - The -w switch is deprecated in FreeBSD, and NetBSD still
          requires the -w switch in order to set a sysctl. This means
          that we need a conditional in the script every time we set
          a sysctl.
        - We use different switches to startup the same daemon
        - Who volunteers to test/coordinate/merge changes with the
          NetBSD people?
        - Each project is going to have scripts that the other project
          won't use. This means someone has to invest the time and 
          effort to maintain scripts the project won't be using
        - IMO all the conditionals are just going to obfuscate the
          scripts and make them that much harder to debug

I have have followed Gordon's lead with his original patch and tried to
integrate the patch set into the base system. There's a knob in rc.conf
to use the new rc or the old one. In order to make it useable, even
while it's in development, I have organized the rc script so that when
it finishes processing the files in /etc/rc.d it continues the
current-style script where the last rc.d script left off. I've broken
the patch into 3 separate diffs to make it easier to see the changes.


Instructions:

http://home.pacbell.net/makonnen/rcng.tar.gz
unpack the tarball
cd /usr/src
patch < {path to rc.d.diff}
patch < {path to etc.diff}
patch < {path to sbin.diff}
cd sbin/rcorder
make depend
make
make install
mergemaster -is         # The -s switch is important
add rc_ng="YES" to your /etc/rc.conf

I know everyone has their own idea for what the system should look like,
but I hope the work done already will help lighten the load. If you
choose not to base the final system on this I would still be willing to
contribute to whatever you decide to go with.

cheers,
mike makonnen

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to