Non-AVM-FW modifizieren - Need Help

Mike125

Neuer User
Mitglied seit
6 Aug 2006
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich bin zwar sicher nicht in der richtigen Rubrik, lese aber schon eine ganze Weile mit und weiss daher, dass es hier einige wirklich gute FW-edit-Profis gibt (wenn mein Sinus154 mal nicht mehr will, wirds garantiert eine Fritzbox).

Da ich durch reines Mitlesen aber nicht weiter komme, habe ich mir gedacht, ich melde mich an und frage um Unterstützung.

Mir geht es um das Modifizieren der Firmware eine NAS-Laufwerks, dem Netcenter von Western-Digital. Das ist relativ neu auf dem Markt und es gibt (noch) keine open-FW und nur wenige Internas darüber, die momentan nach meiner Kenntniss wohl ausführlichsten auf meiner Webseite (www.wd-netcenter.de).

Was ich machen will:
1. Modifikation der Busybox um den Zugang per Telnet ermöglichen (dieser wurde von WD nicht integriert, ist also auch nicht irgendwie aktivierbar) und den deaktivierten Benutzers root aktivieren
2. Einrichten eines Verzeichnisses, wo sich eine vom Benutzer editierbare Startdatei zur Veränderung von Startparametern (z.B. last-state-power-on) und die Möglichkeit zur Installation (ev. per ipkg) weiterer Modifikationen bietet
3. Modifizierung/Neuübersetzung des integrierten NFS-Servers , um r/wsize größer 8192 zu ermöglichen
4. Vereinfachung der webbasierten Konfiguration (die momentan zum Teil zur Klickorgie ausartet)
5. letzendlich alles in einer open-FW unterbringen, damit jeder dies per FW-Update nutzen kann

(Meine) Vorrausetzungen:
- Suse Linux 9.3 (läuft unter xp/vmware, kann ich aber auch mal separat installieren, falls notwendig) und ganz gute Linux-Anwenderkenntnisse
- Zugang per Adapterkabel zur seriellen Konsole des Netcenters und damit z.B. Start von vsftpd möglich (verlangt beim Zugang darüber aber unbekannten Benutzer/Passwort)
- GPL Source Code and Tools von der WD-Webseite (http://support.wdc.com/download/index.asp?cxml=n&pid=16&swid=41)
- Webseite mit ausführlichen Informationen zum Netcenter, wie Bootlog, Innenansichten, Festplattenwechsel, technische Details etc.

Mein Hauptproblem ist, dass ich nach intensiver Suche im I-net und Studium diverser Infoseiten (wie z.B. www.linux-magazin.de/Artikel/ausgabe/2000/04/Sourcecode/sourcecode.html) nicht (mehr) weiss, wohin das alles eigentlich entpackt werden muss.

Die GPL Source Code and Tools bestehen aus 2 Archiven:
NetCenter_src_060321.tar.gz (Source Code) gz 68.1MB
NetCenter_tools_060317.tar.gz (Tools) gz 131MB

Nach dem Entpacken des src...-Archivs gibt es folgende Verzeichnisse:
/apps /bcmdrivers /et /firmware /frodo /gmp /include /linux /mawk /opt /shared /wl

Nach dem Entpacken des tools...-Archivs gibt es folgende Archive:
gnu-20010422.tar.gz
hndtools-mipsel-uclibc.tar.gz
hndtools-3.0.tar.gz

und eine tools-readme.txt:
mkdir /opt # if it doesn't exist
cd /opt
tar xzf /tmp/hndtools-3.0.tar.gz
ln -s /opt/brcm/hndtools-mipsel-linux-3.0 /opt/brcm/hndtools-mipsel-linux
cd /opt/brcm
tar xzf /tmp/hndtools-mipsel-uclibc.tar.gz
ln -s /opt/brcm/hndtools-mipsel-uclibc-0.9.19 /opt/brcm/hndtools-mipsel-uclibc
export
PATH=${PATH}:/opt/brcm/hndtools-mipsel-linux/bin:/opt/brcm/hndtools-mipsel-uclibc/bin

Das entpackte gnu...-Archiv beinhaltet:
/bfd /binutils /boehm-gc /config /contrib /etc /fastjar /gas /gcc /gprof /include /INSTALL /intl /ld /libchill /libf2c /libffi /libiberty /libobjc /libstdc++-v3 /mipsel /mipsel-nl /opcodes /texinfo /zlib

das entpackte hnd...-Archiv beinhaltet:
/brcm/hndtools-mipsel-linux-3.0 und darin die Unterverzeichnisse:
/bin /include /info /lib /man /mipsel-linux /share

das entpackte hnd...-Archiv beinhaltet:
/hndtools-mipsel-uclibc-0.9.19 und darin die Unterverzeichnisse:
/bin /include /lib /usr

... und überall jede Menge weitere Unterverzeichnisse.

Die Busybox oder andere Komponenten mit make menuconfig zu modifizieren, ist für mich kein Problem. Aber wo das alles erst mal richtig hin entpackt und welche Vorbereitungen (./configure etc.) noch getroffen werden müssen, da weiss ich momentan einfach nicht (mehr) weiter.

Wenn mir da mal jemand weiterhelfen könnte, das wäre einfach großartig!

Gruß

Mike
 
SORRY,:

ich habe das Thema dieses Forums:

"Das Forum für echte Linux-Tüftler und solche, die es werden wollen"

wohl leider missverstanden ...

... anderst lassen sich die zahlreichen Hilfestellungen zu meinem Problem jedenfalls nicht deuten.:(

Mike
 
Hi,

...und ein verspätetes Willkommen im IP-Phone-Forum.
Sorry, so ganz kann ich nicht nachvollziehen, dass du diese Frage hier postest. Im gesamten IP-Phone-Forum geht es um Telefonie über das Internet, in diesem speziellen Subforum um Modifikationen der FritzBox Fon.
Sicherlich ist es nicht schlimm, hier auch mal Fragen zu stellen, die ganz andere Geräte betreffen. Aber es wäre schon ein ziemlicher Zufall, wenn du hier auf jemanden stoßen würdest, der genau dieses Gerät kennt und dir bei deinem Problem weiterhelfen kann.
Es gibt doch mit Sicherheit Foren, in die dein Thema besser passt?

Viel Erfolg

Marsupilami
 
Hi.
Vielleicht solltest du erst mal klein Anfangen. Und nicht gleich eine komplett andere Firmware auf dein NAS flashen.

Todo:
1. Partitionsliste erstellen
Code:
Flash device: 0x800000 at 0x1c000000
Physically mapped flash: cramfs filesystem found at block 1380
Creating 5 MTD partitions on "Physically mapped flash":
0x00000000-0x00040000 : "cfe"
0x00040000-0x007e0000 : "linux"
0x00159348-0x007e0000 : "rootfs"
0x007e0000-0x007f0000 : "nvramcopy"
0x007f0000-0x00800000 : "nvram"
Code:
mtd0 -> Bootloader
mtd1 -> Kernel 
mtd2 -> cramfs
mtd3/mtd4 -> nvram
Was ist wo? Wie groß sind die einzelnen Partitionen? Was ist noch frei?

2. Wenn das geklärt ist brauchst du einen Cross-Compiler für mipsel-uclibc. (mipsel-uclibc-linux-gcc)

3. Jetzt musst du den Kernel und die busybox mit diesem Crosscompiler für dein Gerät kompilieren.

4. Dann musst du dich damit befassen wie die Firmware geflasht wird. Dazu musst du das Format der Firmware ermitteln. In dem Opensrc-Package sollte irgendwo ein Programm zu finden sein, dass dir solch ein Firmwarefile erstellen kann.

5. Um die vorhandene Firmware zu modifizieren musst du diesen Prozess irgendwie umkehren. Bei der FritzBox sind die Firmware-Dateien nur tar-Archive. Bei deinem NAS ist das nicht so. Da hört dann mein Wissen auf.

MfG Oliver

edit: Nach dieser Anleitung:
1. Firmware download: Link
2. Firmware entpacken:
Code:
Linux kernel: 
 dd if=R1_1_0.0003.wdf of=kernel bs=1 skip=112 count=1151981
Root fs (cramfs): 
 dd if=R1_1_0.0003.wdf of=cramfs bs=1 skip=1151981
3. Cramfs-Tools runterladen und bauen: Link
make -f GNUmakefile
4. Cramfs entpacken:
./cramfsck -v -v cramfs
 
Zuletzt bearbeitet:
Naja wenigstens ein verspätetes Willkommen, Danke :D

Inzwischen hatte ich meine ersten kleinen Brötchen selbst backen können, den Durchbruch dabei brachte dann auch die Anleitung von open-mss, die sich nach einigen logischen Überlegungen ganz gut auf das Netcenter anwenden lies.

Die ersten Erfolge können ja schon auf meinem seit der ersten open-FW auch unter www.open-netcenter.de erreichbaren Web bewundert werden ;)

Wobei ich zur Zeit an einer Sache knabbere, bei der es super wäre, wenn da mal jemand einen Tipp für mich hätte:

Auf dem Netcenter gibt es keinen inetd. Das wäre aber notwendig, um den vsftpd mit einer anderen vsftpd.conf starten zu können.
Denn über diese andere vsftpd.conf sollte der Zugriff auf das Dateisystem geregelt / bzw. auf bestimmte Ordner beschränkt werden können: also wenn sich z.B. jemand mit dem Benutzernamen Musik und dem Passwort Rock einloggt, soll er auch nur auf den auf der Festplatte als persönlich mit dem Passwort Rock angelegten Ordner mit dem Namen Musik Zugriff haben.

Momentan erfolgt der Zugriff leider auf das gesamte Dateisystem des Netcenters (also auch das FW-Dateisystem).

Details zur Firmware des Netcenters dürfte es dazu genug auf meiner Webseite geben, falls noch Infos gebraucht werden, bitte dort im Forum anfragen, da ich da täglich reinschaue.

Gruß
Mike

P.S. Seit einigen Tagen bin ich nun auch Fritz.Box-ler, da werde ich nun wohl öfter hier vorbeischauen :)
 
