PROBLEM: kernel 2.6.20.6 build failed for ppc board chestnut(ibm ppc 750GX/FX)
gshan
gshan at alcatel-lucent.com
Mon Apr 16 15:28:53 EST 2007
I'm using eldk4, there are no problems.
Wang, Baojun wrote:
> PROBLEM: linux kernel 2.6.20.6 build failed for ppc board chestnut(ibm ppc
> 750GX/FX)
>
> STEPS I followed:
> 1) make ARCH=ppc CROSS_COMPILE=ppc_4xx- chestnut_defconfig # toolchain from
> eldk 4.1
>
> 2) make ARCH=ppc CROSS_COMPILE=ppc_4xx- V=1
>
> ...
>
> make -f scripts/Makefile.build obj=arch/ppc/platforms
>
> ppc_4xx-gcc -m32 -Wp,-MD,arch/ppc/platforms/.chestnut.o.d -nostdinc -isystem /opt/eldk/usr/bin/../lib/gcc/powerpc-linux/4.0.0/include -D__KERNEL__ -Iinclude -include
> include/linux/autoconf.h -Iarch/ppc -Iarch/ppc/include -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -O2 -Iarch/ppc -msoft-float -pipe -ffixed-r2 -mmultiple -mno-altivec -mstring -Wa,-maltivec -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(chestnut)" -D"KBUILD_MODNAME=KBUILD_STR(chestnut)" -c -o
> arch/ppc/platforms/chestnut.o arch/ppc/platforms/chestnut.c
> arch/ppc/platforms/chestnut.c: In function 'chestnut_setup_mtd':
> arch/ppc/platforms/chestnut.c:435: error: 'physmap_map' undeclared (first use
> in this function)
> arch/ppc/platforms/chestnut.c:435: error: (Each undeclared identifier is
> reported only once
> arch/ppc/platforms/chestnut.c:435: error: for each function it appears in.)
> make[1]: *** [arch/ppc/platforms/chestnut.o] Error 1
> make: *** [arch/ppc/platforms] Error 2
>
>
> This PROBLEM should also affect these boards:
> find -name '*.[chS]' -exec grep physmap_map {} \; -print
> physmap_map.size = CHESTNUT_32BIT_SIZE;
> ./arch/ppc/platforms/chestnut.c
> physmap_map.size = size;
> ./arch/ppc/platforms/ev64360.c
> physmap_map.size = size;
> ./arch/ppc/platforms/katana.c
>
> I've veryfied 2.6.15, 2.6.19.2 2.6.20.1 2.6.20.6
>
> ONLY 2.6.15 can build successfully. sounds like the problem is caused by the
> interface change of mtd.
>
>
> this brute force patch sould solve the problem:
>
> diff -Nru /tmp/linux-2.6.20.6/arch/ppc/platforms/chestnut.c \
> linux-2.6.20.6/arch/ppc/platforms/chestnut.c
>
> --- /tmp/linux-2.6.20.6/arch/ppc/platforms/chestnut.c 2007-04-07
> 04:02:48.000000000 +0800
> +++ linux-2.6.20.6/arch/ppc/platforms/chestnut.c 2007-04-13
> 17:09:03.000000000 +0800
> @@ -432,7 +432,9 @@
> ptbl.name = "User FS";
> ptbl.size = CHESTNUT_32BIT_SIZE;
>
> - physmap_map.size = CHESTNUT_32BIT_SIZE;
> + // physmap_map.size = CHESTNUT_32BIT_SIZE;
> + physmap_configure(CHESTNUT_32BIT_BASE, CHESTNUT_32BIT_SIZE,
> CONFIG_MTD_PHYSMAP_BANKWIDTH, NULL);
> +
> physmap_set_partitions(&ptbl, 1);
> return 0;
> }
>
>
More information about the Linuxppc-embedded
mailing list