Archive for the ‘Technotrends’ Category

*knacks*

Tuesday, July 20th, 2010

Aufgrund neuer Moeglichkeiten und dem Willen folgend, mal nicht den Abend im Wohnzimmer vor der Glotze (ver)enden zu lassen, war ich eben mal im Wald und habe mich an ein paar Bildern versucht (Eingeweihte finden die Bilder unter diesem Link). Dabei ist mir wiedereinmal aufgefallen, dass man seine alten Freunde nicht vergessen sollte. Ich griff mehr als einmal zu meinem – auf Umwegen zu mir gekommenen – Canon 50mm f1.8 Objektiv, es ist noch eins von denen mit Metallbajonett. Die Ergebnisse haben mich, jetzt, wo der AF etwas besser sitzt, ueberrascht. Ein besonders beeindruckendes Detail finde ich ist in diesem Bild, welches ich nicht in voller Aufloesung zur Verfuegung stelle:

Blatt in der Sonne Ausschnitt: 1:1

Die Zeichnungen im Blatt sind bei einer Belichtungszeit von 1/160s und ISO 500 bei Offenblende (f 1.8) sehr deutlich und scharf zu erkennen. Die Objektdistanz weiss ich nicht mehr so genau, aber mehr als 1m war es mit Sicherheit… ich war beeindruckt und werde dem Objektiv einen Sonderplatz in meiner Foto-Tasche einraeumen. Ich hoffe, dieses Jahr hat noch ein paar schoene Tage zum Fotos machen.

Die alten Leiden…

Saturday, May 29th, 2010

Vielleicht bedarf es eines Haufens Erklaerungen, warum manchmal Dinge faszinieren, die veraltet und unbeeindruckt von technischer Komplexitaet daherkommen und angesichts der technischen Entwicklung der letzten Jahre Schmerzen verursachen, die man sich nicht antun muesste.

Manchmal passieren Dinge, die einem laengst vergessene schlechte Ideen wieder in den Kopf bringen. So geschehen am vergangenen Freitag, wo ein Bekannter ein Notebook auf meinen Schreibtisch stellte. Eigentlich hatte ich nach altem Notebook-SDRAM gefragt, fuer ein anderes Bastelprojekt, stattdessen stellt er ein altes Toshiba Satellite 220CS auf meinen Tisch. Alt, grau und stabil. Das Gewicht laesst meinen Schreibtisch ein beschwertes Aechzen von sich geben und ich fuerchte kurz, er koennte brechen. Es ist definitiv ein Geraet aus einer Zeit, in der SDRAM noch eine Technik war, auf die man mit Andacht und Ehrfurcht blickte. “Mach damit, was du willst, bei mir steht das nur im Keller.” – eindeutige Worte.

Notebooks diesen Alters haben oft – wie hier – eine himmlische Tastatur…

Was macht man mit so einer Seegurke? Kaum 133 Mhz, PCMCIA ist vorhanden, aber offenbar defekt, das 800×600 Pixel einfassende DSTN Display hat weniger kontrast der Himmel an verregneten Wintertagen… erzaeugt aber dafuer zumindest ein aehnlich deutliches Bild.  “Ich weiss nur, dass der Akku kaputt ist”, fuegt er noch an und das ist genau das, was ich hoeren wollte. Mir faellt mein Urmelaltes Escom Notebook ein – ein Intel 80486 mit 66 Mhz, also ein Geraet aus der gleichen Aera. Vor einiger Zeit sollte auf diesem Stueck Geschichte mit 20MB RAM ein kleines Debian zum Einsatz kommen um meinen MPD auf der anderen Seite des Wohnzimmers fernzusteuern. Das Unternehmen scheiterte daran, dass die Display-Schaniere ausgebrochen waren – offensichtlich loest sich auch der beste Kunststoff irgendwann auf.  Weiterhin war das Display kaum zu lesen und mit dem Standard Debian Kernel war das System nicht zu booten, da der Speicherbedarf des initramfs und dessen Extraktion schon die vorhandenen Ressourcen ueberstieg. Nun sind 32MB auch nicht sehr viel mehr, doch die aufkommende SIGINT Konferenz in Koeln und die damit verbundenen Stunden am Tisch mit Notebook liessen den Unterschied zwischen 32MB und 20MB gross genug erscheinen, um mit diesem Geraet einen neuen Versuch zu wagen. Ohnehin ist die Tastatur dieses alten Toshiba Notebooks ein Traum, den man nicht austraeumen moechte.

Leider erledigte sich der Traum vom Debian auf dem Toshiba ebenfalls recht schnell, da auch hier die initrd nicht entpackt und das System daher nicht gestartet werden konnte. Ich beschloss daher, mich erneut an einer buildroot-umgebung zu versuchen. Nach einiger Probiererei – die die Aufmerksamkeit des D-Radios auf sich zog, das auf der SIGINT Interviews durchfuehrte [1] (Tonbeitrag unten) – hatte ich erfolg mit einer git-Version und machte mich daran den Kernel zu bauen. Als alles im Endeffekt zumindest in einer VM bootete und ich unmengen an Treibern mit einkompiliert hatte, um die bisher vollkommen unbekannte Hardwarelandschaft des Geraetes zu ergruenden, machte ich mich an einen Boot-Versuch auf der Originalhardware. Ich stellte fest, dass der alte ISA-IDE-Controller mit dem pata_isapnp modul nicht funktionieren wollte.  Zwar wurde die Festplatte erkannt, jedoch konnte man von ihr nicht lesen. Erfolg hatte ich mit pata_legacy.

Ich machte mich also daran, die Vernetzung des Systems zu planen. Angedacht war, dem Notebook via PCMCIA eine Wlan-Karte zu spendieren – zugegeben eine recht langweilige Angelegenheit.  Waehrend meiner Versuche stellte ich allerdings fest, dass die Buildroot-Umgebung ohne PCMCIA-Utils daherkommt. Ohnehin schien aber der PCMCIA-Teil des Notebooks ein paar Fehler zu haben, da weder PCMCIA-Karten noch Cardbus-Karten zu irgendeinem Resultat fuehrten.  PCMCIA und Cardbus stellten sich also als Sackgasse heraus und in Ermangelung eines erkennbaren IRQ war auch der eingebaute USB-Controller, den ich als Fallback im Hinterkopf hatte, nicht nutzbar. Etwas ernuechtert war ich kurz davor aufzugeben, als ich im Tool zur Kernelkonfiguration einen laengst vergessenen Schalter fand: “SLIP”. Meine Erfahrungen mit SLIP stammen nicht aus der Zeit, in der man SLIP benutzt haette, weil nichts anderes zur Verfuegung stand, sondern aus einer Zeit, in der ich zu viel Zeit hatte – das liegt noch nicht ganz 2 Jahre zurueck und hatte mit einem PDA zutun, der ein bisschen Internet brauchte.  Der naechste Rechner mit seriellem Port steht leider auf der anderen Seite des Wohnzimmers, ist aber wie der Zufall es so will ist genau dieses System das, was ich fernbedienen will. Dennoch sind etwa 6-8m Kabel von der einen Stelle des Wohnzimmers bis zur anderen noetig und ich zweifle ein wenig daran, dass ueber diese Leitungslaenge mit Klingeldraht, welchen ich noch in rauhen Mengen vorraetig habe, eine stabile Verbindung zustande kommt. Ich hoffe also insgeheim weiter dass aus irgendeinem Grund der USB-Controller doch noch laeuft – doch werde enttaeuscht. Immer die gleiche Meldung bringt mich beim Laden des Kernelmoduls davon ab, weiter zu hoffen. Ich vermute, dass generell der PCI-Teil des Geraetes eine Macke hat und freue mich, dass wenigstens die Grafikkarte noch funktioniert und mache mich an die Optimierung der groesse von Kernel und buildroot.

Was einen 2.6.34-Kernel auf so alter Hardware angeht, habe ich jegliche Bedenken abgelegt. Zwar ist der Kernel um ein vielfaches neuer als die Hardware, dennoch sind keine essentiellen Funktionen und Treiber aus dem Kernel verschwunden. ISA haelt sich auch in modernen Rechnern zur Systemueberwachung noch hartnaeckig – auch wenn Microsoft inzwischen auf eine Unterstuetzung des “echten” ISA-busses verzichtet – und das zuvor genannte legacy-Modul fuer IDE im ATA-Teil des Kernels ist sogar relativ frisch. Ich deaktiviere also fleissig alle Punkte die ich nicht brauche, komme aber trotz allem noch auf knapp 300 Zeilen Kernel-Konfiguration. Ich deaktiviere zusaetzlich noch die Unterstuetzung fuer Kernelmodule und komme abschliessend auf ein 860kiB grosses Kernel Image. Mit dem Buildroot habe ich zunaechst noch grosses vor. Ich baue SDL und DirectFB ein, weiss selbst nicht genau warum und nehme es im Endeffekt wieder heraus. Schliesslich ist die fernbediente Applikation auch nur eine Konsolenanwendung auf die via SSH zugegriffen wird.  Auch eine Reduktion der Busybox-Funktionen bringt eine erhebliche Einsparung. Da ich mich auch gegen die Verwendung der Soundkarte entscheide, fliegen ALSA und Co aus der Umgebung. Nur ein Bildbetrachter fuer die Verwendung mit dem Framebuffer bleibt erhalten – schliesslich ist, wenn man betrachtet, dass auch heute noch viele billige digitale Bilderrahmen DSTN-Displays benutzen  eine Verwendung als digitaler Bilderrahmen durchaus denkbar. Die vormals zu testzweicken eingebauten Wireless Utils und USB-Tools fliegen ebenso aus dem Image wie das vormals zur Vorsicht eingebaute IPTables, das aber mittlerweile auch meine Kernel-Config nicht mehr beinhaltet. Am Ende habe ich mit Kernel und Umgebung eine Groesse von 24 MB erreicht und bin relativ unzufrieden. Das muss noch kleiner gehen, denke ich bei mir und mache mich auf die Suche nach den Platzhirschen in /usr/lib.  Nachdem ich feststelle, dass auch die entfernten libraries wieder in die Umgebung landen beisse ich in den sauren Apfel und bereinige die Build-Umgebung um nocheinmal alles von neuem bauen zu lassen. Indes denke ich darueber nach, wie ich wohl das neue Image auf die Maschine bekomme, ohne meine bereits angepasste Konfiguration und die Scripte zu verlieren.

[ash] joel@nireko:~$> sudo du -hsx /
6.9M    /

[ash] joel@nireko:~$> mount
rootfs on / type rootfs (rw)
/dev/root on / type ext3 (rw,…)
proc on /proc type proc (rw,…)
devpts on /dev/pts type devpts (rw,…)
tmpfs on /tmp type ramfs (rw,…)
sysfs on /sys type sysfs (rw,…)

Das neubauen der Umgebung bringt einige Zeit spaeter das Root-Filesystem mit kernel auf etwas ueber 8MB – schon eher eine Hausnummer, die ich anpeile. Die Groesse beinhaltet das Linux-System mit Dokumentationen und den Kernel. Ein SSH-Client ist in form von dropbear vorhanden, das zur Verwendung von SLIP notwendige slattach ist in der busybox enthalten – und unterstuetzt den fuer mich unerlaesslichen 3-wire-Modus, bei dem auf die Verwendung der Flow-Control Pins verzichtet wird.

Traffic-Indikator leicht gemacht.

Um das Geraet in seinen endgueltigen Zustand zu bringen, fehlen mir allerdings noch 2 Hardware- Modifikationen. Das serielle Kabel fuer die Internet-Verbindung sowie einen CF-Karten-Adapter, um CF-Karten im mini-IDE HDD-Bay des Geraetes unterzubringen. Dies spart Energie und die Nerven der Leute, die relativ haeufig auf meiner Couch schlafen und sich sonst naechtliche Spin-Up-Down-Ortien anhoeren duerften (was mich an einige Naechte auf einem Fussboden in Buederich erinnert, wo ein sehr aehnliches Notebook mir um ein Haar den letzten Nerv geraubt haette… das war eine der Naechte in denen ich sowas getraeumt habe, wie ich hier bereits schrieb: siehe hier) . Das Material – 2 DB9(male) Stecker, 7m 4adrige Rangierleitung, 1 LED (niederstrom) – fuer das Kabel habe ich immer im Haus… anders sieht es mit dem IDE Bay aus, den ich bei eBay ersteigere.  Ein Haendler bietet fuer etwa 6 Euro eien Adapter an, der 2 CF-Karten fassen kann und diese als Master/Slave an den IDE-Bus anbindet. Die Idee gefaellt und somit kaufe ich das Teil.

Was das Kabel anbelangt, so ist alles schnell erledigt. An beiden Seiten loete ich die 3 der 4 Adern an RX(2), TX(3) und GND(5) – so, dass jeweils RX von der einen Seite auf dem TX der anderen Seite liegt (jeweils Pin 2 auf Pin 3 der anderen Seite). Die freie Ader moechte ich nicht offen herumliegen lassen und loete sie an die Steckermasse. Was die LED anbelangt, so bringe ich diese an Notebook Seite an der RX-Leitung und der Masse an. So leuchtet sie bei eingehendem Datenverkehr und geht hoffentlich nicht so schnell kaputt ;) (was sie wird, wenn man sich den Pegel von RS232 anschaut).

Nachdem das Kabel gebaut, die CF-Karte mit Image und Bootloader bespielt und ein SLIP-Server aufgesetzt ist, ist es endlich fertig… Willkommen auf der umstaendlichsten Fernbedienung der Welt:

In dieser Situation macht es Sinn, die Applikation auf einem anderen System auszufuehren, da der RAM sehr begrenzt ist

Hier noch ein paar Erkenntnisse, die ich nebenher erkannt habe:

  • Linux IST ein sehr schlankes Betriebssystem, wenn man will
  • Alte Hardware ist stabil, haesslich und man muss sie einfach lieben
  • Stundenlanges Suchen nach dem BIOS-Setup Entry Key: Das Satellite kommt mit ESC gefolgt von F1 ins BIOS Setup
  • 90% der Kernel Features baut man nur ein, weil man da “vielleicht irgendwann mal mit basteln will”[tm]
  • Der “kaputte” Akku haelt noch 2 Stunden
  • manchmal sollte der RAM DEUTLICH groesser sein, als das OS in Summe an Festplattenspeicher belegt…

Danke an Kappa fuer das Notebook

Tonbeitrag aus dem D-Radio: Hacker auf der SIGINT 2010
Config-Files zum selbst bauen: buildroot busybox kernel 2.6.34

Königliche Grafen

Monday, April 27th, 2009

Wie die meisten von euch wissen, bin ich ein stinkfaules Wesen. Ich bin so faul, dass ich – waere ich nicht so schuechtern und brav (lacht nur) – vermutlich tageweise ohne Kleidung herumlaufen wuerde, weil ich zu faul waere mich anzuziehen.

Dieser Umstand fuehrt mich viel zu oft an die Theke einer der vielen BurgerKing-Filialen, die zwischen meiner Arbeitsstelle, der Schule und der Haustuer liegen. Das macht auf dauer nicht nur unzufrieden, es kann auch zu Fettleibigkeit fuehren, wenn man es uebertreibt – wo ich gerade bei bin. Ich darf mir zwar des oefteren anhoeren, ich koennte ein paar Kilos hier und da (und dort) ganz gut gebrauchen, aber man muss ja nicht uebertreiben, bis es dann zu spaet ist.

Da mir vollkommen klar ist, auf was ich da zusteuere, habe ich mir einen Mehrteiligen Plan ausgedacht. Ein kleiner und relativ uninteressanter Teil ist, dass ich bald in der Situation bin, oefter mal was zu kochen – der viel interessantere Teil ist, dass ich mir ein Munin-Plugin in python gehackt habe, was generische Zaehlerentwicklungen festhalten kann. Munin ist ein Netzwerk-Framework zur Erfassung und langfristigen Visualisierung von Zahlenwerten in Rechnernetzen – zum Beispiel fuer schoene Graphen zur Temperaturentwicklung auf dem Dachboden oder zur Visualisierung der Entwicklung der Festplattenbelegung.

Eigentlich war dieses Plugin fuer was anderes gedacht, aber dann kam mir die Idee, ich koennte ja auch mein BurgerKing-Konsumverhalten grafisch darstellen lassen. Das koennte mich davon abhalten, da weiter zu konsumieren, da mein Konsumverhalten so fuer eine breite Menschenmenge sichtbar wuerde, die mich dafuer jedes mal kraeftig ausschimpfen sollte, wenn ich wieder mal da war.

Konsumierte Produkte - Verlauf der letzten WOche

Konsumierte Produkte - Verlauf der letzten Woche

Bisher ist das leider kraeftig nach hinten los gegangen – wie man deutlich sehen kann. Gezeigt ist die Summe der konsumierten Produkte seit dem 22.4.2009.

Ich erwarte eure Schimpfe minuetlich.

Es gruesst ein uebersaettigter Sternensucher.