7170, Labor-Version 29.04.21-4822 + DS MOD ?

ist schon klar wie ich das von hand behebe. werden die links nicht durch make toolchain erzeugt oder wo kommen die falschen links her ?
 
Die falschen Links kommen aus der uclibc.mk. Ich hab versucht den Fehler zu beheben. Hier hab ich die neue Version hochgeladen.

@supamicha
uclibc.mk durch die im Archiv ersetzen und "make toolchain". Oder noch ein paar libs in der Toolchain löschen (libc.a und libc.so).

MfG Oliver
 
läuft leider nicht durch :
Code:
if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F System.map -b /home/user/fritzbox/ds-0.2.9-labor22/source/ref-8mb_26-04.19/kernel/kernel_8mb_26_build/modules/ -r 2.6.13.1-ohio; fi
WARNING: /home/user/fritzbox/ds-0.2.9-labor22/source/ref-8mb_26-04.19/kernel/kernel_8mb_26_build/modules//lib/modules/2.6.13.1-ohio/kernel/drivers/net/avm_cpmac/cpphy_entry_high.ko needs unknown symbol cpphy_register_global
WARNING: /home/user/fritzbox/ds-0.2.9-labor22/source/ref-8mb_26-04.19/kernel/kernel_8mb_26_build/modules//lib/modules/2.6.13.1-ohio/kernel/drivers/net/avm_cpmac/cpphy_entry_high.ko needs unknown symbol cpmac_cpphy_global
WARNING: /home/user/fritzbox/ds-0.2.9-labor22/source/ref-8mb_26-04.19/kernel/kernel_8mb_26_build/modules//lib/modules/2.6.13.1-ohio/kernel/drivers/net/avm_cpmac/cpphy_entry_high.ko needs unknown symbol cpphy_unregister_global
WARNING: /home/user/fritzbox/ds-0.2.9-labor22/source/ref-8mb_26-04.19/kernel/kernel_8mb_26_build/modules//lib/modules/2.6.13.1-ohio/kernel/drivers/net/avm_cpmac/cpphy_entry_high_switch.ko needs unknown symbol cpphy_register_global
WARNING: /home/user/fritzbox/ds-0.2.9-labor22/source/ref-8mb_26-04.19/kernel/kernel_8mb_26_build/modules//lib/modules/2.6.13.1-ohio/kernel/drivers/net/avm_cpmac/cpphy_entry_high_switch.ko needs unknown symbol cpmac_cpphy_global
WARNING: /home/user/fritzbox/ds-0.2.9-labor22/source/ref-8mb_26-04.19/kernel/kernel_8mb_26_build/modules//lib/modules/2.6.13.1-ohio/kernel/drivers/net/avm_cpmac/cpphy_entry_high_switch.ko needs unknown symbol cpphy_unregister_global
make[1]: Leaving directory `/home/user/fritzbox/ds-0.2.9-labor22/source/ref-8mb_26-04.19/kernel/kernel_8mb_26_build/kernel/linux-2.6.13.1'
touch source/ref-8mb_26-04.19/kernel/.modules
cp source/ref-8mb_26/busybox-1.2.1/examples/depmod.pl source/depmod.pl
source/depmod.pl -b kernel/modules-8mb_26-04.19/lib/modules/2.4.17_mvl21-malta-mips_fp_le \
        -F source/ref-8mb_26-04.19/kernel/kernel_8mb_26_build/kernel/linux-2.6.13.1/System.map
Can't stat kernel/modules-8mb_26-04.19/lib/modules/2.4.17_mvl21-malta-mips_fp_le: Datei oder Verzeichnis nicht gefunden
 at source/depmod.pl line 98
cannot open kernel/modules-8mb_26-04.19/lib/modules/2.4.17_mvl21-malta-mips_fp_le/modules.dep: Datei oder Verzeichnis nicht gefunden at source/depmod.pl line 139.
make: *** [kernel-precompiled] Fehler 2
die links zu den libs sind jetzt i.O.
 
Step by Step
Wie ich das hasse. Ich kann doch nicht nach jeder Änderung das komplette Ding neu bauen...
Update (nur kernel.mk geändert)

MfG Oliver
 
jetzt ist es fertiggelaufen. danke.
 
Supi.
Die nächste Baustelle sind die Kernel-Module. Wie kommen die denn normalerweise unter kernel/modules-...?

MfG Oliver
 
sorry, aber ich kann dir nicht folgen ...
 
Die Kernel-Module sind im dsmod unter ds-0.2.9/kernel/modules-.... Wie kommen die da hin?

Hat schonmal jemand probiert selbst gebaute Module zu laden? Die von mir gebauten hab bis jetzt nicht funktioniert.

MfG Oliver
 
branding ändern hat auch nicht funktioniert ...
 

Anhänge

  • mww_cgi-bin.tar.bz2
    2.2 KB · Aufrufe: 8
Ok, habs eingebaut. (Update)
Außerdem:
Die uclibc von AVM hat LFS, die Konfig wurde vom dsmod aber überschrieben. Daher muss die uclibc und die busybox neu gebaut werden.
Die Kernelmodule werden wieder mit ins Image gepackt. Ich hab bis jetzt
aber noch nicht gelesen, dass die selbst gebauten Module funktionieren.

MfG Oliver
 
also pl2303.ko ftdi_sio.ko und usbserial.ko habe ich gebaut und sie lassen sich auch modproben
 
Mit dem letzten Update von Oli funktioniert das Image. Nur findet das Image kein angeschlossenes USB-Gerät. Obwohl die Module scheinbar geladen sind:

Code:
/var/mod/root $ lsmod
Module                  Size  Used by    Tainted: P  
usblp                  12288  0 
userman                31280  2 
tiap                  987680  0 
kdsldmod              748528  5 userman
usbahcicore            25392  0 
usbcore               113232  3 usblp,usbahcicore
isdn_fbox             893760  0 
ubik2                  68944  1 isdn_fbox
tiatm                 107584  1 ubik2
Piglet                  8240  0

Gruß
Tom
 
Unter Cygin gibt es beim Toolchain folgenden Fehler:
+ test x/home/Markus/ds-0.2.9-labor22/source/crosstool-0.42/build/mipsel-unknown-linux-gnu/gcc-3.3.2-glibc-2.3.2/gcc-core-prefix '!=' x/home/Markus/ds-0.2.9-labor22/toolchain/build/gcc-3.3.2-glibc-2.3.2/mipsel-unknown-linux-gnu
+ mkdir -p /home/Markus/ds-0.2.9-labor22/source/crosstool-0.42/build/mipsel-unknown-linux-gnu/gcc-3.3.2-glibc-2.3.2/gcc-core-prefix/mipsel-unknown-linux-gnu/bin
+ for tool in ar as ld strip
+ rm -f /home/Markus/ds-0.2.9-labor22/source/crosstool-0.42/build/mipsel-unknown-linux-gnu/gcc-3.3.2-glibc-2.3.2/gcc-core-prefix/mipsel-unknown-linux-gnu/bin/ar
+ ln -s /home/Markus/ds-0.2.9-labor22/toolchain/build/gcc-3.3.2-glibc-2.3.2/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-ar /home/Markus/ds-0.2.9-labor22/source/crosstool-0.42/build/mipsel-unknown-linux-gnu/gcc-3.3.2-glibc-2.3.2/gcc-core-prefix/mipsel-unknown-linux-gnu/bin/ar
ln: creating symbolic link `/home/Markus/ds-0.2.9-labor22/source/crosstool-0.42/build/mipsel-unknown-linux-gnu/gcc-3.3.2-glibc-2.3.2/gcc-core-prefix/mipsel-unknown-linux-gnu/bin/ar.exe' to `/home/Markus/ds-0.2.9-labor22/toolchain/build/gcc-3.3.2-glibc-2.3.2/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-ar.exe': File exists
Das stimmt sogar, nach umbenennen von `/home/Markus/ds-0.2.9-labor22/toolchain/build/gcc-3.3.2-glibc-2.3.2/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-ar.exe' kommt beim make toolchain folgendes:
+ '[' -d /home/Markus/ds-0.2.9-labor22/toolchain/build/gcc-3.3.2-glibc-2.3.2/mipsel-unknown-linux-gnu ']'
+ mv /home/Markus/ds-0.2.9-labor22/toolchain/build/gcc-3.3.2-glibc-2.3.2/mipsel-unknown-linux gnu /home/Markus/ds-0.2.9-labor22/toolchain/build/gcc-3.3.2-glibc-2.3.2/mipsel-unknown-linux-gnu.del.3072
mv: cannot move `/home/Markus/ds-0.2.9-labor22/toolchain/build/gcc-3.3.2-glibc-2.3.2/mipsel-unknown-linux-gnu' to `/home/Markus/ds-0.2.9-labor22/toolchain/build/gcc-3.3.2-glibc-2.3.2/mipsel-unknown-linux-gnu.del.3072': Permission denied
make: *** [source/crosstool-0.42/.installed] Error 1
 
