Mario van der Linde wrote:
wenn ich rpm's baue, mache ich das mit der Option --target=i686, fürs händische Übersetzen von Sourcen gibt es die Compilerflags "-march=i686 -mtune=i686". Aber wie kann ich beim Kernelbau mit "make rpm" ein i686-optimiertes rpm bauen? Egal wie ich es anstelle, der Kernel landet immer unter ./RPMS/i386...
Er landet dort, weil die Architektur des Systems, auf dem Du momentan versuchst das RPM zu bauen, i386 ist und Du keine Cross-Compilierung des Kernels fuer eine andere Architektur vornehmen moechtest. Bei der Architektur wird nicht zwischen i386 und i686 unterschieden: das Kernel-Makefile ersetzt alle i?86 durch ein i386. In diesem Zusammenhang geht es wirklich nur um die generelle Architektur des Systems, nicht um die optimalen Compilerflags. Wenn Du ein "make V=1 rpm" ausfuehrst, duerftest Du aber bemerken, dass dennoch nicht "-march=i386" beim Compilieren verwendet wird, sondern eine hoehere Optimierung. Das liegt an arch/i386/Makefile, dem architekturabhaengigen Teil des Kernel-Makefiles, was wiederum anhand der Prozessorwahl Deiner Kernel-Konfiguration optimale Compilerflags ermittelt. Wenn Du zum Beispiel bei der Kernel-Konfiguration einen Pentium-M (meine Notebook-CPU) auswaehlst, dann wird beim Compilieren des Kernels auch "-march=i686" verwendet. Dennoch wird das fertige RPM Paket in RPMS/i386 landen aus dem oben genannten Grund. Ich hoffe, das beantwortet Deine Frage. Cheers, Thomas -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com