Solved eval: ${ifconfig_...}: Bad substitution during upgrade from 9.3 to 10.3

formaltux

Member

Reaction score: 1
Messages: 36

Hi,
Upgrading from 9.3 to 10.3 on i386 platform.
Code:
cd /usr/src
rm -rf *
rm -rf .svn
svn checkout svn://svn.freebsd.org/base/releng/10.3 /usr/src

cd /usr/src/usr.sbin/mergemaster
./mergemaster.sh -p

cd /usr/obj
chflags -R noschg *
rm -rf *

cd /usr/src
make -j4 buildworld

cd /usr/src
make buildkernel KERNCONF=GENERIC
make installkernel KERNCONF=GENERIC

shutdown -r now

After reboot network is down and can't be started with bunch of:
Code:
eval: ${ifconfig_...}: Bad substitution
Errors.

What am I doing wrong?

I can't afford for the network to be down, will be (would like to) performing this on a remote box.

Thanks.
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 11,949
Messages: 38,390

You only installed a new kernel, you also need to make installworld and run mergemaster(8) to update scripts and configuration files. At the moment you're trying to run a 10.3 kernel using a 9.3 userland.

If you're doing this remotely:
Code:
cd /usr/src
make buildworld buildkernel
make installkernel
make installworld
mergemaster -U
shutdown -r now

I now it recommends to reboot to single user mode after a installkernel but I rarely do and I've never had any issues with it. If there's any reason you must first boot the new kernel it will be noted in /usr/src/UPDATING.
 
OP
formaltux

formaltux

Member

Reaction score: 1
Messages: 36

You only installed a new kernel, you also need to make installworld and run mergemaster(8) to update scripts and configuration files. At the moment you're trying to run a 10.3 kernel using a 9.3 userland.

I know, these steps are following the first reboot, but I won't be able to do this on a remote box.

To install only kernel and then reboot is according to docs right?
 
OP
formaltux

formaltux

Member

Reaction score: 1
Messages: 36

You only installed a new kernel, you also need to make installworld and run mergemaster(8) to update scripts and configuration files. At the moment you're trying to run a 10.3 kernel using a 9.3 userland.

If you're doing this remotely:
Code:
cd /usr/src
make buildworld buildkernel
make installkernel
make installworld
mergemaster -U
shutdown -r now

I now it recommends to reboot to single user mode after a installkernel but I rarely do and I've never had any issues with it. If there's any reason you must first boot the new kernel it will be noted in /usr/src/UPDATING.

Thanks, will try this.
 
OP
formaltux

formaltux

Member

Reaction score: 1
Messages: 36

Btw. NOT using freebsd-update because it doesn't use mergemaster way of merging the conf files.
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 11,949
Messages: 38,390

Actually, it does.
 

kpa

Beastie's Twin

Reaction score: 1,842
Messages: 6,318

You have to do either:

1) # make installkernel installworld; mergemaster; shutdown -r now

2) # make installkernel; shutdown -r now, boot into single user mode for # make installworld; mergemaster

Anything else and you'll be booting with old and potentially non-working rc(8) scripts.
 
OP
formaltux

formaltux

Member

Reaction score: 1
Messages: 36

Actually, it does.
it's different in a way that it doesn't present the 'i' = install temporary, 'd' = delete temporary, merge by hand with the ability to choose LEFT, RIGHT... etc.
 
Top