On Tue, Mar 07, 2000 at 01:09:15AM -0800, Kris Kennaway wrote:
> Okay, I did some testing on my new scratch box by first installing 3.4
> from the CD and then attempting a source upgrade to 4.0: buildworld
> completed fine, but following the directions in UPDATING was not enough to
> get the kernel built.
> 
-current kernels are built just fine on 3.4 with -current src/Makefile
after -current world has been built:

# cd /usr/src
# make buildworld
# make buildkernel installkernel [KERNEL="kernels you want build"]


> 1) genassym and config were complaining about not being able to find
> libc.so.4 when I installed them. Workaround: go back and rebuild with with
> CFLAGS="-static"
> 
buildworld builds host versions of these tools, and they are used for
building -current kernels with {build|install}kernel:

/usr/obj/4.0/home/ru/src-4.0/i386/usr/sbin/config:
        libc.so.3 => /usr/lib/libc.so.3 (0x2806a000)
/usr/obj/4.0/home/ru/src-4.0/i386/usr/bin/genassym:
        libc.so.3 => /usr/lib/libc.so.3 (0x28062000)


> 2) When trying to build a GENERIC kernel, the build died with:
> 
> cc -c -x assembler-with-cpp -DLOCORE -O -Wreturn-type -Wcomment -Wredundant-decls 
>-Wimplicit  -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes  
>-Wpointer-arith -Winline -Wuninitialized -Wformat -Wunused  -fformat-extensions -ansi 
> -nostdinc -I- -I. -I../.. -I../../../include  -D_KERNEL -include opt_global.h -elf  
>../../i386/i386/locore.s
> /var/tmp/ccZ79966.s: Assembler messages:
> /var/tmp/ccZ79966.s:2399: Error: operands given don't match any known 386 instruction
> /var/tmp/ccZ79966.s:2400: Error: operands given don't match any known 386 instruction
> /var/tmp/ccZ79966.s:2416: Error: operands given don't match any known 386 instruction
> /var/tmp/ccZ79966.s:2417: Error: operands given don't match any known 386 instruction
> /var/tmp/ccZ79966.s:2422: Error: operands given don't match any known 386 instruction
> /var/tmp/ccZ79966.s:2427: Error: operands given don't match any known 386 instruction
> /var/tmp/ccZ79966.s:2432: Error: operands given don't match any known 386 instruction
> /var/tmp/ccZ79966.s:2437: Error: operands given don't match any known 386 instruction
> *** Error code 1
> 
> Stop.
> 
The same for gcc.  You need the -current gcc built in the host environment
(usually, the one in /usr/obj/usr/src/i386).  That's why you should use
buildkernel target.


> Solution: 'make buildkernel' in /usr/src seemed to do the trick.
> 
We certainly need to update src/UPDATING accordingly, see the patch
attached.

> 3) The upgrade steps don't mention mergemastering /etc
> 
> Kris

-- 
Ruslan Ermilov          Sysadmin and DBA of the
[EMAIL PROTECTED]        United Commercial Bank,
[EMAIL PROTECTED]          FreeBSD committer,
+380.652.247.647        Simferopol, Ukraine

http://www.FreeBSD.org  The Power To Serve
http://www.oracle.com   Enabling The Information Age
--- UPDATING~   Tue Mar  7 11:51:07 2000
+++ UPDATING    Tue Mar  7 11:53:47 2000
@@ -14,7 +14,7 @@
 
 20000225:
        OpenSSH has been added to FreeBSD.  This may conflict with the
-       ports/security/ssh port since it installs binaries into
+       ports/security/ssh port since FreeBSD installs binaries into
        /usr/bin and the port goes into /usr/local/bin.  Most paths
        have /usr/bin in the path before /usr/local/bin, so problems
        may arise.  If you don't want OpenSSH, add NO_OPENSSH=yes to
@@ -648,9 +648,9 @@
        --------------------------------
        cd /usr/src
        make buildworld
+       make buildkernel installkernel KERNEL="NAME_OF_YOUR_KERNEL"
        cd sbin/mknod
        make install
-       <follow directions to build/install a kernel>
        <follow rebuild disk /dev entries above>        [*]
        reboot
        <in single user>

Reply via email to