Subject: Re: Upgrading an existing install
To: Ian Baker <idb@videotron.ca>
From: Donald Lee <MacBSD68k@caution.icompute.com>
List: port-macppc
Date: 01/02/2004 19:30:31
>I have a MacIIci with 1.5.3 installed.
>
>How can I upgrade this to 1.6.1 without having to reinstall everything?
>
>Is this possible?
>
>Is there documentation somewhere?
>
>Thanks in advance
>
>Ian


FWIW, Allow me to offer an old posting that still may have relevance. (below)

From the other postings, it looks like the more recent releases would
save me some of this work.  I am eager to tr out some of these new
tools for the upgrade I am doing as we speak.

This was for a PPC mac, but the process/issues are the same.

Enjoy,

-dgl-


At 7:25 PM -0500 10/23/01, Donald Lee wrote:
>Delivered-To: port-macppc@netbsd.org
>X-Sender: donlee+ppc (Unverified)
>Mime-Version: 1.0
>Date: Tue, 23 Oct 2001 19:25:51 -0500
>To: port-macppc@netbsd.org
>From: Donald Lee <donlee_ppc at icompute.com>
>Subject: Re: How to upgrade to 1.5.2
>Sender: port-macppc-owner@netbsd.org
>Precedence: list
>
>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.