GUIDE step-by-step - FreeBSD-RELENG-upgrade + BUILDWORLD process, using CVSUP

Constantino Michailidis dinom at
Sun Jun 18 14:52:45 UTC 2006

On Sunday 18 June 2006 08:00, freebsd-questions-request at wrote:
> Hanno Krusken wrote:
> > Hi all,
> > specially for the novice of you, please read carefully
> > !!
> >
> > # make clean
> >
> > # make -j4 buildworld
> >
> > # make buildkernel KERNCONF=YOUR-KERNEL-FILE
> >
> > # make installkernel KERNCONF=YOUR-KERNEL-FILE
> >
> > # reboot
> >
> > Hanno Krusken
> >  
> make -j4 can cause many systems to fail
> The correct procedure is
> make buildworld
> make kernel KERNCONF=mykern
> mergemaster -p
> make installworld
> mergemaster
> regards Jason M

Thought I'd throw in my 2cents to the conversation.  I have a cheat-sheet I've 
created myself for this process.  Generally, the procedure is as described as 
above.  One issue is that the actual process can vary... there is more than 
one _correct_ procedure.  That being said, it may help a newbie to have 
_more_ detail than less.  Thus, I'll include my cheat sheet here too.  
Section 21.4 from the handbook should be the final authority ;-)

Note, following the procedure isn't difficult at all... what _is_ difficult is 
answering the questions 'mergemaster' asks correctly.  In reality, this 
usually isn't too difficult either, but can be intimidating for less 
experienced users.

The general rule of thumb for mergemaster is.... answer 'i' (install temporary 
version) for any file that you don't remember editing yourself - this usually 
means press 'd' (delete) when prompted to merge files like /etc/hosts or 
(possibly) /etc/printcap.  On a typically configured machine, you are 
instructing mergemaster to either install (95%) or delete (4%) the temporary 
file it's prompting about; the other 1% of the time a 'real' merge is 
necessary.  Ultimately, you need to use your head a bit during mergemaster.

Other than that, the only thing you need to understand is how to use cvsup.  
Enough already, here's my cheat-sheet:


cvsup standard-supfile	#i'm tracking stable
cd /usr/src

cat UPDATING	#glance at it for quirks

make buildworld

make buildkernel KERNCONF=your_filename

make installkernel KERNCONF=your_filename

shutdown now	#optional; allows you to skip to next 'cd' command

reboot	#into single user mode

fsck -p
mount -u /
mount -a -t ufs
swapon -a

adjkerntz -i	#if cmos clock set to local time

cd /usr/src

#using mergemaster: usually just answer 'i'
#for every file sans 'hosts', 'printcap'
#and any other customized /etc files
#use your head

mergemaster -p	#merges new stuff needed by installworld

make installworld

mergemaster	#merges all new stuff: /etc /var/ usr

cd /usr/obj

chflags -R noschg *	#only if any files are immutable

rm -rf *	#saves disk space and
#makes future updates easier but slower

New systems generate new problems.

More information about the freebsd-questions mailing list