Am Die, 2002-04-23 um 17.34 schrieb Bernhard Walle:
On Tue, 23 Apr 2002 at 01:23 (+0200), Martin Schmitz wrote:
Bernhard Walle
writes: ich würde gerne ein Linux (zur Not ginge auch *BSD, es muss halt Unix sein) auf ein System mit folgender Hardware installiert:
* 486-SX mit 25 MHz * 4 MB Arbeitsspeicher Diese Hardware entspricht ungefähr den Anforderungen von Linux << 1.0, die man damals braucht um damit halbwegs vernünftig arbeiten zu können. Doch auch schon damals würde man mit 4 MB nicht glücklich.
D.h. ohne deutlich mehr RAM (würde mal sagen, absolutes Minumum 8MB, vermutl. jedoch 16MB und sehr viel SWAP) wird nicht viel laufen.
Warum nicht NetBSD? Der Vorteil ist, daß auch die allerneuste Software unter NetBSD noch mit der o.g. Hardware läuft. Bei Linux dürftest Du da Schwierigkeiten bekommen. Wenn's denn Linux sein muß, gibt's noch die Slackware 3.x als Serie von (n-1) Disketten auf deren ftp-Server. Aber wie gesagt: mit NetBSD hättest Du ein _aktuelles_ System. Außerdem stehen da die Chancen nicht schlecht, daß sogar X benutzbar ist (vorausgesetzt Du kannst der Kiste ein wenig mehr RAM verpassen, was aber sowieso auf keinen Fall die schlechteste Idee wäre). Auf meinem Macintosh Performa 460 (68030/33Mhz ohne FPU) läuft WindowMaker jedenfalls recht flott.
Grundsätzlich hätte ich nichts gegen NetBSD. Bei Linux könnte man halt darüber nachdenken, dass ich die Programme (bzw. das eine Programm, das ich entwickeln will) auf meiner Kiste kompiliere und mir so dort den Compiler spare. Ein heutiger gcc auf einem i486SX/25MHz/4MB? Das dürfte kaum machbar sein. Und selbst wenn, dann wäre es geschwindigkeitsmässig kaum erträglich.
Mit mehr RAM, sehr viel SWAP und sehr viel Zeit, dürfte es aber funktionieren, doch ausser für einfachste Dinge nur wenig praktikabel sein.
Statisch gelinkte ELF-Binarys müssten doch noch auch älteren Linuxen rennen, oder? Damit würdest Du den Vorteil der Platzersparnis von dynamisch gelinkten Programmen verspielen. In deinem Fall wäre das sehr wahrscheinlich fatal, da dein Hauptproblem der Speicherplatz ist.
Ein sauberer Weg um auf einem neueren System Binaries für ein älteres zu erzeugen wäre, eine Cross-Toolchain für das Zielsystem aufzusetzen (Machbar, aber alles andere als trivial). Ein anderer Weg wäre, eine alte Toolchain in einer chroot-Umgebung unterzubringen. Ein weiterer (der kurzfristig einfachste) Weg wäre eine Multiboot-Konfiguration auf dem Host einzurichten (Parallelinstallation eines alten Systems, dass nur zum Zweck Binaries für das Zielsystem zu erzeugen gebootet wird). Sehr viel einfacher wäre es dann, das Zielsystem auf den gleichen Stand wie das Host-System zu bringen und die Konfiguration auf dem Zielsystem auf ein Minimum abzuspecken. Mit deutlich mehr RAM sollten dann auch moderne Linuxe noch auf einem i486/25 lauffähig sein. [Doch Vorsicht: IIRC, hatte der i486sx keine FPU, d.h. Du bräuchtest einen Kernel mit FPU-Emulation.]
(Wie linkt man eigentlich ncurses statisch?) man gcc (-static), man ld (-Bstatic) und statische libncurses.a installieren.
Ralf