Visit the LQ Articles and Editorials section
Go Back > Forums > Other *NIX Forums > *BSD
User Name
*BSD This forum is for the discussion of all BSD variants.
FreeBSD, OpenBSD, NetBSD, etc.


  Search this Thread
Old 07-16-2007, 04:15 PM   #1
LQ Newbie
Registered: Jul 2007
Posts: 2

Rep: Reputation: 0
updating FreeBSD 6.0 to FreeBSD 6.2 without Console (single user access)

I do not have console access and everything I read to upgrade the OS from 6.0 to 6.2 I need to get into Single User mode. The only way I can think of is getting some kinda serial connection. Any suggestions?
Old 07-16-2007, 04:55 PM   #2
Registered: Jan 2006
Location: pl_PL.lodz
Distribution: FreeBSD
Posts: 398

Rep: Reputation: 82
I have upgraded 4.11 to 6.2 thru ssh, you do every step from handbook, but just do not drop into single user mode, stop all unneded services by hand like that:
# /usr/local/etc/rc.d/lighttpd stop
# /etc/rc.d/moused stop
# /etc/rc.d/sendmail stop
then do the upgrade:
# cd /usr/src
# make buildworld
# make buildkernel KERNCONF=YOURCONFIG
# make installkernel KERNCONF=YOURCONFIG
# shutdown -r now
then login by ssh again, stop serveces as before *[1] and contiune the upgrade:
# cd /usr/src
# mergemaster -p
# make installworld
# mergemaster -iU
# make delete-old
# make delete-old-libs
# shutdown -r now
now you have fully upgraded FreeBSD

about # make installkernel KERNCONF=YOURCONFIG this will install your new kernel in /boot/kernel and put old kernel as /boot/kernel.old, if something will go wrong in new kernel you will not be able to boot remotely, so this should be better in case of fauly new installed kernel:

# cd /usr/src
# make buildworld
# make buildkernel KERNCONF=YOURCONFIG
# make installkernel KERNCONF=YOURCONFIG KODIR=/boot/testing
# nextboot -k testing
# shutdown -r now
this will install new kernel in /boot/testing and left original in /boot/kernel , remember to specify nextboot -k testing before every reboot, then after syccesfully upgrade move /boot/kernel to /boot/kernel.old and /boot/testing to /boot/testing.

Last edited by vermaden; 07-16-2007 at 05:07 PM.
Old 08-17-2007, 08:12 AM   #3
Registered: Jan 2006
Location: pl_PL.lodz
Distribution: FreeBSD
Posts: 398

