[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

attached an ugly and hacky patch which allows me to build 2.6.15 on powerpc.



tags 344833 + patch
thanks

hi Manoj, about this issue, i attach a quick and dirty patch, which at least
pinpoints the two places where we have an issue on powerpc. The main point is
that on powerpc the debian arch is 'powerpc', while the kernel arch can be
either ppc, ppc64 or powerpc, depending on the version and the choices made.

There is some code, with some funny mention of powerpc64 i don't know where it
comes from, that sets KERNEL_CROSS if the debian architecture is different
than the kernel arch, which obviously is a wrong assumption in this case, and
the same errors shows in the dpkg-architecture call.

I would say that the best solution here is to have some mapping between the
powerpc arches (ppc, ppc64, powerpc, powerpc32 and powerpc64) to the debian
powerpc (and powerpc64) arch, none of them needs a cross compiler since we
have a real biarch toolchain now.

Hoping to see a real fix in the archive soon, which would allow me to build
the 2.6.15-rc (and 2.6.15 once it is released, which will be RSN hopefully), 
on powerpc.

The first hunk of this patch sets ARCH=ppc again for 32bit, i am not sure i
will be going this way or not finally, since upstream recomends me to go with
ARCH=powerpc on 32bit only for 2.6.16 and later.

Friendly,

Sven Luther
diff -Nur /usr/share/kernel-package/ruleset/arches/powerpc.mk debian/ruleset/arches/powerpc.mk
--- /usr/share/kernel-package/ruleset/arches/powerpc.mk	2005-12-25 18:14:39.000000000 +0000
+++ debian/ruleset/arches/powerpc.mk	2005-12-26 19:53:07.000000000 +0000
@@ -64,13 +64,14 @@
   KPKG_SUBARCH:=$(GUESS_SUBARCH)
 endif
 
-KERNEL_ARCH:=powerpc
 
 ifneq (,$(findstring $(KPKG_SUBARCH), powerpc powerpc32 powerpc64))
   ifneq (,$(findstring $(KPKG_SUBARCH), powerpc64))
     target := vmlinux
+    KERNEL_ARCH:=powerpc
   endif
   ifneq (,$(findstring $(KPKG_SUBARCH), powerpc powerpc32))
+    KERNEL_ARCH:=ppc
     NEED_IMAGE_POST_PROCESSING = YES
     IMAGE_POST_PROCESS_TARGET := mkvmlinuz_support_install
     IMAGE_POST_PROCESS_DIR    := arch/powerpc/boot
diff -Nur /usr/share/kernel-package/ruleset/common/archvars.mk debian/ruleset/common/archvars.mk
--- /usr/share/kernel-package/ruleset/common/archvars.mk	2005-12-26 20:00:10.000000000 +0000
+++ debian/ruleset/common/archvars.mk	2005-12-26 19:50:08.000000000 +0000
@@ -47,6 +47,9 @@
       ha:=-a$(KPKG_ARCH)
     endif
   endif
+  ifneq (,$(findstring $(KPKG_ARCH),ppc powerpc ppc64 powerpc64 powerpc32))
+    ha:=-apowerpc
+  endif
 endif
 
 # set the dpkg-architecture vars
diff -Nur /usr/share/kernel-package/ruleset/misc/defaults.mk debian/ruleset/misc/defaults.mk
--- /usr/share/kernel-package/ruleset/misc/defaults.mk	2005-12-25 15:01:44.000000000 +0000
+++ debian/ruleset/misc/defaults.mk	2005-12-26 19:57:15.000000000 +0000
@@ -119,6 +119,9 @@
       endif
     endif
   endif
+  ifneq (,$(findstring $(KPKG_ARCH),ppc powerpc ppc64 powerpc64 powerpc32))
+    KERNEL_CROSS:=
+  endif
 else
   KERNEL_CROSS:=$(CROSS_COMPILE)-
 endif

Reply to: