[Frage] Nomenklatur von Kernel- und Target-Toolchain?

dileks

Neuer User
Mitglied seit
7 Apr 2006
Beiträge
180
Punkte für Reaktionen
0
Punkte
0
Tach auch,

ich habe heute mal ein wenig Zeit gehabt und wollte auch das neue Toolchain "Framework" ausprobieren.

Beim Erneuern meiner Skripte zum Archivieren von selbst-gebauten Toolchains bin ich über dies gestolpert:
Code:
$ ls -l dl/mipsel_gcc-*
-rw-r--r-- 1 sd sd 2014414  1. Mär 10:01 dl/mipsel_gcc-3.4.6-0.2-shared-glibc.tar.lzma
-rw-r--r-- 1 sd sd 6465781 28. Dez 11:32 dl/mipsel_gcc-4.4.5_uClibc-0.9.29-freetz-0.2-shared-glibc.tar.lzma
Warum hat die (Download-)Kernel-Toolchain kein *-freetz-0.2-* ähnlich wie bei der (Download-)Target-Toolchain?

So sieht es bei mir aus nach dem Archivieren (Skripte siehe Anhang):
Code:
$ ls -l toolchain/build/
insgesamt 14384
drwxr-xr-x 3 sd sd     4096 13. Mär 14:19 mipsel_gcc-3.4.6
-rw-r--r-- 1 sd sd  2691717 13. Mär 18:31 mipsel_gcc-3.4.6-freetz-0.3-shared-glibc.tar.lzma
-rw-r--r-- 1 sd sd       84 13. Mär 18:31 mipsel_gcc-3.4.6-freetz-0.3-shared-glibc.tar.lzma.md5sum
-rw-r--r-- 1 sd sd      116 13. Mär 18:31 mipsel_gcc-3.4.6-freetz-0.3-shared-glibc.tar.lzma.sha256sum
drwxr-xr-x 3 sd sd     4096 13. Mär 14:25 mipsel_gcc-4.5.2_uClibc-0.9.31
-rw-r--r-- 1 sd sd 12005692 13. Mär 18:24 mipsel_gcc-4.5.2_uClibc-0.9.31-freetz-0.3-shared-glibc.tar.lzma
-rw-r--r-- 1 sd sd       98 13. Mär 18:24 mipsel_gcc-4.5.2_uClibc-0.9.31-freetz-0.3-shared-glibc.tar.lzma.md5sum
-rw-r--r-- 1 sd sd      130 13. Mär 18:24 mipsel_gcc-4.5.2_uClibc-0.9.31-freetz-0.3-shared-glibc.tar.lzma.sha256sum
(Nicht über die Dateigrösse wundern, ich habe die Target-Toolchain statisch gebaut.)

Am Ende noch ein bisschen Statistik (alle Angaben in Megabytes):
Code:
$ du -s -m freetz-trunk_download-toolchain/
765     freetz-trunk_download-toolchain/
$ du -s -m freetz-trunk_build-toolchain/
2466    freetz-trunk_build-toolchain/
$ du -s -m dl/
301     dl/
(Hinweis: freetz-trunk_build-toolchain/ incl. KTC und TTC LZMA-Tarballs.)

Ich habe jeweils meine freetz-config angehängt jeweils einmal unter Verwendung einer Selbstbau- und Download-Toolchain.

Gruss,
- dileks -

P.S.: Angehängt sind 2 Skripte zum Archivieren von selbst-gebauter KTC und TTC.
 

Anhänge

  • freetz_scripts.tar.gz
    726 Bytes · Aufrufe: 4
  • freetz-config_download-toolchain.txt
    23.5 KB · Aufrufe: 0
  • freetz-config_build-toolchain.txt
    23.4 KB · Aufrufe: 1
Hi dileks.
Lange nichts mehr von dir gehört. :)

er13 hat das Archivieren vor einigen Monate direkt in die Makefiles eingebaut:
Code:
# Use KTV and TTV variables to provide new toolchain versions, i.e.
#   make KTV=freetz-0.4 TTV=freetz-0.5 toolchain
Ich nehme an, dass er beim Bauen für KTV keinen Parameter angegeben hatte.

Gruß
Oliver
 
Hallöle Oliver :),

ich hoffe es geht dir wunderbar!

Danke für den Hinweis, ich suche das nachher im Quelltext.

Weisst du ausm Kopf, ob er13 auch zwischen statisch und shared unterscheidet?
...und wie verwende ich eigene fertige Toolchains (ohne erneut zu Bauen, sozusagen als Eigen-Download-Toolchain)?

Konkret gefragt: Wie binde ich mein mipsel_gcc-4.5.2_uClibc-0.9.31-freetz-0.1-static.tar.lzma (s.w.u) ein?

- dileks -

Code:
$ ls -l toolchain/build/
insgesamt 14384
drwxr-xr-x 3 sd sd     4096 13. Mär 14:19 mipsel_gcc-3.4.6
-rw-r--r-- 1 sd sd  2691717 13. Mär 19:20 mipsel_gcc-3.4.6-freetz-0.3-shared-glibc.tar.lzma
-rw-r--r-- 1 sd sd       84 13. Mär 19:20 mipsel_gcc-3.4.6-freetz-0.3-shared-glibc.tar.lzma.md5sum
-rw-r--r-- 1 sd sd      116 13. Mär 19:20 mipsel_gcc-3.4.6-freetz-0.3-shared-glibc.tar.lzma.sha256sum
drwxr-xr-x 3 sd sd     4096 13. Mär 14:25 mipsel_gcc-4.5.2_uClibc-0.9.31
-rw-r--r-- 1 sd sd 12005692 13. Mär 19:23 mipsel_gcc-4.5.2_uClibc-0.9.31-freetz-0.1-static.tar.lzma
-rw-r--r-- 1 sd sd       92 13. Mär 19:23 mipsel_gcc-4.5.2_uClibc-0.9.31-freetz-0.1-static.tar.lzma.md5sum
-rw-r--r-- 1 sd sd      124 13. Mär 19:23 mipsel_gcc-4.5.2_uClibc-0.9.31-freetz-0.1-static.tar.lzma.sha256sum
 
Zuletzt bearbeitet:
Nett, Dank an er13!

Code:
cd freetz-trunk

make KTV=freetz-0.3-shared-glibc TTV=freetz-0.1-static toolchain

ls -alt dl/mipsel_gcc-*
-rw-r--r-- 1 sd sd 7601691 13. Mär 19:53 dl/mipsel_gcc-4.5.2_uClibc-0.9.31-freetz-0.1-static.tar.lzma
-rw-r--r-- 1 sd sd 2653555 13. Mär 19:51 dl/mipsel_gcc-3.4.6-freetz-0.3-shared-glibc.tar.lzma
-rw-r--r-- 1 sd sd 2014414  1. Mär 10:01 dl/mipsel_gcc-3.4.6-0.2-shared-glibc.tar.lzma
-rw-r--r-- 1 sd sd 6465781 28. Dez 11:32 dl/mipsel_gcc-4.4.5_uClibc-0.9.29-freetz-0.2-shared-glibc.tar.lzma

OK, gemäss Eurem Code passt das mit dem Namen, aber ist inkonsistent (s.w.u. diff).
Ausserdem fehlt die Option statische Toolchains zu archivieren (vllt. war das auch nicht vorgesehen, wäre aber nett).

- dileks -

P.S.: So passt das in meine Welt :)

Code:
--- toolchain/make/download-toolchain.mk.orig   2011-03-13 12:30:18.000000000 +0100
+++ toolchain/make/download-toolchain.mk        2011-03-13 20:05:17.877453229 +0100
@@ -11,20 +11,21 @@ endif

 KERNEL_TOOLCHAIN_MD5_mips_3.4.6:=059ee6fda4291e461e4907436a57e25e
 KERNEL_TOOLCHAIN_MD5_mips_4.4.5:=2f04367cb1238d591cdfc16ebf1c5665
-KERNEL_TOOLCHAIN_MD5_mipsel_3.4.6:=4f03f77fe7764f255da511e74b3073f1
+KERNEL_TOOLCHAIN_MD5_mipsel_3.4.6:=79d0c7a8ffd9234ec370480b4494280d
 KERNEL_TOOLCHAIN_MD5:=$(KERNEL_TOOLCHAIN_MD5_$(TARGET_ARCH)_$(KERNEL_TOOLCHAIN_GCC_VERSION))

