Re: Problem completing a 9.1 release to 9.2 release upgrade

2013-10-06 Thread Matthew Seaman
On 05/10/2013 21:41, Polytropon wrote:
 On Sat, 5 Oct 2013 16:00:25 -0400, Eric Feldhusen wrote:
  I see my /usr/src/sys/amd64/conf/GENERIC is a 9.2 kernel, so I should just
 be able to do a

 cd /usr/src
 make buildworld
 make installworld
 reboot

 and I'll be running up on the 9.2 kernel and then I'll be all set?
 
 No. You should follow the procedure mentioned in the
 comment header of /usr/src/Makefile. From my (old)
 b-STABLE system:
 
 #  1.  `cd /usr/src'   (or to the directory containing your source tree).
 #  2.  `make buildworld'
 #  3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
 #  4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
 #   [steps 3.  4. can be combined by using the kernel target]
 #  5.  `reboot'(in single user mode: boot -s from the loader prompt).
 #  6.  `mergemaster -p'
 #  7.  `make installworld'
 #  8.  `make delete-old'
 #  9.  `mergemaster'(you may wish to use -i, along with -U or -F).
 # 10.  `reboot'
 # 11.  `make delete-old-libs' (in case no 3rd party program uses them anymore)
 
 Pick what you need to do. When kernel and world sources are
 in sync, a new kernel can always be installed in multi-user
 mode. To install world, you should drop to single-user mode
 to avoid interferences with a full-featured system running
 in the background. This procedure (or parts of it) will
 also work when you have been using freebsd-update to modify
 your kernel, world, and sources.
 

Errrmm... The OP is maintaining his system using freebsd-update -- just
building and installing a replacement kernel from the source tree
installed via freebsd-update is in fact perfectly OK and a supported way
to manage a FreeBSD system.

While you are quoting the official instructions from /usr/src/UPDATING
here (so they are completely correct in that sense) these are the
instructions to do something rather different to what the OP intended.

Cheers,

Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.
PGP: http://www.infracaninophile.co.uk/pgpkey




signature.asc
Description: OpenPGP digital signature


Re: Problem completing a 9.1 release to 9.2 release upgrade

2013-10-06 Thread Polytropon
On Sun, 06 Oct 2013 08:08:42 +0100, Matthew Seaman wrote:
 On 05/10/2013 21:41, Polytropon wrote:
  On Sat, 5 Oct 2013 16:00:25 -0400, Eric Feldhusen wrote:
   I see my /usr/src/sys/amd64/conf/GENERIC is a 9.2 kernel, so I should just
  be able to do a
 
  cd /usr/src
  make buildworld
  make installworld
  reboot
 
  and I'll be running up on the 9.2 kernel and then I'll be all set?
  
  No. You should follow the procedure mentioned in the
  comment header of /usr/src/Makefile. From my (old)
  b-STABLE system:
  
  #  1.  `cd /usr/src'   (or to the directory containing your source 
  tree).
  #  2.  `make buildworld'
  #  3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is 
  GENERIC).
  #  4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is 
  GENERIC).
  #   [steps 3.  4. can be combined by using the kernel target]
  #  5.  `reboot'(in single user mode: boot -s from the loader 
  prompt).
  #  6.  `mergemaster -p'
  #  7.  `make installworld'
  #  8.  `make delete-old'
  #  9.  `mergemaster'(you may wish to use -i, along with -U or 
  -F).
  # 10.  `reboot'
  # 11.  `make delete-old-libs' (in case no 3rd party program uses them 
  anymore)
  
  Pick what you need to do. When kernel and world sources are
  in sync, a new kernel can always be installed in multi-user
  mode. To install world, you should drop to single-user mode
  to avoid interferences with a full-featured system running
  in the background. This procedure (or parts of it) will
  also work when you have been using freebsd-update to modify
  your kernel, world, and sources.
  
 
 Errrmm... The OP is maintaining his system using freebsd-update -- just
 building and installing a replacement kernel from the source tree
 installed via freebsd-update is in fact perfectly OK and a supported way
 to manage a FreeBSD system.

That is true. But if I understand the question (as quoted
above) correctly, installing world from source has been
involved, that's why my suggestion of following the
instructions (or a subset of them, as it applies).



 While you are quoting the official instructions from /usr/src/UPDATING
 here (so they are completely correct in that sense) these are the
 instructions to do something rather different to what the OP intended.

I've copied the the instructions from the comment header
of /usr/src/Makefile (at least on my outdated system at
home they're there). Of course if the _only_ problem of
the initial question is to install a custom kernel, with
an otherwise updated system using freebsd-update (with
world, kernel and sources in sync), just installing a
custom kernel from within multi-user mode is fully
supported by the system. This implies that only a small
subset of the quoted instructions would apply here
(steps 1 and 3 - 5), after freebsd-update has been
finished successfully.




-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: Problem completing a 9.1 release to 9.2 release upgrade

2013-10-06 Thread Matthew Seaman
On 06/10/2013 04:51, Eric Feldhusen wrote:
 I figured I'd walk through those steps from start to finish and just
 correct my main problem and any other little glitches I might have.
 
 I'm on step 6 and when I run mergemaster -p, I get the following error.
 
 *** Creating the temporary root environment in /var/tmp/temproot
  *** /var/tmp/temproot ready for use
  *** Creating and populating directory structure in /var/tmp/temproot
 
 /usr/bin/install: Undefined symbol gid_from_group
 
   *** FATAL ERROR: Cannot copy files to the temproot environment
 
 I found this thread on the Freebsd forums
 http://forums.freebsd.org/showthread.php?t=41779 with the same error and if
 I do the same diagnostic steps of
 
 truss install -d -g wheel ~/testdirectory
 
 I find an error of
 
 lstat(/usr/local/etc/libmap.d,0x7fffb990) ERR#2 'No such file or
 directory'
 
 Any suggestions? Thank you for the help thus far.

The 'undefined symbol' error means you have a binary which is somehow
not dynamically linking against the shared libraries it was compiled to
use.  As install(1) has pretty simple dynamic library usage -- just
libmd and libc:

# ldd /usr/bin/install
/usr/bin/install:
libmd.so.5 = /lib/libmd.so.5 (0x800822000)
libc.so.7 = /lib/libc.so.7 (0x800a33000)

... and libmd.so just contains code for computing various checksums,
nothing to do with groups and GIDs.  This suggests that your libc.so is
somehow incompatible with your /usr/bin/install.  Which really shouldn't
be the case given that you'ld previously used freebsd-update to upgrade
your userland to 9.2-RELEASE.

Things to double check:

   * you haven't been faffing about with /etc/libmap.conf -- that file
 or any file it includes should basically be empty except in quite
 unusual circumstances.  Remember folks: libmap is not your
 solution of choice.  It's what you turn to when there are no other
 viable alternatives.

   * Your freebsd-update really has been updating the source tree you
 attempted to upgrade from.  Check /etc/freebsd-update.conf.  By
 default it contains:

# Components of the base system which should be kept updated.
Components src world kernel

 If you don't have src in there your buildworld procedure will at
 best be trying to take you back down to 9.1-RELEASE-p???, and at
 worst trying to create some unholy mixture of 9.2 kernel with
 earlier bits of the system.

I think you should be able to recover to a system managed via
freebsd-update by something like:

   # vi /etc/freebsd-update.conf
   { Make sure you're getting 'src world kernel' components as shown
 above }
   # freebsd-update fetch
   # freebsd-update install

but I haven't tested that so ICBW.  In any case, this should get you
back to the state where you have a 9.2-RELEASE world but your modified
9.1-RELEASE kernel.  If you still need a custom kernel then you can
build and install it like so:

   # cd /usr/src
   # make KERNCONF=MYKERNEL buildkernel
   # make KERNCONF=MYKERNEL installkernel

and reboot.  Otherwise, I'm not sure exactly how you'ld revert from a
custom kernel to the standard generic kernel you'ld normally get via
freebsd-update.  What I'd try is moving aside my customized kernel and
re-running freebsd-update:

   # cd /boot
   # mv kernel kernel-MYKERNEL
   # freebsd-update install

If that creates a new /boot/kernel and populates with a new kernel and
many loadable modules then you're golden.  If not, move your saved
kernel back into place (mv kernel-MYKERNEL kernel) and ask here again.

The 'no such file or directory' error for /usr/local/etc/libmap.d thing
is a false problem: /usr/local/etc/libmap.d is an optional directory --
all you are seeing is install(1) trying to open it and discovering that
it doesn't exist.

Cheers,

Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.

PGP: http://www.infracaninophile.co.uk/pgpkey
JID: matt...@infracaninophile.co.uk



signature.asc
Description: OpenPGP digital signature


Re: Problem completing a 9.1 release to 9.2 release upgrade

2013-10-05 Thread Matthew Seaman
On 05/10/2013 20:11, Eric Feldhusen wrote:
 I have a server that was/is running 9.1 release that I tried to upgrade to
 9.2 release.  I missed the step of updating to the latest 9.1 patches by
 doing
 
 freebsd-update fetch
 freebsd-update install
 
 I went right to
 
 freebsd-update upgrade -r 9.2-RELEASE
 freebsd-update install
 
 rebooot
 
 freebsd-update install
 
 reboot again
 
 But my system still comes up as 9.1 release.
 
 Any suggestions on the steps to fix my goof?

Did you replace the generic kernel from 9.1-RELEASE with something you
compiled yourself?  If so, you may well have caused freebsd-update to
ignore any modifications to the kernel.

You can fix that by re-compiling a kernel using the 9.2-RELEASE sources
and basically the same kernel configuration as for 9.1 (you will need to
check for 9.2 related differences to the configuration, but these are
likely to be pretty minor or not needed at all.)

If you aren't using a customized kernel, then has the kernel in the
standard location on your system actually been updated?  You can tell if
it's a 9.2 kernel by running strings(1) against the kernel binary, like so:

   # strings /boot/kernel/kernel | grep RELEASE

If that's clearly a 9.2 kernel, then are you actually booting up from a
different kernel somewhere else on your system?   First of all, are
there any other copies of FreeBSD kernels around anywhere -- on
memsticks, or on split mirrors perhaps?  You may need to fiddle with the
bios settings or interrupt the boot sequence and type things directly at
the loader if so.

Cheers,

Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.
PGP: http://www.infracaninophile.co.uk/pgpkey




signature.asc
Description: OpenPGP digital signature


Re: Problem completing a 9.1 release to 9.2 release upgrade

2013-10-05 Thread Eric Feldhusen
Ah, yes, when this particular box was a 9.0-release, I had compiled a
custom kernel to enable ipsec.  When I check the strings, it's a 9.1
release kernel.

 I see my /usr/src/sys/amd64/conf/GENERIC is a 9.2 kernel, so I should just
be able to do a

cd /usr/src
make buildworld
make installworld
reboot

and I'll be running up on the 9.2 kernel and then I'll be all set?

Thanks for the help.

Eric


On Sat, Oct 5, 2013 at 3:34 PM, Matthew Seaman matt...@freebsd.org wrote:

 On 05/10/2013 20:11, Eric Feldhusen wrote:
  I have a server that was/is running 9.1 release that I tried to upgrade
 to
  9.2 release.  I missed the step of updating to the latest 9.1 patches by
  doing
 
  freebsd-update fetch
  freebsd-update install
 
  I went right to
 
  freebsd-update upgrade -r 9.2-RELEASE
  freebsd-update install
 
  rebooot
 
  freebsd-update install
 
  reboot again
 
  But my system still comes up as 9.1 release.
 
  Any suggestions on the steps to fix my goof?

 Did you replace the generic kernel from 9.1-RELEASE with something you
 compiled yourself?  If so, you may well have caused freebsd-update to
 ignore any modifications to the kernel.

 You can fix that by re-compiling a kernel using the 9.2-RELEASE sources
 and basically the same kernel configuration as for 9.1 (you will need to
 check for 9.2 related differences to the configuration, but these are
 likely to be pretty minor or not needed at all.)

 If you aren't using a customized kernel, then has the kernel in the
 standard location on your system actually been updated?  You can tell if
 it's a 9.2 kernel by running strings(1) against the kernel binary, like so:

# strings /boot/kernel/kernel | grep RELEASE

 If that's clearly a 9.2 kernel, then are you actually booting up from a
 different kernel somewhere else on your system?   First of all, are
 there any other copies of FreeBSD kernels around anywhere -- on
 memsticks, or on split mirrors perhaps?  You may need to fiddle with the
 bios settings or interrupt the boot sequence and type things directly at
 the loader if so.

 Cheers,

 Matthew

 --
 Dr Matthew J Seaman MA, D.Phil.
 PGP: http://www.infracaninophile.co.uk/pgpkey



___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: Problem completing a 9.1 release to 9.2 release upgrade

2013-10-05 Thread Polytropon
On Sat, 5 Oct 2013 16:00:25 -0400, Eric Feldhusen wrote:
  I see my /usr/src/sys/amd64/conf/GENERIC is a 9.2 kernel, so I should just
 be able to do a
 
 cd /usr/src
 make buildworld
 make installworld
 reboot
 
 and I'll be running up on the 9.2 kernel and then I'll be all set?

No. You should follow the procedure mentioned in the
comment header of /usr/src/Makefile. From my (old)
b-STABLE system:

#  1.  `cd /usr/src'   (or to the directory containing your source tree).
#  2.  `make buildworld'
#  3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
#  4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
#   [steps 3.  4. can be combined by using the kernel target]
#  5.  `reboot'(in single user mode: boot -s from the loader prompt).
#  6.  `mergemaster -p'
#  7.  `make installworld'
#  8.  `make delete-old'
#  9.  `mergemaster'(you may wish to use -i, along with -U or -F).
# 10.  `reboot'
# 11.  `make delete-old-libs' (in case no 3rd party program uses them anymore)

Pick what you need to do. When kernel and world sources are
in sync, a new kernel can always be installed in multi-user
mode. To install world, you should drop to single-user mode
to avoid interferences with a full-featured system running
in the background. This procedure (or parts of it) will
also work when you have been using freebsd-update to modify
your kernel, world, and sources.




-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: Problem completing a 9.1 release to 9.2 release upgrade

2013-10-05 Thread Eric Feldhusen
I figured I'd walk through those steps from start to finish and just
correct my main problem and any other little glitches I might have.

I'm on step 6 and when I run mergemaster -p, I get the following error.

*** Creating the temporary root environment in /var/tmp/temproot
 *** /var/tmp/temproot ready for use
 *** Creating and populating directory structure in /var/tmp/temproot

/usr/bin/install: Undefined symbol gid_from_group

  *** FATAL ERROR: Cannot copy files to the temproot environment

I found this thread on the Freebsd forums
http://forums.freebsd.org/showthread.php?t=41779 with the same error and if
I do the same diagnostic steps of

truss install -d -g wheel ~/testdirectory

I find an error of

lstat(/usr/local/etc/libmap.d,0x7fffb990) ERR#2 'No such file or
directory'

Any suggestions? Thank you for the help thus far.

Eric


On Sat, Oct 5, 2013 at 4:41 PM, Polytropon free...@edvax.de wrote:

 On Sat, 5 Oct 2013 16:00:25 -0400, Eric Feldhusen wrote:
   I see my /usr/src/sys/amd64/conf/GENERIC is a 9.2 kernel, so I should
 just
  be able to do a
 
  cd /usr/src
  make buildworld
  make installworld
  reboot
 
  and I'll be running up on the 9.2 kernel and then I'll be all set?

 No. You should follow the procedure mentioned in the
 comment header of /usr/src/Makefile. From my (old)
 b-STABLE system:

 #  1.  `cd /usr/src'   (or to the directory containing your source
 tree).
 #  2.  `make buildworld'
 #  3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is
 GENERIC).
 #  4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is
 GENERIC).
 #   [steps 3.  4. can be combined by using the kernel target]
 #  5.  `reboot'(in single user mode: boot -s from the loader
 prompt).
 #  6.  `mergemaster -p'
 #  7.  `make installworld'
 #  8.  `make delete-old'
 #  9.  `mergemaster'(you may wish to use -i, along with -U or
 -F).
 # 10.  `reboot'
 # 11.  `make delete-old-libs' (in case no 3rd party program uses them
 anymore)

 Pick what you need to do. When kernel and world sources are
 in sync, a new kernel can always be installed in multi-user
 mode. To install world, you should drop to single-user mode
 to avoid interferences with a full-featured system running
 in the background. This procedure (or parts of it) will
 also work when you have been using freebsd-update to modify
 your kernel, world, and sources.




 --
 Polytropon
 Magdeburg, Germany
 Happy FreeBSD user since 4.0
 Andra moi ennepe, Mousa, ...

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org