tracking for mulitiple maschines

XPectIT

the just
Nachdem ich jetzt mal in Experimentierlaune bin, wollte ich mit meinem Duron 1.1 GHz Welt + Kernel für eine andere Maschine bauen und wie im Handbuch so einfach beschrieben, installieren.
Ich habe auf der Buildmaschine die Quellen von 5.2-rc1 gezogen, gebaut und installiert. Das geht problemlos.
Dann den Kernel für den Zielrechner gebaut - fehlerfrei
Als nächstes die Verzeichnisse /usr/src und /usr/obj auf dem Zielrechner mounten - fehlerfrei
Dann wie so schön beschrieben: "Once there, you can install the new kernel and world and run mergemaster just as you normally would"
Das übersetze ich in
cd /usr/src
make installkernel KERNCONF=GEBAUTERKERNEL

und da geht nicht weiter.
Code:
undercover# mount -t nfs 192.168.0.207:/usr/src /usr/src
undercover# mount -t nfs 192.168.0.207:/usr/obj /usr/obj
undercover# cd /usr/src
undercover# make installkernel KERNCONF=GENERIC
"/usr/src/Makefile.inc1", line 745: warning: String comparison operator should be either == or !=
"/usr/src/Makefile.inc1", line 745: Malformed conditional ((!defined(NO_RESCUE) ||  defined(RELEASEDIR)) &&  (${TARGET_ARCH} != ${MACHINE_ARCH} || ${BOOTSTRAPPING} < 501101))
"/usr/src/Makefile.inc1", line 745: Missing dependency operator
"/usr/src/Makefile.inc1", line 747: if-less endif
"/usr/src/Makefile.inc1", line 747: Need an operator
make: fatal errors encountered -- cannot continue
*** Error code 1

Stop in /usr/src.

Den Generic kann ich local so oft installieren wie ich will. Die NFS-Shares werden mit -maproot=root und schreibrechten exportiert...
Kann mir bitte jemand einen Tip geben was ich übersehe?

Der Build-PC ist ein FreeBSD 5.2-rc1 und der Zielrechner ein 5.1-p2 die /etc/make.conf ist gleich und das einzige das mir noch einfällt wäre, das die Verzeichnisse /usr/src und /usr/obj auf dem Zielrechner nicht leer sind und noch nie eine Welt darauf gebaut wurde.
 
In jedem Fall würde ich erstmal einen installworld, dann einen mergemaster, einen wiederholten installworld mit gefolgtem installkernel machen.
Z.B. mtree könnte sich geändert haben.

Grüsse,

-Kaeptn

Edit:
P.S: Aktueller Nachtrag aus current@:

Hi, when building on a 5.1 system

It appears that make should be rebuild before doing a make build of RELENG_5_2
when running the security branch RELENG_5_1. This should be added to UPDATING:

"/usr/src/Makefile.inc1", line 745: warning: String comparison operator should be either == or !=
"/usr/src/Makefile.inc1", line 745: Malformed conditional ((!defined(NO_RESCUE) || defined(RELEASEDIR)) && (${TARGET_ARCH} != ${MACHINE_ARCH} || ${BOOTSTRAPPING} < 501101))
"/usr/src/Makefile.inc1", line 745: Missing dependency operator
"/usr/src/Makefile.inc1", line 747: if-less endif
"/usr/src/Makefile.inc1", line 747: Need an operator
make.old: fatal errors encountered -- cannot continue
*** Error code 1

Stop in /usr/src.


After doing:

cd /usr/src/usr.bin/make
make obj && make depend && make && make install

the error disappeared


Thanks,

martijn
>It appears that make should be rebuild before doing a make
>build of RELENG_5_2 when running the security branch
>RELENG_5_1.

What was the specific make command that you tried to do?
(there is no 'make build' target for /usr/src)

UPDATING should already say that you need to do a 'buildworld'
before trying to do a 'buildkernel'. If you do that, then
the make command should be rebuilt correctly. No special
steps needed, but you do need to follow the standard
recommended order for an upgrade. That order is especially
important for an upgrade from 5.1-security to 5.2-anything.
 
Zuletzt bearbeitet:
Leider nicht

Danke Kaeptn aber leider hilfts nichts.
Mein Problem dürfte folgendes sein:
Auf meinem Zielrechner (router) ist 5.1-p2 installiert. Wenn ich jetzt /usr/src und /usr/obj von meinem Buildrechner (baustelle) mounte und darin
make installworld KERNCONF=... ausführen will, nimmt er das make binary das unter /usr/bin liegt (also das aus dem 5.1-p2 System) mit diesem kommt aber o.a. Fehlerbild.
Übersetze ich (wie als workaround ja angegeben) das Programm "make" aus den neuen Quellen /usr/src/src.bin/make) neu, habe ich ein binary das mit den Quellen von 5.2-rc1 kompiliert wurde und mit einem "Bad System Call" den Dienst verweigert. Dazu passt der Eintrag in UPDATING das man erst vom neuen Kernel booten muss, weil es sonst Probleme gibt.
Das hab ich gerade gemerkt und bin froh noch ein funktionstüchtiges make auf einem 3. Rechner gefunden zu haben.
Nur weiß ich jetzt nicht weiter... :confused:
 
Zuletzt bearbeitet:
Vermutlich bin ich selber schuld, das es nicht geht.
Seit gestern Abend 18 Uhr kompiliert die Welt auf meinem Router (P90, 32MB, ...dauert wohl noch etwas) mit den gemounteten Verzeichnissen der baustelle. Mir kam da nämlich so ein Gedanke:
Als ich das 5.2-rc1 auf meiner baustelle übersetzt und installiert habe, hatte ich davor ja noch 5.1 verwendet. Da hat alles geklappt. (also das Welt 5.2 bauen wenn ein System 5.1 läuft) :zitter:
Zwischenzeitlich habe ich die Welt auf der baustelle nochmal kompiliert, aber diesmal mit den neuen binarys der 5.2-rc1 weil mein System da ja schon umgestellt war. (also Welt 5.2 laufendes System 5.2) :zitter:
Nun wollte ich mit dem Router (5.1) die frisch gebaute Welt (die mit dem 5.2-rc1 gebaut wurde) installieren. Das ergab die u.a. Fehlermeldung.
Deshalb baue ich die Welt jetzt nochmal mit einem 5.1 System um sie dann installieren zu können.
Könnt ihr mir noch folgen?
:)
 
Also daran scheint es bei mir gelegen zu haben.
Jedesmal wenn ich mit einem 5.2-rc1 System die Welt oder den Kernel gebaut habe, konnte ich sie nicht mit einem 5.1-pXX installieren.
Hab ich mit den 5.1-pXX Systemen (habe das zweimal probiert) die Welt und Kernel gebaut ging alles glatt.
Mittlerweile läuft mein Router auch auf 5.2-rc, für den Server warte ich lieber noch auf 5.2-release ;-)
 
Zurück
Oben