Zuletzt bearbeitet:
ich bin auch noch über ein paar probleme gestolpert. dnsmasq geht nicht, nach start dnsmasq und multid wird kein name mehr aufgelöst.
ausgaben von dnsmasq :
Code:
/ $ dnsmasq -p 53 -d
dnsmasq: started, version 2.26 cachesize 150
dnsmasq: compile time options: no-IPv6 GNU-getopt RTNetlink ISC-leasefile no-DBus no-I18N
dnsmasq: DHCP, IP range 192.168.177.100 -- 192.168.177.199, lease time 12h
dnsmasq: read /etc/hosts - 7 addresses
dnsmasq: read /etc/ethers - 5 addresses
und multid :
Code:
/ $ multid -f -v
multid: startup (Sep 27 2006 11:54:28)
multid: csock: using poll
multid: avmssl_init: done
multid: new cpmac driver detected
multid: enabling non-ATA-Mode
multid: normal
multid: br_add_if: get index for usbrndis failed - No such device (19)
multid: br_add_if: get index for eth1 failed - No such device (19)
multid: br_add_if: get index for eth2 failed - No such device (19)
multid: br_add_if: get index for eth3 failed - No such device (19)
multid: mrouter: using IGMPv3 for upstream interface dsl
multid: mrouter: using IGMPv3 for other interfaces
multid: udpserver: 0.0.0.0:53: bind failed - Address already in use (125)
multid: DHCPD on lan:0 skipped, is virtual interface
multid: DDNS: xxx.dyndns.org
multid: DDNS: 1 accounts
multid: interface cpmac0 new.
multid: interface cpmac0 up.
multid: interface lo new.
multid: interface lo up.
multid: mrouter: lo: no multicast interface, ignored.
multid: interface tiwlan0 new.
multid: interface tiwlan0 up.
multid: interface tiwlan1 new.
multid: interface tiwlan2 new.
multid: interface tiwlan3 new.
multid: interface wdsup0 new.
multid: interface wdsup0 up.
multid: interface wdsdw0 new.
multid: interface wdsdw0 up.
multid: interface wdsdw1 new.
multid: interface wdsdw1 up.
multid: interface wdsdw2 new.
multid: interface wdsdw2 up.
multid: interface wdsdw3 new.
multid: interface wdsdw3 up.
multid: interface eth0 new.
multid: interface eth0 up.
multid: interface lan new.
multid: interface lan up.
multid: interface dsl new.
multid: interface dsl up.
multid: interface tun0 new.
multid: interface tun0 up.
multid: 1 Packets
multid: DDNS: xxx.dyndns.org: checking ip address
multid: dns: xxx.dyndns.org: query
multid: ONLINE: now online 84.56.160.61
multid: dns: xxx.dyndns.org: 84.56.160.61 ttl=60 from 192.168.180.1.
multid: DDNS: xxx.dyndns.org: no update needed
multid: dns: ptbtime1.ptb.de: query
multid: dns: ptbtime1.ptb.de: 192.53.103.108 ttl=3993 from 192.168.180.1.
multid: sending SNTP request to server ptbtime1.ptb.de (192.53.103.108)
multid: The transfer time is assumed to be 0.014000 seconds
in der standardkonfig von openvpn-2.1_beta14-dsmod-0.2-lzo wird versucht /dev/misc/net/tun zu erzeugen. geht nicht, jetzt unter /dev/net/tun.
hab ich mit symlink umgangen. die patches von knox hab ich auch eingebaut : http://www.ip-phone-forum.de/attachment.php?attachmentid=10397&d=1159517246
ausserdem hab ich openvpn.lzo über make/openvpn/config.in freigegeben. so klappts auch mit openvpn.
 
Zuletzt bearbeitet:
@Krckstck
Da hab ich jetzt keine Idee woran das liegen könnte. Kannst ja mal probieren die original Module zu verwenden. Werden die überhaupt ersetzt?
Sagt der syslogd/klogd irgendwas dazu?

@gifty
Ich mach mal ein "make toolchain" unter Cygwin und melde mich dann in 2h wieder, wenns fertig ist.

@supamicha
Hast du den dnsmasq mal ohne multid probiert? Ich kenn mich da jetzt nicht so aus, wer da welche Requests wo hin schickt...

MfG Oliver
 
hab ich probiert. wenn multid läuft kommt fehler : dnsmasq: failed to bind listening socket for 172.16.253.1: Address already in us
wenn ich den multid stoppe gibst keine namensauflösung mehr. die reihenfolge hab ich aus rc.dnsmasq.

micha
 
Cygwin-Bericht:
Mit den 2 Stunden hab ich mich wohl etwas verschätzt. Der Kernel-gcc ist jetzt fertig (über 3 Stunden) und gleich ist der erste Fehler aufgetreten.
Lösung:
Dan schrieb:
In other words, download and install
http://www.gnu.org/directory/libs/misc/libelf.html
which will I think provide <gelf.h>;
you can then make an elf.h that just does
#include <gelf.h>
and you should be good to go. (I haven't tried it myself.)
- Dan
elf.h fehlt und ein Package dafür gibt es nicht. Deshalb muss man den Source runterladen und selbst bauen.
(Entpacken, ./configure und make install)
Dann noch in /usr/local/include eine Datei anlegen:
Code:
echo "#include <gelf.h>" > elf.h
Und weiter gehts...

edit: Nächstes Problem:
link.h fehlt
Lösung:
In /toolchain/make/target/uclibc/uclibc.mk wie folgt auskommentieren
Code:
$(TARGET_TOOLCHAIN_STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a
 $(MAKE) -C $(UCLIBC_DIR) \
  PREFIX= \
  DEVEL_PREFIX=$(TARGET_TOOLCHAIN_STAGING_DIR)/ \
  RUNTIME_PREFIX=$(TARGET_TOOLCHAIN_STAGING_DIR)/ \
  install_runtime install_dev
 # Build the host utils.  Need to add an install target...
[COLOR=red]#$(MAKE) -C $(UCLIBC_DIR)/utils \
 # PREFIX=$(TARGET_TOOLCHAIN_STAGING_DIR) \
 # HOSTCC="$(HOSTCC)" \
 # hostutils[/COLOR]
 touch -c $@

Stunden später: Im gcc-4.1.0-final/gcc wird exeext nicht richtig gesetzt, obwohl es im configure.log richtig drinsteht.
Makfile abändern:
Code:
objext = .o
exeext = [COLOR=red].exe[/COLOR]
build_exeext = [COLOR=red].exe[/COLOR]
# Directory in which to put man pages.
Was sagt mir das jetzt? Link

edit3: Oh,oh. Ich glaub das wird nix. Weiter fehlende Header für die busybox (byteswap.h, shadow.h), iptables compilet auch nicht und jetzt klemmts bei lzma_decode.a.

MfG Oliver
 
Zuletzt bearbeitet:
dsmod mit firmware 7170-29.04.22-4883_Labor

olistudent schrieb:
Wenn möglich sollten Kernel und Module mit derselben gcc (Haupt-)version kompiliert werden. Die Laborfirmware 4883 hat einen mit gcc-3.4 kompilierten Kernel und im dsmod ist momentan nur gcc-3.3.2 für den Kernel. - Anbei ein Patch der ds-0.2.9-labor22 (Version vom 3.10 8:34) so ergänzt, dass für den Kernel gcc-3.4.5 (mit glibc-2.3.6) ausgewählt werden können (per make menuconfig).

Zudem muss, wenn gcc-3.4.5 ausgewählt ist, der Patch gcc-3.3.2... .patch
in toolchain/make/kernel/crosstool/patches/ in gcc-3.3.2... .patch.unused umbenannt werden.

Zusammen mit dieser Änderung ist ds-0.2.9-labor22 (z.Zt. in dieser Version) ausgezeichnet geeignet um Kernelmodule und Busybox für die Laborfirmware zu kompilieren :) (Dank an danisahne und olistudent!)

spblinux
Code:
--- .defconfig.orig	2006-07-23 18:28:09.000000000 +0000
+++ .defconfig	2006-10-03 06:07:03.000000000 +0000
@@ -318,6 +318,9 @@
 DS_TARGET_CCACHE=y
 # DS_TARGET_NLS is not set
 # DS_TARGET_LFS is not set
-DS_KERNEL_COMPILER_GCC_3_3_2_GLIBC_2_3_2=y
-DS_KERNEL_GCC_VERSION="3.3.2"
-DS_KERNEL_GLIBC_VERSION="2.3.2"
+#DS_KERNEL_COMPILER_GCC_3_3_2_GLIBC_2_3_2=y
+#DS_KERNEL_GCC_VERSION="3.3.2"
+#DS_KERNEL_GLIBC_VERSION="2.3.2"
+DS_KERNEL_COMPILER_GCC_3_4_5_GLIBC_2_3_6=y
+DS_KERNEL_GCC_VERSION="3.4.5"
+DS_KERNEL_GLIBC_VERSION="2.3.6"
--- toolchain/Config.in.orig	2006-09-17 21:24:20.000000000 +0000
+++ toolchain/Config.in	2006-10-03 06:04:22.000000000 +0000
@@ -91,17 +91,23 @@
 choice
 
 	prompt "Kernel compiler"
-	default DS_KERNEL_COMPILER_GCC_3_3_2_GLIBC_2_3_2
+	default DS_KERNEL_COMPILER_GCC_3_3_2_GLIBC_2_3_2 if DS_KERNEL_COMPILER_GCC_3_3_2_GLIBC_2_3_2
+	default DS_KERNEL_COMPILER_GCC_3_4_5_GLIBC_2_3_6 if DS_KERNEL_COMPILER_GCC_3_4_5_GLIBC_2_3_6
 
 	config DS_KERNEL_COMPILER_GCC_3_3_2_GLIBC_2_3_2
 		bool "gcc-3.3.2-glibc-2.3.2"
 
+	config DS_KERNEL_COMPILER_GCC_3_4_5_GLIBC_2_3_6
+		bool "gcc-3.4.5-glibc-2.3.6"
+
 endchoice
 
 config DS_KERNEL_GCC_VERSION
 	string
 	default "3.3.2" if DS_KERNEL_COMPILER_GCC_3_3_2_GLIBC_2_3_2
+	default "3.4.5" if DS_KERNEL_COMPILER_GCC_3_4_5_GLIBC_2_3_6
 
 config DS_KERNEL_GLIBC_VERSION
 	string
 	default "2.3.2" if DS_KERNEL_COMPILER_GCC_3_3_2_GLIBC_2_3_2
+	default "2.3.6" if DS_KERNEL_COMPILER_GCC_3_4_5_GLIBC_2_3_6
--- toolchain/make/kernel/crosstool/crosstool.mk.orig	2006-04-01 17:25:27.000000000 +0000
+++ toolchain/make/kernel/crosstool/crosstool.mk	2006-10-03 07:14:35.000000000 +0000
@@ -35,6 +35,7 @@
 		sh all.sh --nobuild --notest; \
 	);
 	for i in $(CROSSTOOL_MAKE_DIR)/patches/*.patch; do \
+		[ -f $$i ] || continue; \
 		patch -d $(CROSSTOOL_DIR)/build/mipsel-unknown-linux-gnu/$(CROSSTOOL_COMPILER) -p0 < $$i; \
 	done
 	touch $@
 
Update

Okay. Änderungen sind drin.
Beim menuconfig kommt irgendwas mit recursive dependencies von deinen if-statements.


MfG Oliver
 
ok... verstanden.... cygwin ist recht ungeeignet als crosscompiler, da die hälfte fehlt, bzw. nicht oder anders funktioniert...

also platte kaufen gehen, linux downloaded und installieren..

schade, hatte echt gehofft ein komplettes linux zu umgehen... aber ich muss eh mal wieder bischen üben...

danke

Markus
 
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.