Typical 'restorecd' script invocation:

0. fetch and extract newer restorecd-*.tar.gz

% ftp [URL to path]/restorecd-4.0.1-20081017.tar.gz
% tar zxf restorecd-4.0.1-20081017.tar.gz
% cd restorecd

  Then just type "make", or try the following procedure:

1. fetch NetBSD binaries and sources (for i386 and cobalt) into download dir
   (use appropriate mirrors; see http://www.NetBSD/org/mirrors/)

with rsync(1):
% rsync -va --files-from=restorecd-fetch.lst \
    rsync://rsync.NetBSD.org/NetBSD/NetBSD-4.0.1/ download

with wget(1) via ftp:
% (cd download ; \
  wget --base=ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-4.0.1/ \
  --no-host-directories --cut-dirs=3 --timestamping --force-directories \
  --input-file=../restorecd-fetch.lst)

  (NOTE adjuct --cut-dirs=N by which directory you'll get files)

2. extract NetBSD sources

% tar zxf download/source/sets/gnusrc.tgz
% tar zxf download/source/sets/sharesrc.tgz
% tar zxf download/source/sets/src.tgz
% tar zxf download/source/sets/syssrc.tgz

2. rebuild paneld(8), backported newfs_ext2fs(8), bug-fixed fdisk(8) binaries
    (if you don't want to use precompiled binaries)

2-(1) prepare build environment to make cobalt binaries

% (cd usr/src; \
   sh build.sh -m cobalt -u -U -T tooldir.cobalt -D destdir.cobalt \
   -V OBJMACHINE=1 tools)

   NOTE1: check your TOOLDIR in the build log here.
   NOTE2: make sure /etc/mk.conf not to override $TOOLDIR

% (cd usr/src; \
   tooldir.cobalt/bin/nbmake-cobalt do-distrib-dirs)
% (cd usr/src/destdir.cobalt; \
    tar zxpf ../../../download/cobalt/binary/sets/base.tgz)
% (cd usr/src/destdir.cobalt; \
    tar zxpf ../../../download/cobalt/binary/sets/comp.tgz)

2-(2) build paneld(8) binaries

% tar zxf patch/paneld.tar.gz
% patch -d paneltools -p0 < patch/paneld_banner_refresh.diff
% patch -p0 < patch/paneld-20080912.diff

% (cd paneltools/paneld && \
   ../../usr/src/tooldir.cobalt/bin/nbmake-cobalt OBJMACHINE=1 obj && \
   ../../usr/src/tooldir.cobalt/bin/nbmake-cobalt dependall)
% usr/src/tooldir.cobalt/bin/mipsel--netbsd-install -c -r -m 555 \
   paneltools/paneld/obj.cobalt/paneld data/cobalt/install/files/usr/sbin
% usr/src/tooldir.cobalt/bin/mipsel--netbsd-install -c -r -m 555 \
   paneltools/paneld/obj.cobalt/paneld data/cobalt/usr/sbin
% usr/src/tooldir.cobalt/bin/mipsel--netbsd-install -c -r -m 444 \
   paneltools/paneld/paneld.conf.5 \
   data/cobalt/install/files/usr/share/man/man5
% usr/src/tooldir.cobalt/bin/mipsel--netbsd-install -c -r -m 444 \
   paneltools/paneld/obj.cobalt/paneld.conf.cat5 \
   data/cobalt/install/files/usr/share/man/cat5/paneld.conf.0
% usr/src/tooldir.cobalt/bin/mipsel--netbsd-install -c -r -m 444 \
   paneltools/paneld/paneld.8 \
   data/cobalt/install/files/usr/share/man/man8
% usr/src/tooldir.cobalt/bin/mipsel--netbsd-install -c -r -m 444 \
   paneltools/paneld/obj.cobalt/paneld.cat8 \
   data/cobalt/install/files/usr/share/man/cat8/paneld.0

2-(3) build backported newfs_ext2fs(8)

% tar zxf patch/newfs_ext2fs-4.0.tar.gz
% (cd usr/src/sbin/newfs_ext2fs && \
    ../../../../usr/src/tooldir.cobalt/bin/nbmake-cobalt OBJMACHINE=1 obj && \
    ../../../../usr/src/tooldir.cobalt/bin/nbmake-cobalt dependall )
% usr/src/tooldir.cobalt/bin/mipsel--netbsd-install -c -r -m 555 \
   usr/src/sbin/newfs_ext2fs/obj.cobalt/newfs_ext2fs \
   data/cobalt/sbin
% usr/src/tooldir.cobalt/bin/mipsel--netbsd-install -c -r -m 555 \
   usr/src/sbin/newfs_ext2fs/obj.cobalt/newfs_ext2fs \
   data/cobalt/install/files/sbin
% usr/src/tooldir.cobalt/bin/mipsel--netbsd-install -c -r -m 444 \
   usr/src/sbin/newfs_ext2fs/newfs_ext2fs.8 \
   data/cobalt/install/files/usr/share/man/man8
% usr/src/tooldir.cobalt/bin/mipsel--netbsd-install -c -r -m 444 \
   usr/src/sbin/newfs_ext2fs/obj.cobalt/newfs_ext2fs.cat8 \
   data/cobalt/install/files/usr/share/man/cat8/newfs_ext2fs.0

2-(4) build bug-fixed fdisk(8)

% patch -p < patch/fdisk.c-r1.114.diff
% (cd usr/src/sbin/fdisk && \
    ../../../../usr/src/tooldir.cobalt/bin/nbmake-cobalt OBJMACHINE=1 obj && \
    ../../../../usr/src/tooldir.cobalt/bin/nbmake-cobalt dependall )
% usr/src/tooldir.cobalt/bin/mipsel--netbsd-install -c -r -m 555 \
   usr/src/sbin/fdisk/obj.cobalt/fdisk data/cobalt/sbin
% usr/src/tooldir.cobalt/bin/mipsel--netbsd-install -c -r -m 555 \
   usr/src/sbin/fdisk/obj.cobalt/fdisk data/cobalt/install/files/sbin

3. prepare patched GENERIC kernel and bootloader binaries for cobalt

3a. rebuild GENERIC kernel and native boot.gz if you don't want to use
    precompiled ones (if you don't mind it you can skip this)

(assuming you have already built tools on step 2-(1))
% (cd usr/src; patch -p0 < ../../patch/cobalt-netbsd-4-0-1-20081015.diff)
% (cd usr/src; \
   sh build.sh -m cobalt -u -U -T tooldir.cobalt -D destdir.cobalt \
   -V OBJMACHINE=1 kernel=GENERIC)
% gzip -9c usr/src/sys/arch/cobalt/compile/obj.cobalt/GENERIC/netbsd > \
    binary/cobalt/netbsd-GENERIC.gz
% (cd usr/src; \
   sh build.sh -m cobalt -u -U -T tooldir.cobalt -D destdir.cobalt \
   -V OBJMACHINE=1 kernel=INSTALL)
% gzip -9c usr/src/sys/arch/cobalt/compile/obj.cobalt/INSTALL/netbsd > \
    binary/cobalt/netbsd-INSTALL.gz
% (cd usr/src/sys/arch/cobalt/stand/boot && \
    ../../../../../tooldir.cobalt/bin/nbmake-cobalt OBJMACHINE=1 obj && \
    ../../../../../tooldir.cobalt/bin/nbmake-cobalt dependall )
% cp usr/src/sys/arch/cobalt/stand/boot/obj.cobalt/boot.gz binary/cobalt/

4. replace binaries in download sets with patched ones

% cp binary/cobalt/netbsd-GENERIC.gz download/cobalt/binary/kernel
% cp binary/cobalt/netbsd-INSTALL.gz download/cobalt/binary/kernel
% mkdir usr/mdec
% zcat binary/cobalt/boot.gz > usr/mdec/boot
% gunzip download/cobalt/binary/sets/base.tgz
% tar rf download/cobalt/binary/sets/base.tar ./usr/mdec/boot
% gzip download/cobalt/binary/sets/base.tar && \
    mv download/cobalt/binary/sets/base.tar.gz \
    download/cobalt/binary/sets/base.tgz

5. build tools to build i386 server's kernel and boot image

% (cd usr/src; sh build.sh -m i386 -u -U -T tooldir.i386 -V OBJMACHINE=1 tools)

   NOTE1: check your TOOLDIR in the build log here.
   NOTE2: make sure /etc/mk.conf not to override $TOOLDIR

6. execute restorecd script

% sh restorecd server=`pwd`/download \
               client=`pwd`/download \
               source=`pwd`/usr/src  \
               tooldir=`pwd`/usr/src/tooldir.i386 -v

   NOTE1: use absolute paths to extracted restorecd dir (otherwise it fails)
   NOTE2: use your TOOLDIR for tooldir= arg if it isn't .../usr/src/tooldir.i386 
  Now you have an iso image in cd.tmp dir
