Subject: Re: How to upgrade to 1.5.2
To: Donald Lee <donlee_ppc@icompute.com>
From: Chris Coleman <chrisc@vmunix.com>
List: port-macppc
Date: 10/23/2001 23:11:21
This is the kind of thing to send to Daemon News so you can share it with
a larger audience.
articles@daemonnews.org
Chris Coleman Editor in Chief
Daemon News E-Zine http://www.daemonnews.org
Print Magazine http://magazine.daemonnews.org
Open Packages http://www.openpackages.org
On Tue, 23 Oct 2001, Donald Lee wrote:
> Dear list,
>
> (Forgive the long message. THis is to report back on my upgrade
> experience. It went well. -dgl-)
>
> Here is the plan that I executed on 10/20/01 to upgrade from NetBSD
> 1.5 to NetBSD 1.5.2. I have added some comments on the bullets,
> and a little commentary on what I think might be nice to have
> changed to make this process easier.
>
> This was done on a production system, where downtime is never supposed
> to happen, so I had to plan it in advance. I also never know when someone
> is changing his data/passwd, etc. So, I was paranoid. ;->
>
> I put in some info at the end in case anyone wants details of what this
> machine is, and how it's configured.
>
> ("o" on procedure. "-" on commentary)
>
> --
> PREP:
>
> o compare setup, especially /etc with virgin 1.5 tarballs.
> Save away files that have changed, and merge any changes
> with the new ones in 1.5.2.
>
> Scripts: (ftp://ftp.icompute.com/pub/donlee/up152)
> runtar: unpack the tarballs, including etc, and deal with the
> logs that get clobbered. Also save away the root contab,
> "/var/log/lastlog", and "rotate" the logs managed by newsyslog.
>
> upetc: Copy in the production /etc files on top of the "virgin" ones
> installed from the /etc tarball. Update localtime.
>
> deleteme: delete the files in 1.5 that are no longer in 1.5.2.
>
> o Create 1.5.2 boot floppy - test it.
> The plan requires changes that can't be made on a running system.
>
>
> On 10/20:
> o become root
>
> o Run two backups of the whole system. Paranoia rules!
> (backup: n: the desired state after this operation ;-> )
>
> o shutdown to single user.
> - This locks out the users and other sources of flux.
>
> o go to /root/up152
> - I chose /root/up152 as the "home" of this operation.
>
> o Run vipw - save away the text in /root/up152/pwfile
> - The install tarballs install a "virgin" password file.
> - Best to squirrel away the old one.
>
> o power down and install ethernet card.
> - Installed SMC Etherpower II 10/100. Seems to work well.
>
> o re-boot from floppy. -> start shell (ksh) -> stty erase ^*
> - default erase char on console is annoying.
>
> o mount sd0a on /mnt, sd0g on /mnt/usr and sd1g on /mnt/cuda
>
> o mv /usr /usr.md ; ln -s /mnt/usr /usr
> - This gave me fits. I wanted to have access to things like
> - vi, but they are not in /usr on floppy. If I mounted
> - the "real" /usr as /usr, then the upgrade process
> - got complicated. This gave me both.
>
> o cd /mnt/root/up152
>
> o check scripts for ROOT var as /mnt
> - paranoia. ;->
>
> o Run runtar | tee -a OUTPUT
> - runtar is the script that unpacks the tarballs
> - but also rotates and massages the logs. It installs
> - the etc tarball too.
> - ftp://ftp.icompute.com/pub/donlee/up152
>
> o run upetc (Check upetc for proper ETC dirs.)
> - scripts available on ftp://ftp.icompute.com/pub/donlee/up152
>
> o Check rc.conf, and others - just to be sure.
>
> o Change rc.conf to epic0
> - added 10/100 ethernet - configure it in rc.conf and
> - /etc/ifconfig.epic0
>
> o run deleteme
> - Delete those files that were in 1.5 and no longer in 1.5.2
> - script in ftp://ftp.icompute.com/pub/donlee/up152
>
> o. Put my kernel - netbsd.try2 in /netbsd.
> - special kernel - Cyclades, config, extintr.c fixes.
>
> o. install new boot blocks
> cp /usr/mdec/ofwboot /mnt/boot
> /usr/mdec/installboot /mnt/boot /usr/mdec/bootxx /dev/rsd0a
> sync
> sync
> sync
>
> - Don't forget the syncs. Without them, this does not work.
>
> o Reboot single user from HDD Open Firmware "boot scsi-int/sd@0:0 -s"
>
> o cd /root/up152
>
> o vipw ; replace text with /root/up152/pwfile
> - restore password file
>
> o build devices
> - This was probably not necessary, but seemed like a
> - good idea.
>
> o Bring up (config) network - run newaliases
> - newaliases is needed because /etc/mail/aliases changed.
> - newaliases won't run (in your lifetime) without a functioning
> - network.
>
> o reboot, smile
> - ... and what do you know? It worked!
>
> ==============
>
> Commentary on the upgrade/install.
>
> My suggestions:
>
> - The several log files that are installed in /var/log by the tarball(s)
> should not be. This was one the headaches that came as a surprise to me.
> I did not realize that I could lose most of my logfiles by upgrading.
> YOu also can't run newsyslog without copying and modifying the newsyslog.conf
> file in the floppy boot environment. What I ended up doing was copying
> the .conf file, and running "newsyslog -f modcopy.conf" to effectively
> "save away" the logs. The lastlog file and localtime also get blown away.
> If there is a good reason why these have to be installed as zero length files,
> then I understand, but I would think there should be a better way.
>
> - The list of files that have moved or gone away is easy to generate, and
> should probably be part of the release.
>
> - Beware the replacement of the root crontab!
>
> - It would be nice if all the files I had changed in /etc
> could be in one place, and unmolested by the upgrade. (I can dream. ;-> )
>
> ==============
>
> Context: This machine is a PowerComputing Power Center 132 with a
> 300 Mhz G3 upgrade card in it. It has a Seagate 4.3G Medalist (/ and /usr)
> and an 18G cuda (/cuda). It also has a 10/100 SMC Etherpower II card,
> and a Cyclades 8Y 8 port serial card. It is a telnet, ftp, ntpd, sshd,
> web, and DNS server. It also hosts 4 analog modems for dial-up.
> We host about 20 domains on the web server, and have a number of dial-up
> customers.
>
> I have several changes to the stock system.
>
> pppd is modified to fix a bug in parameter handling
> (PR #11720)
>
> macppc/macppc/extintr.c is modified to fix a race
> condition that causes poor ppp performance.
> (PR #12989)
>
> Configuration changes to enable more ppp devices, fewer
> unused devices, and the backside cache.
>
>
>
>
>