Subject: How to source-only upgrade from 1.2G to 1.3E
To: None <current-users@NetBSD.ORG>
From: VaX#n8 <vax@linkdead.paranoia.com>
List: current-users
Date: 06/21/1998 05:09:17
Gaps in timing below are probably due to sleeping or other unrelated tasks.
# start
First attempt (using my script make-source, available from my home page)
failed while building "make" and "as" because new header files
(/usr/include) rename syscalls to versions which don't exist in
the running kernel.
restored old include files
new binaries:
made "make", "config", "gas"
config file changes:
noticed ed0 changed to we0
pms0 attachment changed
# elapsed time 6 hours
had to add audio*
disklabel changes:
NetBSD now has a new "system id", or partition table entry type
(see my homepage for more info on booting and system ids).
compatibility mode is off by default :(
# elapsed time 10 hours (may have slept in here)
boot blocks:
tried to compile installboot (new program for new boot blocks)
failed; needs MAXQUOTAS and um_export fully defined
compiled with new include files via
make COPTS=-I/usr/include.new
cd /sys/arch/i386/stand; make
ran installboot from obj dir, failed because can't open boot
raw device when securelevel=1
I've had enough, configed new kernel with
options COMPAT_386BSD_MBRPART # recognize old partition ID
installed kernel, decided better of running it yet
boot /netbsd.old -s # noted BIOSboot 2.1
ran new installboot - failed, need to mount -u /
ran again - ok, sync, reboot, boted BIOSboot 2.2
complains about old BSD system id, but at least it works
# elapsed time 26 hours
userland:
swapped in new /usr/include
tried to make "make". "make cleandir" failed with error code 1,
even though it was using rm -f. used "make -i cleandir" instead.
make of "make" failed because of new system calls
make libc (using "make -i" since it barfs on accept.o without it)
lint-related stuff fails, barfing on unistd.h(187).
booted with old kernel
update source tree again
# elapsed time 29 hours
sanity break
# elapsed time 3 days 1 hour
make libc - failed because I need new ld
make ld - failed because of new include files and old kernel (again)
swapped in old include files
made ld
swapped in new include files
make ld - failed because of lint
make xlint - died during linking
make COPTS=-I/usr/include.old xlint/xlint.o
cd xlint/xlint
make COPTS=-I/usr/include.old xlint/xlint.o # worked!
make install
make libc - failed because I hadn't installed lint libraries
cd xlint; make install; make; make install
make cleandir all install # failed but no big deal
make libc, install it
make share/mk templates
make make
reboot with new kernel
remade world, installed
# no going back now since /bin/sh uses new syscalls
problems at next reboot with ed0 -> we0 renaming
# elapsed time 3 days 4.5 hours
remade world several times
# elapsed time 7 days 16 hours
DNS lookups are hanging
# elapsed time 7 days 21 hours
had to add "nameserver 127.0.0.1" to /etc/resolv.conf
rebuilt world:
build of /usr/src/domestic died in libss which depended on make_cmds
make -i; make -i install; make -i; make all install
died compiling flex; edited scan.c, removed myesc(), ndlookup,
make all install cleandir
gdb croaked; make gnu/lib, install to get libbfd
# elapsed time 8 days 1 hour
unresolved issues:
getting pas to be found during probe
nfsd coredumps
I am not on current-users so email me directly if you need to.
Hopefully this will save other folks plenty of time.
Let me know if this was helpful to you;
if nobody replies, I won't bother to do it again.
See email headers for my home page location.