*BSD News Article 27335


Return to BSD News archive

Xref: sserve comp.os.386bsd.questions:8739 comp.os.386bsd.misc:1939
Newsgroups: comp.os.386bsd.questions,comp.os.386bsd.misc
Path: sserve!newshost.anu.edu.au!munnari.oz.au!ihnp4.ucsd.edu!sdd.hp.com!cs.utexas.edu!howland.reston.ans.net!EU.net!sun4nl!nikhefk!eloy
From: eloy@paramount.nikhefk.nikhef.nl (Eloy Domingos)
Subject: Re: [q] Why (Free & Net)BSD use different binaries?
Message-ID: <1994Feb16.095356.4136@paramount.nikhefk.nikhef.nl>
Organization: NIKHEFK
References: <CL7tvx.A74@news.cis.umn.edu> <2jotfv$irj@homer.cs.mcgill.ca> <JKH.94Feb15192206@whisker.hubbard.ie>
Date: Wed, 16 Feb 1994 09:53:56 GMT
Lines: 32

jkh@whisker.hubbard.ie (Jordan K. Hubbard) writes:

>You forget that BOTH FreeBSD and NetBSD have now moved away from
>386BSD's ZMAGIC format (no, you didn't get the letters right! :-).
>NetBSD is running their own version of ZMAGIC, FreeBSD is running with
>basically BSDI's QMAGIC.

I found this out last night: I just got a binary distribution (1.0) of
FreeBSD and wanted to upgrade using the source of FreeBSD-current. It 
was not as easy as I expected to: I started with 'make bootstrapld'
but the new 'as' came in place, in a format not recognized by the old
kernel.

So I restored the old as from tape. First made a new kernel. However,
the 'old' compiler doesn't define __FreeBSD__. I did it again and put
this define manually in the makefile. Then the linking failed (-Z flag
not supported). So I made the new 'ld' command first (still using the
old as). 

Then when the kernel is linked, I get some undefined symbols (amongst which 
 is 'mountroot'). With a grep through all of /usr/src I find out that
I need a new version of sbin/config.

After I did this everything worked, I could build and boot the new kernel
and then to 'make bootstrapld' etc.

It turns out to be quite complicated (understandable) to upgrade 
because of the changed binary format. 
It would be nice if of FreeBSD-current not only a sourcetree would be exported
but also a binary distribution since this upgrade is not easy, but the
improvements (shared libraries) are very worthwhile.