Hi all,
For the last few weeks I was thinking about how it would be possible to
further automate Restore CD build process with the goal to make it simpler to
use, particularly when the new NetBSD release is out and it is necessary to
build a new CD fast out of the tarballs from the official NetBSD site (read:
out of release(7) tree). Unlike many times before, this wishful thinking has
resulted in a new Restore CD build script, now available for testing and
critique at
ftp://ftp.netbsd.org/pub/NetBSD/misc/cdi/cobalt/restorecd.tar.gz
The new CD build algorithm slightly differs from the current one:
1. Download release(7) tree for i386 and cobalt from ftp.NetBSD.org
(e.g. wget -t -r ftp://ftp.netbsd.org/public/NetBSD/NetBSD-<version>/i386/)
2. Check out whole src/ project (required as the script builds i386 kernel
and uses src/common machinery for boot-big.fs re-composition)
(cvs -d :pserver:anoncvs@anoncvs.NetBSD.org:/cvsroot co -r<version tag> src)
3. Build i386 toolchain
(cd <sources> && ./build.sh -m i386 -T/path/to/i386/tools tools)
4. Check if restorecd/data/conf/i386 contains kernel configuration file for
the version being built, create one if it is not
(at least restorecd/data/conf/i386/GENERIC.<version> should be present)
5. Run restorecd script as described in README file provided in the tarball
(e.g. restorecd -v server=/path/to/i386/release(7) \
client=/path/to/cobalt/release(7)
source=/usr/src tooldir=/path/to/i386/tools)
Although the above may appear too complex there is an advantage -- boot (i386)
kernel and userland as well as the one used over NFS at the installation time
could easily be updated, it is just a matter of getting the right tarballs.
As a proof of concept here is a CD with a 10 days old 3.99.17 build:
ftp://ftp.netbsd.org/pub/NetBSD/misc/cdi/cobalt/NetBSD3.99.17-restoreCD.iso
Features:
- 3.99.17 boot (i386) kernel and userland
- 3.99.17 remote (cobalt over NFS) installation kernel and userland
- Slightly improved LCD installation messages
- named.conf updated to use netbsd.org domain instead of mfg.cobaltmicro.com
- paneld re-compiled for 3.99.17, seems to use 0.0% CPU now
I hope the script will make port maintaner's life easier, and new CDs will be
following NetBSD releases.
Comments, suggestions, critique are really appreciated.
SY,
--cdi