-KERNEL_TOOLCHAIN_VERSION:=0.2
-KERNEL_TOOLCHAIN_SOURCE:=$(TARGET_ARCH)_gcc-$(KERNEL_TOOLCHAIN_GCC_VERSION)-$(KERNEL_TOOLCHAIN_VERSION)-shared-glibc.tar.lzma
+KERNEL_TOOLCHAIN_VERSION:=0.3
+KERNEL_TOOLCHAIN_SOURCE:=$(TARGET_ARCH)_gcc-$(KERNEL_TOOLCHAIN_GCC_VERSION)-freetz-$(KERNEL_TOOLCHAIN_VERSION)-shared-glibc.tar.lzma

 TARGET_TOOLCHAIN_MD5_mips_4.4.5_0.9.29:=4cfba5765128f15e36565a279e289697
 TARGET_TOOLCHAIN_MD5_mips_4.4.5_0.9.30.3:=ef5d4fb18208534346f36046dd05bb86
 TARGET_TOOLCHAIN_MD5_mipsel_4.4.5_0.9.28:=21021079165bc32bcd4afd465b9f1cd0
 TARGET_TOOLCHAIN_MD5_mipsel_4.4.5_0.9.29:=c38caf992796cbb0fa1cd602bf2cae87
+TARGET_TOOLCHAIN_MD5_mipsel_4.5.2_0.9.31:=2b651676b0b6601f786543711c322915
 TARGET_TOOLCHAIN_MD5:=$(TARGET_TOOLCHAIN_MD5_$(TARGET_ARCH)_$(TARGET_TOOLCHAIN_GCC_VERSION)_$(TARGET_TOOLCHAIN_UCLIBC_VERSION))

-TARGET_TOOLCHAIN_VERSION:=0.2
-TARGET_TOOLCHAIN_SOURCE:=$(TARGET_ARCH)_gcc-$(TARGET_TOOLCHAIN_GCC_VERSION)_uClibc-$(TARGET_TOOLCHAIN_UCLIBC_VERSION)-freetz-$(TARGET_TOOLCHAIN_VERSION)-shared-glibc.tar.lzma
+TARGET_TOOLCHAIN_VERSION:=0.1
+TARGET_TOOLCHAIN_SOURCE:=$(TARGET_ARCH)_gcc-$(TARGET_TOOLCHAIN_GCC_VERSION)_uClibc-$(TARGET_TOOLCHAIN_UCLIBC_VERSION)-freetz-$(TARGET_TOOLCHAIN_VERSION)-static.tar.lzma

 $(KERNEL_TOOLCHAIN_DIR):
        @mkdir -p $@
 
Zuletzt bearbeitet:
Der Abschnitt heißt "TOOLCHAIN_CREATE_TARBALL".

Nein, ich vermute, dass er13 das shared-glibc als Parameter übergeben hat. Wenn du eine eigene Toolchain nutzen willst, dann solltest du den Namen in download-toolchain.mk abändern.

Gruß
Oliver
 
Danke, habs schon gefunden und an meine LZMA-Tarball Dateinamen + MD5SUM + KTV/TTV angepasst.

- dileks -
 
shared-glibc habe ich als Parameter übergeben. Das mit dem fehlenden bzw. überflüssigen freetz im Namen könnte man in der Tat anpassen, allerdings würde ich das erst bei der nächsten Aktualisierung der download-toolchain machen.

@dileks: es ist übrigens nicht empfehlenswert eine statische Toolchain bauen zu lassen, s. dieses Ticket
@oliver: eventuell sollten wir die Option gänzlich rausschmeissen oder zumindest mit einem die Problematik beschreibenden Kommentar versehen
 
Ich hab nichts dagegen die Option rauszunehmen. In welchem Fall benötigt man die überhaupt noch? Bis jetzt hat sich noch niemand über die Download-Toolchain beschwert.

Gruß
Oliver
 
