Ergebnis 1 bis 10 von 60
-
23.02.2014, 15:39 #1
- Registriert seit
- 03.04.2013
- Beiträge
- 14.861
- Thanks (gegeben)
- 763
- Thanks (bekommen)
- 21090
- Total Downloaded
- 162,47 MB
- Total Downloaded
- 162,47 MB
suche kernel patch für dm800 kernel 2.6.18
dm kernel build error
arch/mips/mm/pg-r4k.c:44:6: error: 'clear_page' alias in between function and variable is not supported
void clear_page(void * page) __attribute__((alias("clear_page_array")));
^
arch/mips/mm/pg-r4k.c:42:21: warning: 'clear_page_array' aliased declaration [enabled by default]
static unsigned int clear_page_array[0x130 / 4];
^
arch/mips/mm/pg-r4k.c:62:6: error: 'copy_page' alias in between function and variable is not supported
void copy_page(void *to, void *from) __attribute__((alias("copy_page_array")));
^
arch/mips/mm/pg-r4k.c:59:21: warning: 'copy_page_array' aliased declaration [enabled by default]
static unsigned int copy_page_array[0x148 / 4];
^
arch/mips/mm/pg-r4k.c:62:6: error: 'copy_page' alias in between function and variable is not supported
void copy_page(void *to, void *from) __attribute__((alias("copy_page_array")));
^
arch/mips/mm/pg-r4k.c:59:21: warning: 'copy_page_array' aliased declaration [enabled by default]
static unsigned int copy_page_array[0x148 / 4];
^
arch/mips/mm/pg-r4k.c:44:6: error: 'clear_page' alias in between function and variable is not supported
void clear_page(void * page) __attribute__((alias("clear_page_array")));
^
arch/mips/mm/pg-r4k.c:42:21: warning: 'clear_page_array' aliased declaration [enabled by default]
static unsigned int clear_page_array[0x130 / 4];
^
make[1]: *** [arch/mips/mm/pg-r4k.o] Error 1
mit gcc 4.8.4
kann mir da jemand helfen das zu fixen
openATV we are open Source
Boykott GPL violator
-
Advertising
-
23.02.2014, 16:16 #2
- Registriert seit
- 15.06.2013
- Beiträge
- 2.359
- Thanks (gegeben)
- 287
- Thanks (bekommen)
- 1399
- Total Downloaded
- 1,32 MB
- Total Downloaded
- 1,32 MB
Box 1:hd51Box 2:vuduo4kseBox 3:und noch 20-30 andereIch hab auf die schnelle das hier gefunden:
http://lists.openembedded.org/piperm...ly/081102.html
Dadrin ist ein Verweis auf diesen Commit:
http://git.kernel.org/cgit/linux/ker...3c6cc896a56cff
Das ist zwar nicht der gleiche Sourcecode, könnte aber als Beispiel dienen wie man das Problem beheben kann. Wird aber wahrscheinlich trotzdem nicht einfach...hd51, vuduo4se,....
-
23.02.2014, 16:28 #3
- Registriert seit
- 03.04.2013
- Beiträge
- 14.861
- Thanks (gegeben)
- 763
- Thanks (bekommen)
- 21090
- Total Downloaded
- 162,47 MB
- Total Downloaded
- 162,47 MB
Themenstarterda ist mein C wissen unterirdisch , das muss mir ein C Fachmann mal zusammen bauen
Kernel 3.x zu Kernel 2.6.18 sind welten
openATV we are open Source
Boykott GPL violator
-
23.02.2014, 18:13 #4
- Registriert seit
- 15.06.2013
- Beiträge
- 2.359
- Thanks (gegeben)
- 287
- Thanks (bekommen)
- 1399
- Total Downloaded
- 1,32 MB
- Total Downloaded
- 1,32 MB
Box 1:hd51Box 2:vuduo4kseBox 3:und noch 20-30 andereIch muss auch dazu sagen, dass ich von diesen Alias Zeug das erste Mal höre. Hab ich vorher noch nie gesehen und weiß jetzt immer noch nicht genau was es macht. Das sind also keine guten Vorrausetzungen das mal eben zu ändern...
hd51, vuduo4se,....
-
06.03.2014, 10:31 #5
- Registriert seit
- 06.03.2014
- Beiträge
- 30
- Thanks (gegeben)
- 3
- Thanks (bekommen)
- 41
- Total Downloaded
- 0
- Total Downloaded
- 0
Hallo Captain,
ich bin durch DarkStarXxXauf diesen Post aufmerksam gemacht worden, ob ich nicht helfen könne - ich versuchs.
Ich habe zwar keine dm800, aktuell kein oe-alliance checkout und somit keine Möglichkeit auf die Schnelle ein Imagebuild für die dm800 anzustossen (ist alles eingecheckt, so dass ich schnell zu Deiner Fehlemeldung kommen würde?), jedoch habe ich mal versucht die Änderungen, die für 3.0 gemacht wurden, auf 2.6.18 zu übertragen.
Bitte mal testen ob es kompiliert - wenn nicht entsprechenden Output hier hin, damit ich mich da weiter annähern kann.
Es ist, wie gesagt, komplett ungetestet - aber einen Versuch wert.
Gruß,
dev
Einmal als Codeblock (aber auch im Anhang - Endung txt kann weg, die Forensoftware lässt es ohne nicht zu)
Code:diff -burN linux-2.6.18/arch/mips/kernel/mips_ksyms.c linux-2.6.18_patchtest/arch/mips/kernel/mips_ksyms.c --- linux-2.6.18/arch/mips/kernel/mips_ksyms.c 2006-09-20 05:42:06.000000000 +0200 +++ linux-2.6.18_patchtest/arch/mips/kernel/mips_ksyms.c 2014-03-06 09:51:32.280430197 +0100 @@ -34,6 +34,12 @@ EXPORT_SYMBOL(kernel_thread); /* + * Functions that operate on entire pages. Mostly used by memory management. + */ +EXPORT_SYMBOL(clear_page); +EXPORT_SYMBOL(copy_page); + +/* * Userspace access stuff. */ EXPORT_SYMBOL(__copy_user); diff -burN linux-2.6.18/arch/mips/mm/Makefile linux-2.6.18_patchtest/arch/mips/mm/Makefile --- linux-2.6.18/arch/mips/mm/Makefile 2006-09-20 05:42:06.000000000 +0200 +++ linux-2.6.18_patchtest/arch/mips/mm/Makefile 2014-03-06 09:54:57.648434616 +0100 @@ -2,7 +2,7 @@ # Makefile for the Linux/MIPS-specific parts of the memory manager. # -obj-y += cache.o extable.o fault.o init.o pgtable.o \ +obj-y += cache.o extable.o fault.o init.o pgtable.o page-funcs.o \ tlbex.o tlbex-fault.o obj-$(CONFIG_32BIT) += ioremap.o pgtable-32.o diff -burN linux-2.6.18/arch/mips/mm/page-funcs.S linux-2.6.18_patchtest/arch/mips/mm/page-funcs.S --- linux-2.6.18/arch/mips/mm/page-funcs.S 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.18_patchtest/arch/mips/mm/page-funcs.S 2014-03-06 09:57:02.020437533 +0100 @@ -0,0 +1,50 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Micro-assembler generated clear_page/copy_page functions. + * + * Copyright (C) 2012 MIPS Technologies, Inc. + * Copyright (C) 2012 Ralf Baechle <ralf@linux-mips.org> + */ +#include <asm/asm.h> +#include <asm/regdef.h> + +#ifdef CONFIG_SIBYTE_DMA_PAGEOPS +#define cpu_clear_page_function_name clear_page_cpu +#define cpu_copy_page_function_name copy_page_cpu +#else +#define cpu_clear_page_function_name clear_page +#define cpu_copy_page_function_name copy_page +#endif + +/* + * Maximum sizes: + * + * R4000 128 bytes S-cache: 0x058 bytes + * R4600 v1.7: 0x05c bytes + * R4600 v2.0: 0x060 bytes + * With prefetching, 16 word strides 0x120 bytes + */ +EXPORT(__clear_page_start) +LEAF(cpu_clear_page_function_name) +1: j 1b /* Dummy, will be replaced. */ + .space 288 +END(cpu_clear_page_function_name) +EXPORT(__clear_page_end) + +/* + * Maximum sizes: + * + * R4000 128 bytes S-cache: 0x11c bytes + * R4600 v1.7: 0x080 bytes + * R4600 v2.0: 0x07c bytes + * With prefetching, 16 word strides 0x540 bytes + */ +EXPORT(__copy_page_start) +LEAF(cpu_copy_page_function_name) +1: j 1b /* Dummy, will be replaced. */ + .space 1344 +END(cpu_copy_page_function_name) +EXPORT(__copy_page_end) diff -burN linux-2.6.18/arch/mips/mm/pg-r4k.c linux-2.6.18_patchtest/arch/mips/mm/pg-r4k.c --- linux-2.6.18/arch/mips/mm/pg-r4k.c 2006-09-20 05:42:06.000000000 +0200 +++ linux-2.6.18_patchtest/arch/mips/mm/pg-r4k.c 2014-03-06 10:05:34.368448941 +0100 @@ -31,35 +31,6 @@ /* - * Maximum sizes: - * - * R4000 128 bytes S-cache: 0x58 bytes - * R4600 v1.7: 0x5c bytes - * R4600 v2.0: 0x60 bytes - * With prefetching, 16 byte strides 0xa0 bytes - */ - -static unsigned int clear_page_array[0x130 / 4]; - -void clear_page(void * page) __attribute__((alias("clear_page_array"))); - -EXPORT_SYMBOL(clear_page); - -/* - * Maximum sizes: - * - * R4000 128 bytes S-cache: 0x11c bytes - * R4600 v1.7: 0x080 bytes - * R4600 v2.0: 0x07c bytes - * With prefetching, 16 byte strides 0x0b8 bytes - */ -static unsigned int copy_page_array[0x148 / 4]; - -void copy_page(void *to, void *from) __attribute__((alias("copy_page_array"))); - -EXPORT_SYMBOL(copy_page); - -/* * This is suboptimal for 32-bit kernels; we assume that R10000 is only used * with 64-bit kernels. The prefetch offsets have been experimentally tuned * an Origin 200. @@ -330,11 +301,16 @@ flush_delay_slot_or_nop(); } +extern u32 __clear_page_start; +extern u32 __clear_page_end; +extern u32 __copy_page_start; +extern u32 __copy_page_end; + void __init build_clear_page(void) { unsigned int loop_start; - epc = (unsigned int *) &clear_page_array; + epc = &__clear_page_start; instruction_pending = 0; store_offset = 0; @@ -414,14 +390,14 @@ build_jr_ra(); - BUG_ON(epc > clear_page_array + ARRAY_SIZE(clear_page_array)); + BUG_ON(epc > &__clear_page_end); } void __init build_copy_page(void) { unsigned int loop_start; - epc = (unsigned int *) ©_page_array; + epc = &__copy_page_start; store_offset = load_offset = 0; instruction_pending = 0; @@ -489,5 +465,5 @@ build_jr_ra(); - BUG_ON(epc > copy_page_array + ARRAY_SIZE(copy_page_array)); + BUG_ON(epc > &__copy_page_end); } diff -burN linux-2.6.18/arch/mips/mm/pg-sb1.c linux-2.6.18_patchtest/arch/mips/mm/pg-sb1.c --- linux-2.6.18/arch/mips/mm/pg-sb1.c 2006-09-20 05:42:06.000000000 +0200 +++ linux-2.6.18_patchtest/arch/mips/mm/pg-sb1.c 2014-03-06 10:09:53.344454709 +0100 @@ -196,6 +196,8 @@ #ifdef CONFIG_SIBYTE_DMA_PAGEOPS +extern void clear_page_cpu(void *page); +extern void copy_page_cpu(void *to, void *from); /* * Pad descriptors to cacheline, since each is exclusively owned by a
-
Danke - 4 Thanks
-
06.03.2014, 18:36 #6
- Registriert seit
- 17.01.2014
- Beiträge
- 64
- Thanks (gegeben)
- 12
- Thanks (bekommen)
- 17
- Total Downloaded
- 363,2 KB
- Total Downloaded
- 363,2 KB
I also created a patch based on the same fix.
It builds now but fails to package :/
Code:diff -ur linux-2.6.18/arch/mips/kernel/mips_ksyms.c linux-2.6.18/arch/mips/kernel/mips_ksyms.c --- linux-2.6.18/arch/mips/kernel/mips_ksyms.c 2014-03-06 18:24:30.949492442 +0200 +++ linux-2.6.18/arch/mips/kernel/mips_ksyms.c 2014-03-06 18:47:21.217493796 +0200 @@ -34,6 +34,12 @@ EXPORT_SYMBOL(kernel_thread); /* + * Functions that operate on entire pages. Mostly used by memory management. + */ +EXPORT_SYMBOL(clear_page); +EXPORT_SYMBOL(copy_page); + +/* * Userspace access stuff. */ EXPORT_SYMBOL(__copy_user); diff -ur linux-2.6.18/arch/mips/mm/Makefile linux-2.6.18/arch/mips/mm/Makefile --- linux-2.6.18/arch/mips/mm/Makefile 2014-03-06 18:24:31.049492442 +0200 +++ linux-2.6.18/arch/mips/mm/Makefile 2014-03-06 18:50:09.449493962 +0200 @@ -2,7 +2,7 @@ # Makefile for the Linux/MIPS-specific parts of the memory manager. # -obj-y += cache.o extable.o fault.o init.o pgtable.o \ +obj-y += cache.o extable.o fault.o init.o pgtable.o page-funcs.o \ tlbex.o tlbex-fault.o obj-$(CONFIG_32BIT) += ioremap.o pgtable-32.o Only in linux-2.6.18/arch/mips/mm: page-funcs.S diff -ur linux-2.6.18/arch/mips/mm/pg-r4k.c linux-2.6.18/arch/mips/mm/pg-r4k.c --- linux-2.6.18/arch/mips/mm/pg-r4k.c 2014-03-06 18:24:31.073492442 +0200 +++ linux-2.6.18/arch/mips/mm/pg-r4k.c 2014-03-06 19:15:21.809495457 +0200 @@ -31,39 +31,6 @@ /* - * Maximum sizes: - * - * R4000 128 bytes S-cache: 0x58 bytes - * R4600 v1.7: 0x5c bytes - * R4600 v2.0: 0x60 bytes - * With prefetching, 16 byte strides 0xa0 bytes - */ - -static unsigned int clear_page_array[0x130 / 4]; - -void clear_page(void * page) __attribute__((alias("clear_page_array"))); - -EXPORT_SYMBOL(clear_page); - -/* - * Maximum sizes: - * - * R4000 128 bytes S-cache: 0x11c bytes - * R4600 v1.7: 0x080 bytes - * R4600 v2.0: 0x07c bytes - * With prefetching, 16 byte strides 0x0b8 bytes - */ -#ifdef CONFIG_MIPS_CPU_SCACHE -static unsigned int copy_page_array[0x248 / 4]; -#else -static unsigned int copy_page_array[0x148 / 4]; -#endif - -void copy_page(void *to, void *from) __attribute__((alias("copy_page_array"))); - -EXPORT_SYMBOL(copy_page); - -/* * This is suboptimal for 32-bit kernels; we assume that R10000 is only used * with 64-bit kernels. The prefetch offsets have been experimentally tuned * an Origin 200. @@ -347,12 +314,17 @@ flush_delay_slot_or_nop(); } +extern u32 __clear_page_start; +extern u32 __clear_page_end; +extern u32 __copy_page_start; +extern u32 __copy_page_end; + void __init build_clear_page(void) { unsigned int loop_start; unsigned long off; - epc = (unsigned int *) &clear_page_array; + epc = (unsigned int *) &__clear_page_start; instruction_pending = 0; store_offset = 0; @@ -437,7 +409,7 @@ build_jr_ra(); - BUG_ON(epc > clear_page_array + ARRAY_SIZE(clear_page_array)); + BUG_ON(epc > &__clear_page_end); } void __init build_copy_page(void) @@ -445,7 +417,7 @@ unsigned int loop_start; unsigned long off; - epc = (unsigned int *) ©_page_array; + epc = (unsigned int *) &__copy_page_start; store_offset = load_offset = 0; instruction_pending = 0; @@ -518,5 +490,5 @@ build_jr_ra(); - BUG_ON(epc > copy_page_array + ARRAY_SIZE(copy_page_array)); + BUG_ON(epc > &__copy_page_end); } diff -ur linux-2.6.18/arch/mips/mm/pg-sb1.c linux-2.6.18/arch/mips/mm/pg-sb1.c --- linux-2.6.18/arch/mips/mm/pg-sb1.c 2006-09-20 06:42:06.000000000 +0300 +++ linux-2.6.18/arch/mips/mm/pg-sb1.c 2014-03-06 19:17:35.145495588 +0200 @@ -196,6 +196,8 @@ #ifdef CONFIG_SIBYTE_DMA_PAGEOPS +extern void clear_page_cpu(void *page); +extern void copy_page_cpu(void *to, void *from); /* * Pad descriptors to cacheline, since each is exclusively owned by a
mipsel-oe-linux-objcopy: Unable to recognise the format of the input file `/home/mastag/build-enviroment/builds/openatv/dm800/tmp/work/dm800-oe-linux/linux-dreambox/2.6.18-r3.1/package/usr/src/kernel/scripts/basic/fixdep'
ERROR: Function failed: split_and_strip_files
ERROR: Logfile of failure stored in: /home/mastag/build-enviroment/builds/openatv/dm800/tmp/work/dm800-oe-linux/linux-dreambox/2.6.18-r3.1/temp/log.do_package.414
ERROR: Task 89 (/home/mastag/build-enviroment/meta-oe-alliance/recipes-kernel/linux/linux-dreambox_2.6.18.bb, do_package) failed with exit code '1'
Code:DEBUG: Executing python function sstate_task_prefunc DEBUG: Python function sstate_task_prefunc finished DEBUG: Executing python function do_package DEBUG: Executing python function package_get_auto_pr DEBUG: Python function package_get_auto_pr finished DEBUG: Executing python function perform_packagecopy DEBUG: Python function perform_packagecopy finished DEBUG: Executing python function split_and_strip_files ERROR: objcopy failed with exit code 256 (cmd was 'mipsel-oe-linux-objcopy' --only-keep-debug '/home/mastag/build-enviroment/builds/openatv/dm800/tmp/work/dm800-oe-linux/linux-dreambox/2.6.18-r3.1/package/usr/src/kernel/scripts/basic/fixdep' '/home/mastag/build-enviroment/builds/openatv/dm800/tmp/work/dm800-oe-linux/linux-dreambox/2.6.18-r3.1/package/usr/src/kernel/scripts/basic/.debug/fixdep'): mipsel-oe-linux-objcopy: Unable to recognise the format of the input file `/home/mastag/build-enviroment/builds/openatv/dm800/tmp/work/dm800-oe-linux/linux-dreambox/2.6.18-r3.1/package/usr/src/kernel/scripts/basic/fixdep' DEBUG: Python function split_and_strip_files finished DEBUG: Python function do_package finished ERROR: Function failed: split_and_strip_files
EDIT2: Seems to be related to recipes/build-system
Code:file build-enviroment/builds/openatv/dm800/tmp/work/dm800-oe-linux/linux-dreambox/2.6.18-r3.1/package/usr/src/kernel/scripts/basic/fixdep fixdep: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x4f84642ab52b304e068f800a37c7676f553586c9, not stripped
Geändert von MastaG (06.03.2014 um 18:51 Uhr)
-
Danke - 2 Thanks
-
07.03.2014, 00:38 #7
- Registriert seit
- 06.03.2014
- Beiträge
- 30
- Thanks (gegeben)
- 3
- Thanks (bekommen)
- 41
- Total Downloaded
- 0
- Total Downloaded
- 0
Short infomation:
I changed my patch (it has had rejects) and did some other changes. Kernel did build and package successfully. I'm currenty compiling a complete image for dm800 and will give it to DarkStarXxX for first testing. If box comes up and is working, I'll post all related information here at weekend.Geändert von devzero (07.03.2014 um 00:41 Uhr)
-
Danke - 3 Thanks
-
07.03.2014, 07:24 #8
- Registriert seit
- 03.04.2013
- Beiträge
- 14.861
- Thanks (gegeben)
- 763
- Thanks (bekommen)
- 21090
- Total Downloaded
- 162,47 MB
- Total Downloaded
- 162,47 MB
Themenstarterhört sich doch schon mal gut an
es müssten noch wpa header fehler im build sein , sonst hatte ich schon div Sachen angepasst war nur noch nicht weiter gekommen
openATV we are open Source
Boykott GPL violator
-
Danke - 1 ThanksBlack_64 bedankten sich
-
07.03.2014, 08:38 #9
- Registriert seit
- 06.03.2014
- Beiträge
- 30
- Thanks (gegeben)
- 3
- Thanks (bekommen)
- 41
- Total Downloaded
- 0
- Total Downloaded
- 0
Ja, in wpa-supplicant fehlen die Definition der Typen __u32 usw (war in noch irgendeinem Paket)
Ich habe soweit alle Pakete gebaut - jedoch kann das Image noch nicht erstellt werden, da Abhängigkeiten an den Kernel gestelt werden (bestimmte Module) - teilweise kann man das durch Hinzufügen in der Kernelconfig bewerkstellingen - teilweise gibt es die abera uch noch nicht in der alten Version.
Ist noch etwas Fummelei, aber der Weg ist glaube ich nicht mehr weit.
Am Wochenende komme ich leider nicht vor Sonntagabend dazu - aber Anfang nächster Woche gehts spätestens weiter - ich werde dann - bei Erfolg - einen kompletten Patch hier herein stellen.
-
Danke - 5 Thanks
-
07.03.2014, 08:59 #10
- Registriert seit
- 17.01.2014
- Beiträge
- 64
- Thanks (gegeben)
- 12
- Thanks (bekommen)
- 17
- Total Downloaded
- 363,2 KB
- Total Downloaded
- 363,2 KB
Thanks devzero!
Keep up the good work
Lesezeichen