Auf der Fritzbox machen wir das mit dem bftpd so, dass der User nur in sein Homeverzeichnis und darunter zugreifen kann.
Mit der inetd-Sache hab ich keine Ahnung. Warum braucht man die? Soll der vsftpd vom inetd mit verschiedenen Configs gestartet werden, oder was?
chroot_list_enable If activated, you may provide a list of local users who are placed in a chroot() jail in their home directory upon login. The meaning is slightly different if chroot_local_user is set to YES. In this case, the list becomes a list of users which are NOT to be placed in a chroot() jail. By default, the file containing this list is /etc/vsftpd.chroot_list, but you may override this with the chroot_list_file setting. Default: NO
chroot_local_user If set to YES, local users will be (by default) placed in a chroot() jail in their home directory after login. Warning: This option has security implications, especially if the users have upload permission, or shell access. Only enable if you know what you are doing. Note that these security implications are not vsftpd specific. They apply to all FTP daemons which offer to put local users in chroot() jails. Default: NO
passwd_chroot_enable If enabled, along with chroot_local_user , then a chroot() jail location may be specified on a per-user basis. Each user's jail is derived from their home directory string in /etc/passwd. The occurrence of /./ in the home directory string denotes that the jail is at that particular location in the path. Default: NO
Damit sollte sich doch was machen lassen.

MfG Oliver
 
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.