Re: FreeBSD 10 Bootstrapping

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 20 May 2014 16:03:33 +0200 (CEST)

Peter Ross wrote:
> ich denke daran, Server von FreeBSD 9 zu FreeBSD 10 zu aktualisieren.
>
> Ich baue dabei selbst, u.a. meine eigenen Kernel, da ich auf einigen
> Rechnern z.B. VIMAGE benutze, das im Standardkernel nicht drin ist.
>
> Auch muß ich auf einem Rechner zumindest VirtualBox unterstützen.
>
> Ich habe nun auf einem FreeBSD-9-Rechner ein "make world" (buildworld,
> buildkernel etc.) angeschmissen, und frage mich, welche Konsequenzen die
> Wahl des Compilers, der Wechsel von GCC zu Clang hat, auch wenn es um das
> Bauen von Ports geht (besonders VirtualBox, da da Kernelmodule involviert
> sind).
>
> Im Moment sieht das so aus, als wenn der gcc für das Kompilieren verwendet
> wird.. Aber ich nehme an, nach dem Bauen von Clang wird alles damit
> gebaut?
>
> Anders gefragt: Wird ein unter FreeBSD-9 kompiliertes FreeBSD-10 andere
> Binaries haben als eines, das unter FreeBSD-10 kompiliert wurde?
>
> Ich glaube nicht, aber glauben heißt nicht wissen;-)
>
> Heißt das auch, ich sollte erst ein FreeBSD-10 installieren und dann
> Virtualbox bauen? Ich vermute, eine unter FreeBSD-9 kompilierte VirtualBox
> (selbst wenn es die FreeBSD-10-Sourcen unter /usr/src bekommt) wird unter
> FreeBSD-10 nicht laufen, da es mit dem gcc statt Clang übersetzt wurde?
>
> Mein Plan zur Zeit ist, auf einem Rechner FreeBSD-10 zu bauen und zu
> installieren und dann darauf neue Ports zu bauen.

Klingt nach einem guten Plan. :-)

Du kannst problemlos auf einem aktuellen FreeBSD 9 ein aktuelles
FreeBSD 10 bauen (gemäß Kochrezept in /usr/src/UPDATING), und
Du solltest dabei die gleichen Binaries erhalten wie beim Bauen
direkt unter FreeBSD 10. Dafür sorgt der anfängliche Bootstrap
des "make world"-Mechanismus, der zunächst die erforderliche
Toolchain baut, bevor das eigentliche System an die Reihe kommt.

Was clang vs. gcc betrifft, kann das per /etc/src.conf eingestellt
werden. Allerdings kannst Du nicht "man src.conf" verwenden, weil
Du dann noch die Version des alten FreeBSD 9 bekommst.
Stattdessen:

$ nroff -man $SRC/share/man/man5/src.conf.5 | less -r

wobei $SRC Das Wurzelverzeichnis der FreeBSD-10-Sourcen ist.

Ports solltest Du dann erst unter dem neuen System (FreeBSD 10)
bauen. Das gilt ganz besonders für Kernelmodule, die ja i.allg.
Teile der Systemsourcen mitverwenden.

Gruß
   Olli

-- 
Oliver Fromme,  secnetix GmbH & Co. KG,  Marktplatz 29, 85567 Grafing
Handelsregister:  Amtsgericht Muenchen, HRA 74606, Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsreg.: Amtsgericht München,
HRB 125758, Geschäftsführer:  Maik Bachmann,  Olaf Erb,  Ralf Gebhart
FreeBSD-Dienstleistungen/-Produkte + mehr: http://www.secnetix.de/bsd
"C is quirky, flawed, and an enormous success."
        -- Dennis M. Ritchie.
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 20 May 2014 - 16:03:44 CEST

search this site