Rep: Reputation: 82
also an entry from RELENG_5 /usr/src/UPDATING file with 4.x --> 5.x upgrade procedure should be helpful.
	To upgrade in-place from 4.x-stable to 5.x
	# 5.x uses more space than 4.x.  Also, the location of kernel
	# modules has changed.  If you are installing 5.x onto a 4.x
	# system, you'll need about 30MB of free disk space on your /
	# partition.  If you have less than this, you may encounter difficult
	# to back out of problems with this procedure.  If /tmp is on
	# the / partition, you may want to completely remove all its content
	# before upgrading, as this can be a common source of shortage of
	# space on /.

	<make sure you have good level 0 dumps>
	<maybe fix /etc/fstab>					[1]
	make buildworld						[2]
	make buildkernel KERNCONF=YOUR_KERNEL_HERE		[3]
	cp sys/${MACHINE}/conf/GENERIC.hints /boot/device.hints [4]
	make installkernel KERNCONF=YOUR_KERNEL_HERE
	cd sys/boot ; make STRIP= install			[5]
	<reboot in single user>					[7]
	/usr/src/etc/rc.d/preseedrandom				[8]
	mergemaster -p						[9]
	rm -rf /usr/include/g++
	rm -f /sbin/mountd
	make installworld					[11]
	mergemaster -i						[12]

	Make sure that you've read the UPDATING file to understand the
	tweaks to various things you need.  At this point in the life
	cycle of stable, things change fairly rarely.  However, many
	changes from 4.x to 5.x are not reflected in this breif section.
	The defaults can also change, so please read ALL of the UPDATING

	If you have any ports or packages installed on the system, please
	see /usr/ports/UPDATING.  The following items are known to cause
	problems with the upgrade:
	(a) Kerberos upgrades are hard, and evidentally don't work.  More
	    on this later.
	(b) Old ports and packages can sometimes have subtle problems with
	    newer libraries.  portupgrade -f is recommended where possible
	    after the upgrade.  portupgrade -P will be faster since it uses
	    packages.  There are many known issues with running a mix of
	    4.x built packages and 5.x built packages, and this avoids them.
	(c) Perl based ports may also have the wrong version of perl hard
	    coded into the headers.  Spamassassin is one such port.
	(d) Startup scripts have significantly changed.  Make sure that you
	    verify that all expected daemons start.  Modifications of /etc/rc*
	    (except rc.conf) may cause problems.
	(e) Device names have changed and MAKEDEV is gone.
	(f) The boot loader defaults have changed, which may cause confusion.
	(g) If the build dies for some reason and you reboot, you'll be booting
	    with new libraries, but old paths.  You will need to tell ldconfig
	    about them with
		ldconfig /lib /usr/lib /usr/local/lib
	(h) If the system appears to hang, try toggling the scroll lock.  Many
	    kvm switches use Scroll Lock to switch screens and on such systems
	    a hang can often just be scroll lock active.
	(i) named now runs in a chroot unless you disable this.  See
	    named_chrootdir in /etc/defaults/rc.conf for details on restoring
	    4.x behavior.
	(j) Ports that use PAM on 4.x should be recompiled.  This is especially
	    true for sudo.  know thy root password before the upgrade!

	[1] Before you upgrade, please make sure that you are not using
	compatibility slices.  These are device names of the form, on i386 and
	other architectures that use MBR slicing, /dev/ad0a without the actual
	slice name.  Chances are excellent that these will break.  You
	generally must update these entries to use the post FreeBSD 2.x form
	of /dev/ad0s1a.

	[2] When checking out sources, you must include the -P flag to have
	cvs prune empty directories. Also, if CPUTYPE is defined in your
	/etc/make.conf, make sure to use the "?=" instead of the "="
	assignment operator, so that buildworld can override the CPUTYPE if it
	needs to.  In case you would like to avoid installing new packages of
	everything, you might want to uncomment the "COMPAT4X= YES" entry, so
	that 4.x compatibility libraries are built which should allow you to
	continue using your existing software for a while.

	[3] In order to have a kernel that can run the 4.x or earlier binaries
	needed to do an installworld, you must include the COMPAT_FREEBSD4
	option in your kernel.  Failure to do so may leave you with a system
	that is hard to boot to recover.  If you have a.out binaries, then you
	need to add COMPAT_AOUT option too.  If you are updating a system
	that's been updated from 2.x and/or 3.x in the past, enable both of
	these to be safe.

	[4] If you have legacy ISA devices, you may need to create your own
	device.hints to reflect your unique hardware configuration.

	[5] Since make installkernel also does a make heirarchy, PAM will
	stop working because /etc/pam.d's existance overrides /etc/pam.conf.
	If you want to login to your system after the install kernel, or if
	you have accidentally rebooted a remote system into multi-user, the
	existance of /etc/pam.d will cause remote logins to fail.  It is
	safe to remove it at this step as it will be recreated later.

	[6] 4.x boot loader can be used to boot a 5.x system, however it is
	difficult to do that at best.  If you wish to try, then you should
	interrupt the boot and at the ok prompt type:
		ok unload
		ok boot /boot/kernel/kernel
	If this fails to work, you must install a new boot loader as described

	[7] If you have third party modules, such as vmware, you should
	disable them at this point so they don't crash your system on reboot.

	[8] From the bootblocks, boot -s, and then do
		fsck -p
		mount -a -t ufs
		cd /usr/src
		adjkerntz -i		# if CMOS is wall time
	Also, when doing a major release upgrade, it is required that you boot
	into single user mode to do the installworld.  For the 4.x -> 5.x
	upgrade, you will also see many messages about needing to recompile
	your userland.  These are harmless and can be ignored while you
	proceed to the next step.

	[9] In order to create temporary files, /dev/random must be
	initialized by feeding data into it.  /usr/src/etc/rc.d/preseedrandom
	takes care of this.

	[10] Usually this step is a noop.  However, from time to time you may
	need to do this if you get unknown user in the following step.  It
	never hurts to do it all the time.  You may need to install a new
	mergemaster (cd src/usr.sbin/mergemaster && make install) after the
	buildworld before this step if you last updated from current before
	20020224 or from -stable before 20020408.  If you are installing not
	from /usr/src, don't forget the -m option.

	[11] If you are using a non-standard /usr/obj, you need to set
	an appropriate MAKEOBJDIRPREFIX before this step.

	[12] Note: This step is non-optional.  Failure to do this step can
	result in a significant reduction in the functionality of the system.
	Attempting to do it by hand is not recommended and those that pursue
	this avenue should read this file carefully, as well as the archives
	of freebsd-current and freebsd-hackers mailing lists for potential
	gotchas.  Also, if you are installing not from /usr/src, don't
	forget the -m option.  Also note: since many libraries moved into
	/lib with 5.x, failure to run mergemaster will result in many
	shared libraries that should be there not being found.


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
freebsd 6.1 user memory phinux *BSD 2 09-02-2006 06:21 PM
FreeBSD 5.4: Keyboard problems in console Ephracis *BSD 1 04-20-2006 02:32 AM
Access FreeBSD partition anuode *BSD 3 10-23-2005 07:19 AM
As a FreeBSD user, what is the best things you like about FreeBSD? t3gah *BSD 6 06-10-2005 03:38 PM
Updating process on FreeBSD 4.6 sancho5 *BSD 7 07-26-2002 05:38 PM

All times are GMT -5. The time now is 12:54 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration