Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
MiniLinux fuer 386er

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Andre
Gast





BeitragVerfasst am: 16. Jan 2002 16:20   Titel: MiniLinux fuer 386er

Hi,
ich habe mit BusyBox ein 1-Disketten-Linux fuer einen 386erSX PC mit 4MB RAM eingerichtet. Busybox wurde statisch auf RedHat 7.1 kompiliert. Dazu habe ich einen Minimalen Kernel-2.2.20 kompiliert. Das Linux belegt ca 1.2MB auf der Diskette, und startet soweit ohne Probleme. Dann habe ich das System von der Diskete auf einen mitgelieferten "DiskOnModule" (DOM) uebertragen. Das Linux startet soweit vom DOM.
Ich muss jetzt allerdings noch ein paar Anwendungen auf diesem LinuxSystem zum laufen bekommen. Unter anderm "stupid-ftpd". Ich habe es mit "-march=i386 -mcpu=i386 -static" statisch und fuern 386er PC kompiliert, und dann mit "strip --strip-nodebug stupid-ftpd" die DebugInfos entfernt. TestWeise habe ich das Programm auf dem RedHat-PC ausgefuehrt, und es funktiniert dort ohne Probleme. Das Programm besteht lediglich aus der "/usr/bin/stupid-ftpd" und der "/etc/stupid-ftpd/stupid-ftpd.conf".
Ich habe diese 2 Dateien auf den 386er uebertragen. Dort startet das programm auch ohne Fehlermeldungen. Wenn ich mich dann von aussen per "ftp" (vom RedHAT-PC) auf den 386er einlogge, wird der eingetragene Benutzer zugelassen. Wenn ich dann "ls" oder "dir" eingebe, erscheint am Redhat-PC die Meldung "200 PORT command successful.", und der RedHat-PC haengt.
Wenn ich mich erneut per ftp einlogge, und zuerst in den passiv-mode schalte, und dann "ls" bzw "dir" eingebe, seh ich die VerzeichnisStruktur.

Ich habe die stupid-ftpd-Sourcen manuell durchdebuggd (per "printf" ).
Stupid-ftpd haengt bei der Zeile " addr=(unsigned long)inet_addr(cmd);". Dabei sind die Variablen folgendermassen definiert: "unsigned long addr;" und "char cmd[2048];". Diese Funktion kommt nicht von stupid-ftp, deshalb geh ich mal davon aus, das es eine Kernel-Funktion ist.

Normal koennte ich die Funktion "inet_addr" einfach durch eine eigene ersetzen. Das ist aber nicht mein Ziel, ich moechte wissen wo bzw was in meinem Linux-System fehlt. Das Programm laeuft ja auf dem RedHat-PC, und ist statisch kompiliert, sollte also keine weiteren Bibliotheken benoetigen.

Danke,
Andre
 

bakunin



Anmeldungsdatum: 16.08.1999
Beiträge: 597
Wohnort: Lorsch (Südhessen)

BeitragVerfasst am: 17. Jan 2002 6:20   Titel: Re: MiniLinux fuer 386er

Hi!

Wie sowohl in der Manpage von inet_addr als auch in der glibc-Texinfo-Dokumentation steht, handelt es sich um eine Bibliotheksfunktion (keine Kernel-Funktion!), die eine Adresse in eine (binär dargestellte) IP umwandelt, das Problem liegt also möglicherweise irgendwo in der Namensauflösung, würde ich vermuten. Klappt es, wenn du den Red Hat Rechner in die /etc/hosts einträgst?

Cheers,
GNU/Wolfgang
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Andre
Gast





BeitragVerfasst am: 17. Jan 2002 10:02   Titel: Re: MiniLinux fuer 386er

Hi,
auf dem 386er habe ich in der "/etc/hosts" folgende zeilen:

"
127.0.0.1 localhost
192.168.1.50 dimpc
192.168.1.43 thales
"

dimpc = 386er-pc
thales = redhat-pc

leider haengt das Programm immer noch an der Zeile.
Komischerweise gibt "ping thales" "ping: localhost: Resolver Error 0 (no error)" zurueck. "ping 192.168.1.43" klappt dagegen...

Andre
 

Andre
Gast





BeitragVerfasst am: 17. Jan 2002 13:32   Titel: Re: MiniLinux fuer 386er

hmm,

wie kann es sein, das stupid-ftpd an dieser glibc-funktion (inet_addr) haengt, wenn es statisch kompiliert ist?

Andre
 

bakunin



Anmeldungsdatum: 16.08.1999
Beiträge: 597
Wohnort: Lorsch (Südhessen)

BeitragVerfasst am: 17. Jan 2002 14:00   Titel: Re: MiniLinux fuer 386er

Hi!

Statisch gelinkt heißt, dass die Bibliothek komplett ins Binary integriert wurde, daher kann er selbstverständlich auch an einer Funktion hängen, die zur glibc gehört (nur hier eben in dein Programm eingepflanzt wurde).

Was das eigentliche Problem angeht, so bin ich im Moment etwas ratlos, d.h. müsste erst einiges nachlesen, um eine brauchbare Idee anbieten zu können. Ich wäre froh, wenn hier jemand einschreiten könnte, der mehr Ahnung von der Materie hat.

Cheers,
GNU/Wolfgang
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy