Erstellt vor 2 Jahren

Zuletzt geändert vor 3 Stunden

#2862 new task

Support for 6490 / 6590

Erstellt von: heini66 Verantwortlicher:
Priorität: low Meilenstein: new hardware support
Komponente: avm Version: devel
Stichworte: Beobachter:
Product Id: Firmware Version:

Anhänge (4)

freetz_unhardcode_mips.diff (2.6 KB) - hinzugefügt von f_666 vor 15 Monaten.
Patch um die hartkodierte MIPS Architektur variabel zu haben
bzimage2eva.diff (7.7 KB) - hinzugefügt von f_666 vor 15 Monaten.
2 Tools, um x86 Kernel Dateien zu konvertieren
image_paths.diff (1.3 KB) - hinzugefügt von f_666 vor 13 Monaten.
Patch für fwmod und config/avm/packaging.in zur Vorbereitung auf die 6490
openssl_multiarch.patch (5.8 KB) - hinzugefügt von f_666 vor 11 Monaten.
Umbau der OpenSSL Configure Targets für die spätere Erweiterung mit "freetz-linux-i686-asm"

Alle Anhänge herunterladen als: .zip

Änderungshistorie (57)

comment:1 Geändert vor 20 Monaten durch er13

  • Komponente von unknown nach avm geändert
  • Meilenstein von freetz-next nach new hardware support geändert
  • Priorität von normal nach low geändert
  • Typ von enhancement nach task geändert

Geändert vor 15 Monaten durch f_666

Patch um die hartkodierte MIPS Architektur variabel zu haben

comment:2 Geändert vor 15 Monaten durch f_666

In den Dateien make/Makefile.in und make/linux/kernel.mk befinden sich jeweils eine Stelle, an denen die Kernelarchitektur hart auf MIPS festgelegt wird.

Der angehängte Patch macht das variabel.
Eine Hürde weniger, um andere Architekturen zu unterstützen.

Geändert vor 15 Monaten durch f_666

2 Tools, um x86 Kernel Dateien zu konvertieren

comment:3 Geändert vor 15 Monaten durch f_666

Anbei noch ein weiterer Patch, um die freetz Tools für die 6490 zu ertüchtigen.

comment:4 Geändert vor 15 Monaten durch er13

In 14377:

  • rename TARGET_ARCH to TARGET_ARCH_ENDIANNESS_DEPENDENT
  • refs #2862

comment:5 Geändert vor 15 Monaten durch er13

In 14378:

  • introduce and use (endianness independent) TARGET_ARCH variable
  • refs #2862

comment:6 Geändert vor 15 Monaten durch er13

In 14379:

comment:7 Geändert vor 15 Monaten durch er13

In 14380:

comment:8 Geändert vor 15 Monaten durch er13

In 14381:

comment:9 Geändert vor 15 Monaten durch er13

In 14382:

  • unhardcode hardcoded mips
  • refs #2862

comment:10 Geändert vor 15 Monaten durch er13

@bzImage2eva: als temporäre Lösung ist diese ok, grundsätzlich wollte ich aber ein neues Tool schreiben, welches die Funktionalität von lzma2eva, grx2eva (GRX5 Boxen) und eben bzImage2eva (6490_X86) in einem zusammenfasst. In Bezug auf die Implementierungssprache für dieses Tool habe ich mich noch nicht entschieden. Ich kann mir durchaus vorstellen, dies analog unpack-kernel als Shell-Script zu machen. eva2*-Tools brauchen wir denke ich nicht, unpack-kernel macht das gleiche.

@ARM/X86-Toolchain für 6490: sofern Du vorhast, die Freetz-Build-Umgebung dahingehend zu erweitern, dass diese die (für die 6490 notwendigen) ARM/X86-Toolchains unterstützt, so lass' uns bitte erst diskutieren, welcher Weg dafür der bessere wäre.

Der Weg "sowohl den ARM- als auch den X86-Teil der Firmware in einem Durchlauf innerhalb eines Build-Verzeichnisses zu modifizieren" erscheint mir im Sinne des Umsetzungsaufwandes, der Komplexität, der Vielzahl der Fall-Unterscheidungen, etc. als sehr aufwendig und fehleranfällig. Deswegen habe ich mir gedacht, dass jeder Teil unabhängig von dem anderen modifiziert wird. Sprich man fügt zwei Symbole für 6490 hinzu: FREETZ_TYPE_6490_ARM und FREETZ_TYPE_6490_X86. Möchte man beide Teile der 6490er-Firmware modifizieren, so müsste man 2 Freetz-Build-Verzeichnisse vorhalten, in einem wird der eine Teil modifiziert, in dem anderen dann anschließend der andere (in dem zweiten muss man ggf. mit FIRMWARE_IMAGE_OVERRIDE arbeiten und als Basis für die Modifikation eben die aus dem ersten Verzeichnis stammende bereits zur Hälfte modifizierte Firmware einstellen).

Das war wie gesagt meine Idee. Kritik/Alternativvorschläge sind willkommen.

p.s. Die Frage, wie bringe ich die Alternativ-Firmware auf die Box und ob es mit jeder neuen Fritz!OS-Version immer noch einen Weg geben wird, lasse ich außen vor. Es sei jedoch angemerkt, dass der Aufwand der Intergration sich nur dann lohnt, wenn es einen Weg gibt bzw. man sich sicher ist, dass es einen geben wird (i.e. man diesen findet).

comment:11 Geändert vor 15 Monaten durch er13

  • Zusammenfassung von add 6490 support nach Support for 6490 geändert

comment:12 Geändert vor 15 Monaten durch f_666

Es sollte reichen, nur den X86 Teil zu modifizieren. Auf dem ARM Kern ist spätestens seit der 6.83 nichts mehr los, was sich lohnen würde zu ändern.

Das kommt sicher auch dem ganzen Ablauf in Freetz entgegen. Ich hätte vermutet, dass es so recht einfach wird, die X86 Toolchain einzubauen. Im Idealfall könnten ausschließlich Änderungen in den Konfigurationsdateien reichen.

fwmod muss man noch beibringen, das 6490 Firwareimage korrekt zu erstellen.

Geflasht werden kann nur noch über den Bootloader, analog z.B. zu einer 7490 mit neuer Firmware.

Urlaubsbedingt ist von mir aber sowieso die nächsten Wochen nichts zu erwarten.

comment:13 Geändert vor 14 Monaten durch er13

  • Beschreibung geändert (Diff)
  • Zusammenfassung von Support for 6490 nach Support for 6490 / 6590 geändert

Geändert vor 13 Monaten durch f_666

Patch für fwmod und config/avm/packaging.in zur Vorbereitung auf die 6490

comment:14 Geändert vor 13 Monaten durch f_666

Momentan wühle ich mich durch die config Dateien durch. Erstes Abfallprodukt:

fwmod nimmt an, dass die Dateien firmware.image und kernel.image direkt unter var/tmp/ liegen. Bei der 6490 sind die jedoch unter var/tmp/x86/.

Der Patch macht die Pfade und Namen der beiden Dateien boxspezifisch konfigurierbar.

comment:15 Geändert vor 12 Monaten durch er13

In 14471:

uClibc:

comment:16 Geändert vor 12 Monaten durch er13

In 14472:

FREETZ_GCC_ABI/FREETZ_GCC_FLOAT_ABI symbols:

comment:17 Geändert vor 12 Monaten durch er13

In 14473:

FREETZ_GCC_ABI/FREETZ_GCC_FLOAT_ABI symbols:

  • do not set ABI/FLOAT_ABI related compiler flags if the values these symbols contain are empty
  • this makes it possible to leave these symbols empty for architectures not supporting them
  • by f_666
  • refs #2862, refs https://github.com/Freetz/freetz/pull/20

comment:18 Geändert vor 12 Monaten durch er13

In 14477:

uClibc-0.9.33.x:

comment:19 Geändert vor 12 Monaten durch er13

In 14479:

  • introduce a variable specifying the location of files like kernel.image, filesystem.image, plugins.update within the .image tarball
  • a preparation step for adding the support for 6490/6590 boxes
  • refs #2862, refs https://github.com/Freetz/freetz/pull/20

comment:20 Geändert vor 12 Monaten durch er13

In 14481:

comment:21 Geändert vor 11 Monaten durch f_666

OpenSSL benötigt auf der Intel Platform andere Optionen für den Kompiler.
Anbei ein Patch, welcher es später ermöglicht, einfach ein eigenes Target für i686 hinzuzufügen.

Geändert vor 11 Monaten durch f_666

Umbau der OpenSSL Configure Targets für die spätere Erweiterung mit "freetz-linux-i686-asm"

comment:22 Geändert vor 11 Monaten durch f_666

Wo ich es jetzt nochmal anschaue:
Die Targets ohne Assembleroptimierungen werden bei openssl-1.x.xx niemals aufgerufen.

comment:23 Geändert vor 11 Monaten durch f_666

PeterPawn hat die GPL Quellen der FW 06.85 auf seinem Server abgelegt:
http://yourfritz.de/6490/source-files-FRITZ.Box_6490_Cable.atom-06.85.tar.gz

Wer kann die Quellen für den Kernel auf dem Freetz Server ablegen?
6490_06.85-release_kernel.tar.xz

