From owner-freebsd-questions@FreeBSD.ORG Tue Sep 2 12:05:15 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C7E0D16A4BF for ; Tue, 2 Sep 2003 12:05:15 -0700 (PDT) Received: from remt24.cluster1.charter.net (remt24.cluster1.charter.net [209.225.8.34]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9412B43FF9 for ; Tue, 2 Sep 2003 12:05:10 -0700 (PDT) (envelope-from chowse@charter.net) Received: from [66.168.145.25] (HELO moe) by remt24.cluster1.charter.net (CommuniGate Pro SMTP 4.0.6) with ESMTP id 144494951; Tue, 02 Sep 2003 15:05:07 -0400 From: "Charles Howse" To: "'Kent Stewart'" , "'ODHIAMBO Washington'" Date: Tue, 2 Sep 2003 14:04:59 -0500 Message-ID: <006001c37185$1ba1e650$04fea8c0@moe> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0061_01C3715B.32CBDE50" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.2616 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Importance: Normal In-Reply-To: <200309011418.33352.kstewart@owt.com> cc: freebsd-questions@freebsd.org Subject: RE: scripting the buildworld/installworld process X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Sep 2003 19:05:16 -0000 This is a multi-part message in MIME format. ------=_NextPart_000_0061_01C3715B.32CBDE50 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Well, it worked! After a fashion... This morning I swapped my small primary HDD and larger secondary HDD, then created the new slices/mount points, and re-installed: Primary Master 8.something G: / 500M Swap 256M /var 500M /tmp 500M /usr over 6G Secondary Slave 2.1G: /usr/obj 1000M /disk2 about 1G Drat! I should have put the swap partition on the second HDD! Oh well. Getting the times for the different processes into a log worked well, the entire buildworld/installworld took about 2.5 hours on my Celeron 300 w/ 64M. I did have to re-edit the first script, because it wasn't able to process all the sections that had this: \time -aho $blog make buildworld |=20 tee $tlog |=20 tail -n 50 $tlog > $bdir/buildworld.log It would just zoom through the whole script and write empty log files. Finished in about 2 seconds! :-) I left the sections of the script like this: \time -aho $blog make buildworld Once I got everything tweaked, it worked fine! I did have a problem with portupgrade -Na, it finished with the following message: The following packages were not installed or upgraded: ! Cvsup-without-gui-16.1g Unknown build error ! XFree86-4-libraries Unknown build error * mtools Skipped Any ideas what may have caused this? I've been trying to get mtools installed, and it always fails. Thanks to all who responded! I appreciate it! Scripts and build.log attached. Run in the following order: Update Update1 Update2 upgrade ------=_NextPart_000_0061_01C3715B.32CBDE50 Content-Type: application/octet-stream; name="upgrade" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="upgrade" #!/usr/local/bin/bash=0A= #=0A= # Use portupgrade to upgrade the system=0A= =0A= /usr/bin/tar -czvf /root/dbpkg.tgz /var/db/pkg=0A= /usr/local/sbin/pkgdb -F=0A= /usr/local/sbin/portupgrade -Na=0A= =0A= ------=_NextPart_000_0061_01C3715B.32CBDE50 Content-Type: application/octet-stream; name="build.log" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="build.log" Time for buildworld: 2h3m49.08s real=0A= Time for make buildkernel: 19m18.84s real=0A= Time for installkernel: 23.40s real=0A= Time for installworld: 4m43.20s real=0A= Time for make clean: 0.11s real=0A= Time for make all install: 32.94s real=0A= =0A= ------=_NextPart_000_0061_01C3715B.32CBDE50 Content-Type: application/octet-stream; name="update" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="update" #!/usr/local/bin/bash=0A= #=0A= # Update the sources and ports=0A= =0A= echo -n "Have you booted to single user mode and enabled softupdates? = [y/n]: "=0A= read a=0A= if [ "$a" =3D n ] ; then=0A= exit 1=0A= fi=0A= =0A= if [ -a /etc/cvsupfile ] ; then=0A= /usr/local/bin/cvsup -g -L 1 /etc/cvsupfile=0A= else=0A= cp /disk2/larry/etc/cvsupfile /etc/cvsupfile=0A= /usr/local/bin/cvsup -g -L 1 /etc/cvsupfile=0A= fi=0A= =0A= ------=_NextPart_000_0061_01C3715B.32CBDE50 Content-Type: application/octet-stream; name="update1" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="update1" #!/usr/local/bin/bash=0A= #=0A= # Update the system, run in multi-user mode.=0A= #=0A= # Checks the exit status of all important commands,=0A= # Exits on exit status of anything other than 0, =0A= # Prints the name of the command that failed.=0A= # Logs the last 10 lines of screen output for important commands.=0A= =0A= bailout() {=0A= if [ "$?" -ne 0 ] ; then=0A= echo "Update1 has bailed out!!"=0A= echo "The command that failed was..."=0A= echo $cmd=0A= exit 1=0A= fi=0A= }=0A= =0A= echo -n "Have you read /usr/src/UPDATING? [y/n]: "=0A= read a=0A= if [ "$a" =3D n ] ; then=0A= less /usr/src/UPDATING=0A= exit 2=0A= fi=0A= =0A= echo -n "Have you merged /etc/group and /usr/src/etc/group? [y/n]: "=0A= read b=0A= if [ "$b" =3D n ] ; then=0A= diff -c /etc/group /usr/src/etc/group | less=0A= exit 3=0A= fi=0A= =0A= echo -n "Have you merged /etc/master.passwd and = /usr/src/etc/master.passwd? [y/n]: "=0A= read c=0A= if [ "$c" =3D n ] ; then=0A= diff -c /etc/master.passwd /usr/src/etc/master.passwd=0A= exit 4=0A= fi=0A= =0A= cmd=3D"cp /disk2/larry/etc/make.conf /etc"=0A= cp /disk2/larry/etc/make.conf /etc=0A= bailout=0A= =0A= cmd=3D"cp /disk2/larry/usr/src/sys/i386/conf/CUSTOM = /usr/src/sys/i386/conf"=0A= cp /disk2/larry/usr/src/sys/i386/conf/CUSTOM /usr/src/sys/i386/conf=0A= bailout=0A= =0A= cmd=3D"Clean out /usr/obj"=0A= echo -n "Clean out /usr/obj? [y/n]: "=0A= read d=0A= if [ "$d" =3D y ] ; then=0A= cd /usr/obj=0A= chflags -R noschg *=0A= rm -rf *=0A= fi=0A= bailout=0A= =0A= echo -n "Continue with build? [y/n]: "=0A= read e=0A= if [ "$e" =3D n ] ; then=0A= exit 5=0A= fi=0A= =0A= if [ ! -d /var/log/build ] ; then=0A= mkdir /var/log/build=0A= fi=0A= =0A= bdir=3D/var/log/build=0A= blog=3D$bdir/build.log=0A= =0A= cmd=3D"make buildworld"=0A= cd /usr/src=0A= echo -n "Time for buildworld:" > $blog=0A= \time -aho $blog make buildworld=0A= bailout=0A= echo >> $blog=0A= =0A= cmd=3D"make buildkernel"=0A= echo -n "Time for make buildkernel:" >> $blog=0A= \time -aho $blog make buildkernel=0A= bailout=0A= echo >> $blog=0A= =0A= cmd=3D"make installkernel"=0A= echo -n "Time for installkernel:" >> $blog=0A= \time -aho $blog make installkernel=0A= bailout=0A= echo >> $blog=0A= =0A= echo "Reboot to single user mode and run /disk2/larry/bin/update2" ------=_NextPart_000_0061_01C3715B.32CBDE50 Content-Type: application/octet-stream; name="update2" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="update2" #!/usr/local/bin/bash=0A= #=0A= # Update the system. Run in single user mode.=0A= =0A= bailout () {=0A= if [ "$?" -ne 0 ] ; then=0A= echo "Update2 has bailed out!!"=0A= echo "The command that failed was..."=0A= echo $cmd=0A= exit 1=0A= fi=0A= }=0A= =0A= echo -n "Continue with installworld? [y/n]: "=0A= read a =0A= if [ "$a" =3D n ] ; then=0A= exit 2=0A= fi=0A= =0A= bdir=3D/var/log/build=0A= blog=3D$bdir/build.log=0A= =0A= cmd=3D"make installworld"=0A= echo -n "Time for installworld:" >> $blog=0A= cd /usr/src=0A= \time -aho $blog make installworld=0A= bailout=0A= echo >> $blog=0A= =0A= cmd=3D"cp -Rp /etc /etc.old"=0A= if [ -d /etc.old ] ; then=0A= rm -r /etc.old=0A= fi =0A= cp -Rp /etc /etc.old=0A= bailout=0A= =0A= cmd=3D"rm -r /var/tmp/temproot"=0A= if [ -d /var/tmp/temproot ] ; then=0A= cd /var/tmp/temproot=0A= chflags -R noschg *=0A= cd=0A= rm -r /var/tmp/temproot=0A= fi=0A= bailout=0A= =0A= cmd=3D"mergemaster -a"=0A= /usr/sbin/mergemaster -a=0A= bailout=0A= =0A= cmd=3D"./MAKEDEV all"=0A= cd /dev=0A= ./MAKEDEV all=0A= bailout=0A= =0A= cmd=3D"make clean"=0A= cd /usr/src/release/sysinstall=0A= echo -n "Time for make clean:" >> $blog=0A= \time -aho $blog make clean=0A= bailout=0A= echo >> $blog=0A= =0A= cmd=3D"make all install"=0A= echo -n "Time for make all install:" >> $blog=0A= \time -aho $blog make all install=0A= bailout=0A= echo >> $blog=0A= =0A= echo "Finished! Do ps and top work?" ------=_NextPart_000_0061_01C3715B.32CBDE50--