Solved Problems after 10.1 -> 11.0 upgrade

Good day!

I have a stupid problem, and all problem because I'm not go throught one additional step 10.1->10.3.
My steps:
  • svnlite co https://svn.freebsd.org/base/stable/11 /usr/src
  • cd /usr/src
  • rm -rf /usr/obj
  • make buildworld
  • make kernel
  • reboot
  • single user mode && make installworld
  • reboot and have all my problems :(
After upgrading system from 10.1 to 11.0 I can't do
mergemaster
It gives me that error:
Code:
*** The directory specified for the temporary root environment,
    /var/tmp/temproot, exists.  This can be a security risk if untrusted
    users have access to the system.

  Use 'd' to delete the old /var/tmp/temproot and continue
  Use 't' to select a new temporary root directory
  Use 'e' to exit mergemaster

  Default is to use /var/tmp/temproot as is

How should I deal with this? [Use the existing /var/tmp/temproot] d

   *** Deleting the old /var/tmp/temproot

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


  *** FATAL ERROR: Cannot 'cd' to /usr/src and install files to
      the temproot environment
And in /var/log/messages I have a message:
Code:
 kernel: pid 1963 (bmake), uid 0: exited on signal 12

Also I can't do make buildworld with similar error
Code:
*** Signal 12

Stop.
How can I solve problem? Many installed ports working incorrect without finished upgrade procedure :(
 
Replace make kernel with make buildkernel and make installkernel. Then reboot.
 
You are booting off a 10.1 KERNEL and your filesystems are not mounted. Read the Handbook and pay attention to Procedure 23.2.
Thanks for reply, but server booting successfully with mounted filesystems and kernel are 11.0
Problem in some base system utils I think.
uname -a
Code:
FreeBSD BSD-SERV 11.0-STABLE FreeBSD 11.0-STABLE #0 r311746: Mon Jan  9 22:08:21 MSK 2017     user@BSD-SERV:/usr/obj/usr/src/sys/BSDSERV  amd64
df -h
Code:
Filesystem           Size    Used   Avail Capacity  Mounted on
/dev/mirror/diska    1,0G    165M    762M    18%    /
devfs                1,0K    1,0K      0B   100%    /dev
/dev/mirror/diskd     30G    9,3G    18,8G    31%    /usr
/dev/mirror/diske    2,0G     17M    1,8G     1%    /home
/dev/mirror/diskf    431G    189G    208G    48%    /var
 
Is /usr/src/ perhaps on a separate filesystem? Keep in mind when booting to single user mode only the root (/) filesystem is mounted and it will be mounted read-only.

Assuming this is an UFS system after booting to single user mode you need to do:
Code:
fsck -y
mount -u / # remount / read/write
mount -a -t ufs # mount all other local filesystems
swapon -a # Not strictly required but may help
 
My steps:
  • svnlite co https://svn.freebsd.org/base/stable/11 /usr/src
  • cd /usr/src
  • rm -rf /usr/obj
  • make buildworld
  • make kernel
  • reboot
  • single user mode && make installworld
  • reboot and have all my problems :(
If those were your steps then you wouldn't be booting from a new KERNEL.
Also, in single user mode you did not mount all your file systems. /usr is in a different partition/disk.

I am not sure what you have done but you can boot off your old KERNEL and repeat the procedure correctly.

# make buildworld && make buildkernel
# make installkernel

Reboot into single user mode:

# mount -u /
# mount -a -t ufs
# mergemaster -p
# cd /usr/src
# make installworld
 
Is /usr/src/ perhaps on a separate filesystem? Keep in mind when booting to single user mode only the root (/) filesystem is mounted and it will be mounted read-only.

Assuming this is an UFS system after booting to single user mode you need to do:
Code:
fsck -y
mount -u / # remount / read/write
mount -a -t ufs # mount all other local filesystems
swapon -a # Not strictly required but may help
No, /usr/src is not a separate FS. I do after booting in single user mode these steps:
mount -o rw /
mount -a
cd /usr/src
make installworld

So OK, I try to boot on old kernel and follow strict procedure. I know that this is my fault.

gkontos said:
If those were your steps then you wouldn't be booting from a new KERNEL.
Also, in single user mode you did not mount all your file systems. /usr is in a different partition/disk.
gkontos, but why? There is a line from /usr/src/Makefile with possible targets:
Code:
# kernel              - buildkernel + installkernel.
......
#  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.  `mergemaster'            (you may wish to use -i, along with -U or -F).
#  9.  `make delete-old'
# 10.  `reboot'
# 11.  `make delete-old-libs' (in case no 3rd party program uses them anymore)
#
 
Yes, it is.

Code:
/dev/mirror/diskd     30G    9,3G    18,8G    31%    /usr

Because mergemaster(8) uses /var/tmp it's important this is mounted too:
Code:
/dev/mirror/diskf    431G    189G    208G    48%    /var
SirDice , I mean that /usr/src not separate FS, not a /usr :) As I say above, in single user mode I mount all FS with mount -a.
 
gkontos, but why? There is a line from /usr/src/Makefile with possible targets:
Code:
# kernel              - buildkernel + installkernel.
......
#  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.  `mergemaster'            (you may wish to use -i, along with -U or -F).
#  9.  `make delete-old'
# 10.  `reboot'
# 11.  `make delete-old-libs' (in case no 3rd party program uses them anymore)
#
Does that match with what you originally posted ?
 
Does that match with what you originally posted ?
Yes, it matched. In first message I forget to write about mergemaster -p after make kernel
I Proceed steps from 1 to 7, with 3 and 4 step combined in one make kernel. Tomorrow I try to boot with kernel.old and do updating one more time.

For additional info please tell me, can I repair system in that way, if SirDice's method not help me:
1. fetch base.txz and kernel.txz for 11-STABLE
2. tar xvjf it in single user mode
3. reboot and rebuild all installed packages
 
Yes, it matched. In first message I forget to write about mergemaster -p after make kernel
I Proceed steps from 1 to 7, with 3 and 4 step combined in one make kernel.

Keep in mind that when you ask for help in a forum, you should provide exactly the steps that you have followed. Your steps were misleading yet you insist that they much the suggested method.
2 people have tried to help you and you have all the information that you need to make your system running.
 
Thanks gkontos and SirDice, for your suggestions! Tomorrow I will write about my results.
Also sorry for inconsistencies in my posts, I just very anxious with that problem.
 
Guys all works! Thanks!

I follow your instructions and
  • mv /boot/kernel.old /boot/kernel
  • after booting with 10-stable kernel, I do make buildworld && make buildkernel
  • follows with regular steps for system update
Now all works fine.
 
Great! Something must have gone wrong on your first try. When this happens it's best to take a step back, rollback the changes, and start again. And of course it pays to have good backups ;)
 
Back
Top