comment:24 Geändert vor 10 Monaten durch oextgarv

Wie ist der aktuelle Stand? Es ist wie man sehen kann schon einiges an Arbeit eingeflossen. Kann man bereits schon etwas davon benutzen?

comment:25 Geändert vor 10 Monaten durch f_666

Auf Github gibt es einen Branch zum Betatesten:
https://github.com/f-666/freetz/tree/6490_review

Die Ergebnisse bitte hier im IPPF berichten:
https://www.ip-phone-forum.de/threads/freetz-f%C3%BCr-6490.276768/

comment:26 Geändert vor 3 Monaten durch T0m08

Hallo wird der Support für die Kabelboxen auch in den Freetz Trunk zum Image bauen übernommen?

comment:27 Geändert vor 2 Monaten durch er13

In 14796:

simplify the way TARGET_ARCH_* variables are defined

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:28 Geändert vor 2 Monaten durch er13

In 14797:

introduce PUMA6 x86 core related symbols

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:29 Geändert vor 2 Monaten durch er13

In 14798:

introduce PUMA6 kernel related symbols

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:30 Geändert vor 2 Monaten durch er13

In 14799:

change/simplify the way FREETZ_KERNEL_VERSION_* variables are set

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:31 Geändert vor 2 Monaten durch er13

In 14800:

change/simplify the way FREETZ_AVM_UCLIBC_* variables are set

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:32 Geändert vor 2 Monaten durch er13

In 14801:

set uClibc related variables for PUMA6 x86

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:33 Geändert vor 2 Monaten durch er13

In 14802:

change/simplify the way FREETZ_AVM_GCC_* variables are set

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:34 Geändert vor 2 Monaten durch er13

In 14803:

set AVM-gcc-version related variables for PUMA6 x86

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:35 Geändert vor 2 Monaten durch er13

In 14804:

introduce FREETZ_SYSTEM_TYPE_PUMA6 and use it (instead of FREETZ_SYSTEM_TYPE_PUMA6_X86) to set kernel/uClibc/gcc versions

AVM uses the same kernel/uClibc/gcc versions for both atom and arm cores

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:36 Geändert vor 2 Monaten durch er13

In 14805:

select binutils version for PUMA6

we use binutils-2.22 instead of 2.21.1 used by AVM

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:41 Geändert vor 2 Tagen durch er13

In 14909:

add some variables to TARGET_CONFIGURE_ENV to allow their usage in the config-site script

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:42 Geändert vor 2 Tagen durch er13

In 14911:

factor out some architecture specific values, adjust comments

use exported FREETZ_KERNEL_VERSION_MAJOR to set ac_cv_linux_vers

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:43 Geändert vor 2 Tagen durch er13

In 14912:

reduce the number of config-site related files

rename freetz to common-linux-uclibc to better reflect its purpose

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:44 Geändert vor 2 Tagen durch er13

In 14913:

add config-site file for PUMA6_x86 arch

this is a counterpart of the following 6490_review commit
https://github.com/f-666/freetz/commit/8549d4b24ad02800005d00059981d49ed9d6549b

refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:45 Geändert vor 2 Tagen durch er13

In 14916:

comment:47 Geändert vor 33 Stunden durch er13

In 14919:

add md5's for PUMA6 sources

refs #2862

comment:48 Geändert vor 33 Stunden durch er13

In 14920:

various x86 and PUMA6 multi-core related changes

  • distinguish between the architecture name used by the kernel sources and the architecture name used by the target toolchain tools (gcc/binutils/etc.) Linux kernel sources use 'x86' as architecture name whereas gcc/binutils/etc. don't support this name and use i[3-9]86 instead. On MIPS all of the above use 'mips' so it was not necessary to differentiate between them.
  • introduce and use SYSTEM_TYPE_CORE_SUFFIX on multi-core systems (PUMA6). This makes it possible to express things like:
    • "these are the kernel sources for the x86 core"
    • "these are the x86 kernel patches"
    • "this is the x86 kernel .config"
    • "this is/are the x86 kernel/modules"
    • etc.

refs #2862

comment:50 Geändert vor 11 Stunden durch er13

In 14936:

Create 6490 info sheet with partitions and boot loader commands (by f-666)

refs https://github.com/Freetz/freetz/pull/22/commits/0e26af3f45caa56b0c2d4904e828635f9337875b
refs https://github.com/Freetz/freetz/pull/22
refs #2862

comment:52 Geändert vor 6 Stunden durch er13

In 14939:

puma6 boxes: enable NFS client support in kernel .config's, document why replace kernel is needed

refs #2862

comment:53 Geändert vor 3 Stunden durch er13

In 14940:

add AVM uClibc .config for PUMA6.x86

refs #2862

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.