shared-glibc habe ich als Parameter übergeben. Das mit dem fehlenden bzw. überflüssigen freetz im Namen könnte man in der Tat anpassen, allerdings würde ich das erst bei der nächsten Aktualisierung der download-toolchain machen.
Yupp :)
@dileks: es ist übrigens nicht empfehlenswert eine statische Toolchain bauen zu lassen, s. dieses Ticket
Danke für den Hinweis!
Im Moment spiele ich noch mit dem Bauen/Archivieren/Einbinden der Toolchains bevor ich überhaupt so was flashe.
@oliver: eventuell sollten wir die Option gänzlich rausschmeissen oder zumindest mit einem die Problematik beschreibenden Kommentar versehen
Welche Option?

BTW, wie übergebe ich meinen Target-Compiler/uClibC-Version wenn ich meine eigene Toolchain verwenden will?
Früher ging das mit:
Code:
cd freetz-trunk
FREETZ_TARGET_GCC_VERSION=4.5.2 make

Leider verhindert die feste Zuordnung zu this-is-a-blablubs-uClibc-version-box das Ganze.
In meinem Fall W701V als Alien-Hardware-7170.

Ich hab das mittels Einführung eines FREETZ_UCLIBC_0_9_31_CUSTOM_BOX gelöst.

Code:
cat patches/Introduce-FREETZ_UCLIBC_0_9_31_CUSTOM_BOX.patch 
--- toolchain/Config.in.orig    2011-03-13 12:30:18.000000000 +0100                                                                                                                                  
+++ toolchain/Config.in 2011-03-13 21:14:07.977530841 +0100                                                                                                                                          
@@ -91,7 +91,8 @@ config FREETZ_UCLIBC_0_9_28_BASED_BOX                                                                                                                                              
        bool                                                                                                                                                                                         
        default y if \                                                                                                                                                                               
                ! FREETZ_UCLIBC_0_9_29_BASED_BOX && \                                                                                                                                                
-               ! FREETZ_UCLIBC_0_9_30_BASED_BOX                                                                                                                                                     
+               ! FREETZ_UCLIBC_0_9_30_BASED_BOX && \                                                                                                                                                
+               ! FREETZ_UCLIBC_0_9_31_CUSTOM_BOX                                                                                                                                                    
        default n                                                                                                                                                                                    
                                                                                                                                                                                                     
 config FREETZ_UCLIBC_0_9_29_BASED_BOX                                                                                                                                                               
@@ -104,7 +105,7 @@ config FREETZ_UCLIBC_0_9_29_BASED_BOX                                                                                                                                            
                (FREETZ_TYPE_FON_WLAN_7140 && (FREETZ_TYPE_LANG_EN || FREETZ_TYPE_LANG_A_CH)) || \                                                                                                   
                FREETZ_TYPE_FON_WLAN_7141 || \                                                                                                                                                       
                FREETZ_TYPE_FON_7150 || \                                                                                                                                                            
-               FREETZ_TYPE_FON_WLAN_7170 || \                                                                                                                                                       
+               (FREETZ_TYPE_FON_WLAN_7170 && ! FREETZ_TYPE_SPEEDPORT_W701V_7170) || \                                                                                                               
                FREETZ_TYPE_FON_WLAN_7240 || \                                                                                                                                                       
                FREETZ_TYPE_FON_WLAN_7270 || \                                                                                                                                                       
                FREETZ_TYPE_FON_WLAN_7340 || \                                                                                                                                                       
@@ -117,6 +118,11 @@ config FREETZ_UCLIBC_0_9_30_BASED_BOX                                                                                                                                           
        default y if FREETZ_TYPE_FON_WLAN_7320                                                                                                                                                       
        default n
 
+config FREETZ_UCLIBC_0_9_31_CUSTOM_BOX
+       bool
+       default y if (FREETZ_TYPE_FON_WLAN_7170 && FREETZ_TYPE_SPEEDPORT_W701V_7170)
+       default n
+
 comment "Kernel toolchain options ----------------------------------"
 choice
        prompt "Kernel compiler"
@@ -148,6 +154,7 @@ choice
        default FREETZ_TARGET_UCLIBC_VERSION_0_9_28 if FREETZ_UCLIBC_0_9_28_BASED_BOX
        default FREETZ_TARGET_UCLIBC_VERSION_0_9_29 if FREETZ_UCLIBC_0_9_29_BASED_BOX
        default FREETZ_TARGET_UCLIBC_VERSION_0_9_30 if FREETZ_UCLIBC_0_9_30_BASED_BOX
+       default FREETZ_TARGET_UCLIBC_VERSION_0_9_31 if FREETZ_UCLIBC_0_9_31_CUSTOM_BOX
 
        config FREETZ_TARGET_UCLIBC_VERSION_0_9_28
        bool "0.9.28"
@@ -163,19 +170,21 @@ choice
 
        config FREETZ_TARGET_UCLIBC_VERSION_0_9_31
        bool "0.9.31"
-       depends on (FREETZ_UCLIBC_0_9_29_BASED_BOX || FREETZ_UCLIBC_0_9_30_BASED_BOX) && FREETZ_BUILD_TOOLCHAIN
+       depends on FREETZ_UCLIBC_0_9_31_CUSTOM_BOX || (FREETZ_UCLIBC_0_9_29_BASED_BOX || FREETZ_UCLIBC_0_9_30_BASED_BOX) && FREETZ_BUILD_TOOLCHAIN
 endchoice
 
 comment "CAUTION: Usage of an uClibc version higher than that used by AVM may lead to an unstable box"
        depends on (FREETZ_UCLIBC_0_9_29_BASED_BOX && !FREETZ_TARGET_UCLIBC_VERSION_0_9_29) \
-               || (FREETZ_UCLIBC_0_9_30_BASED_BOX && !FREETZ_TARGET_UCLIBC_VERSION_0_9_30)
+               || (FREETZ_UCLIBC_0_9_30_BASED_BOX && !FREETZ_TARGET_UCLIBC_VERSION_0_9_30) \
+               || (FREETZ_UCLIBC_0_9_31_CUSTOM_BOX && !FREETZ_TARGET_UCLIBC_VERSION_0_9_31)
 
 choice
        prompt "uClibc config" if \
                FREETZ_BUILD_TOOLCHAIN && \
                (FREETZ_UCLIBC_0_9_28_BASED_BOX && FREETZ_TARGET_UCLIBC_VERSION_0_9_28) || \
                (FREETZ_UCLIBC_0_9_29_BASED_BOX && FREETZ_TARGET_UCLIBC_VERSION_0_9_29) || \
-               (FREETZ_UCLIBC_0_9_30_BASED_BOX && FREETZ_TARGET_UCLIBC_VERSION_0_9_30)
+               (FREETZ_UCLIBC_0_9_30_BASED_BOX && FREETZ_TARGET_UCLIBC_VERSION_0_9_30) || \
+               (FREETZ_UCLIBC_0_9_31_CUSTOM_BOX && FREETZ_TARGET_UCLIBC_VERSION_0_9_31)
        default FREETZ_TARGET_UCLIBC_CONFIG_MOD
 
        config FREETZ_TARGET_UCLIBC_CONFIG_MOD
@@ -200,7 +209,7 @@ choice
 
        config FREETZ_TARGET_COMPILER_GCC_4_5_2
                bool "gcc-4.5.2"
-               depends on FREETZ_BUILD_TOOLCHAIN
+               depends on (FREETZ_BUILD_TOOLCHAIN || FREETZ_UCLIBC_0_9_31_CUSTOM_BOX)
 endchoice
 
 config FREETZ_TARGET_UCLIBC_VERSION
@@ -231,7 +240,7 @@ config FREETZ_TARGET_CFLAGS
        default "-Os -pipe -march=4kc -Wa,--trap"
 
 config FREETZ_TARGET_UCLIBC_REDUCED_LOCALE_SET
-       bool "Use reduced set of locales" if FREETZ_BUILD_TOOLCHAIN && (FREETZ_UCLIBC_0_9_29_BASED_BOX || FREETZ_UCLIBC_0_9_30_BASED_BOX)
+       bool "Use reduced set of locales" if FREETZ_BUILD_TOOLCHAIN && (FREETZ_UCLIBC_0_9_29_BASED_BOX || FREETZ_UCLIBC_0_9_30_BASED_BOX || FREETZ_UCLIBC_0_9_31_CUSTOM_BOX)
        default n
        help
                This option causes only the following locales to be included into uClibc:

Eventuell habt Ihr eine Idee wie das einfacher bzw. eleganter zu lösen ist.

Gruss,
- dileks -
 
Mit den obigen Hackz konnte ich meine eigene Toolchains jetzt verwenden.

Wenn ich meine TCs als Download-Toolchains verwende, bekomme ich wieder einen Mix aus 0.9.29 und 0.9.31 uCLibc Dateien.
Wie ging das nochmals mit Löschen von ungewünschtem Ballast: fwmod_custom?
Beispiel?

BTW, wenn ich die TCs bauen lasse und das erstellte images/$New_FWimage entpacke, habe ich o.g. libs nicht doppelt.
Idee?

Code:
cat unpacked_uclibc_0.9.29-0.9.31.list
-rwxrwxrwx 1 sd sd  22628 23. Feb 2010  ld-uClibc-0.9.29.so
-rwxr-xr-x 1 sd sd  22628 13. Mär 14:50 ld-uClibc-0.9.31.so
-rwxrwxrwx 1 sd sd  13584 23. Feb 2010  libcrypt-0.9.29.so
-rwxr-xr-x 1 sd sd  11332 13. Mär 14:50 libcrypt-0.9.31.so
-rwxrwxrwx 1 sd sd   9436 23. Feb 2010  libdl-0.9.29.so
-rwxr-xr-x 1 sd sd   9496 13. Mär 14:50 libdl-0.9.31.so
-rwxrwxrwx 1 sd sd 114004 23. Feb 2010  libm-0.9.29.so
-rwxr-xr-x 1 sd sd  90272 13. Mär 14:50 libm-0.9.31.so
-rwxrwxrwx 1 sd sd   4896 23. Feb 2010  libnsl-0.9.29.so
-rwxr-xr-x 1 sd sd   1664 13. Mär 14:50 libnsl-0.9.31.so
-rwxrwxrwx 1 sd sd  76780 23. Feb 2010  libpthread-0.9.29.so
-rwxr-xr-x 1 sd sd  68384 13. Mär 14:50 libpthread-0.9.31.so
-rwxr-xr-x 1 sd sd   5248 13. Mär 14:50 librt-0.9.31.so
-rwxrwxrwx 1 sd sd  14608 23. Feb 2010  libthread_db-0.9.29.so
-rwxrwxrwx 1 sd sd 615072 23. Feb 2010  libuClibc-0.9.29.so
-rwxr-xr-x 1 sd sd 457076 13. Mär 21:25 libuClibc-0.9.31.so
-rwxr-xr-x 1 sd sd   4820 13. Mär 14:50 libutil-0.9.31.so
 
Schau mal hier rein.

Gruß
Oliver
 
Schau mal hier rein.

Gruß
Oliver

OK, Danke für den Hinweis (ich baue gerade mit einer fwmod_custom).

Das unten sollte es für mich auch tun:

Code:
--- patches/140-remove-uClibc.sh.orig   2011-03-13 12:30:20.000000000 +0100
+++ patches/140-remove-uClibc.sh        2011-03-13 22:54:25.269883230 +0100
@@ -1,9 +1,11 @@
 ( [ "$FREETZ_UCLIBC_0_9_29_BASED_BOX" == "y" ] && [ ! "$FREETZ_TARGET_UCLIBC_VERSION_0_9_29" == "y" ] || \
-[ "$FREETZ_UCLIBC_0_9_30_BASED_BOX" == "y" ] ) || return 0
+[ "$FREETZ_UCLIBC_0_9_30_BASED_BOX" == "y" ] || \
+[ "$FREETZ_UCLIBC_0_9_31_CUSTOM_BOX" == "y" ] ) || return 0

 version=
 [ "$FREETZ_UCLIBC_0_9_29_BASED_BOX" == "y" ] && version="0.9.29"
 [ "$FREETZ_UCLIBC_0_9_30_BASED_BOX" == "y" ] && version="0.9.30"
+[ "$FREETZ_UCLIBC_0_9_31_CUSTOM_BOX" == "y" ] && version="0.9.31"

 echo1 "removing uClibc-${version} files"
 rm_files "${FILESYSTEM_MOD_DIR}/lib/*${version}*"
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.