22.07.2010

MyOS-Kolumne Teil 2: Planung

Heute geht es erstmal an die Theorie. Den Prozess vorher zu planen kann nämlich wertvolle Zeit sparen. Ich denke, ich werde erstmal einen Weg zum funktionierenden System planen und versuchen, mich an den zu halten. Dabei dient mir das bereits erwähnte Linux From Scratch als Vorlage. Fangen wir also an:



Zunächst mal besorgen wir uns Plattenplatz. Ich habe auf meinen beiden Rechnern je 10 GB beim Partitionieren frei gelassen. Ich denke das wird reichen. Wer das nicht getan hat: Es geht auch mit Dateisystem-Images, aber das kann auch in die Hose gehen. Ich weiß ad hoc, dass GRUB dazu in der Lage ist, von Image zu booten, während ich bei LILO unsicher bin.

Ist die Partition angelegt und formatiert, kommt auch schon der nächste Punkt: Das Build-System. Heutige Build-Systeme sind viel zu kompliziert, um sie als einfacher Programmierer durchschauen zu können (besonders bei der glibc hat mir das öfter die Füße weggezogen). Es wäre also gut, wenn wir so schnell wie möglich ein chroot errichten könnten.

Ich werde hierzu die Technik von LFS adaptieren, ein Verzeichnis /tools auf der Zielplatte anzulegen und es ins Wurzelverzeichnis zu linken. Außerdem wird ein neuer Nutzer angelegt, der spezielle Settings bekommt (z.B. /tools/bin ganz vorne im PATH, Hashing der Shell wird abgeschaltet). Dann bauen wir ein Basis-System nach /tools, das, sobald chroot-fähig, auch als solches benutzt wird, um das eigentliche System zu bauen. Grund für dieses Bootstraping ist, dass Build-Systeme für die Software in /tools Zeug gesehen haben könnten, dass es nachher im chroot nicht mehr gibt.

Noch was: Meine Architektur ist amd64. Die dietlibc hat von Haus aus nur eine libm für i386. Ich habe also selbst eine geschrieben, die Ergebnisse sind hier.

Jetzt müssen wir Quelltextpakete herunterladen. Besser, man hat alles gleich auf der Platte, dann geht es nachher ohne Probleme weiter. Was wollen wir denn alles kompilieren?

  • Die dietlibc natürlich.
  • Die libm für AMD64
  • Die GNU binutils.
  • Deren Abhängigkeit: zlib.
  • Die GNU Compiler Collection. Konkreter:
  • Die Abhängigkeiten GMP, MPFR und MPC
  • Wir werden eine Shell benötigen. Ich nehme die zsh.
  • Die Standard-Utilities übernehmen hier embutils, skaembutils und minutils.
  • Wenn wir Zeug von skarnet kompilieren, brauchen wir die skalibs
  • Um alles entpacken zu können, brauchen wir gzip (da nehme ich das minigzip aus der zlib), bzip2, xz und pax. Ja, ich nehme das Quellpaket von Debian, ich habe keine Homepage finden können.
  • Der Kernel wäre auch relativ wichtig. Den brauchen wir auch frühzeitig.


Wenn mir noch was einfällt, verlängere ich die Liste noch. ;-)

Mein Plan bis jetzt:
  • Milestone 1: Ich kompiliere den gcc nach /tools. Dann kompiliere ich damit die dietlibc und versuche anschließend, die binutils und den gcc erneut zu kompilieren, aber dabei gegen die dietlibc zu linken.
  • Milestone 2: Ich kompiliere das ganze restliche Zeugs nach /tools.
  • Milestone 3: Ich wechsle das Wurzelverzeichnis zur Zielplatte und kompiliere alles noch mal, jetzt aber nach /
  • Milestone 4: Jetzt wird noch der Kernel dazu kompiliert.
  • Milestone 5: Ein erfolgreicher Boot.
  • Milestone 6: Ich kompiliere den X-Server.
So, dann sollte das alles sein, was ich hier veröffentlichen werde. Ich setze beim Leser genug Kompetenz voraus, einen Benutzer selbstständig erzeugen und einstellen zu können. Und seine Shell zu bedienen.

11.07.2010

Anleitung / HowTo | KI/Tacho-Beleuchtung im C 180 (W202) VorMopf auf LEDs umbauen.

Diese Anleitung bezieht sich auf den Mercedes-Benz C 180 (W202) VorMopf.
Ich übernehme keine Haftung für Schäden, die durch nachmach-Versuche entstehen. Mein C 180 ist BJ. 1996. Er hat keinen Tempomat, keine Klimaautomatik und keine Klimaanlage. Aber 122PS Fahrspaß. :)
Preview-Bild nach dem Umbau:

Dieser Post ist extrem lang und hat viele Bilder.
Um die ganze Anleitung zu lesen, klick bitte auf "Weitere Informationen".

09.07.2010

MyOS-Kolumne Teil 1

Hi all,

ich habe mich entschieden, selbst eine Linux-Distribution zu erstellen. OK, ich könnte natürlich einfach LFS benutzen. Problem: Die FSF.

Auch als GNU-Projekt bekannt, erstellt die FSF regelmäßig Programme mit vielen Features. So vielen Features, die keiner braucht. IOW: Sie erstellt Bloatware. Verzeihung, aber warum konnte mein 486er innerhalb einer halben Minute booten, mein AMD Phenom X4 aber braucht dafür mehr als eine Minute? Sicher, Linux ist nicht DOS, aber ich habe ja schon ca. 25mal so viel Leistung wie damals allein in einem Kern.

Also baue ich was eigenes. Die Eckdaten:
Leider steht die dietlibc unter der GPL, der X-Server aber unter der MITL, also werde ich am Ende die Erzeugnisse nicht weiterverbreiten dürfen. Bedankt euch bei Fefe.

Aber ich kann hier eine Anleitung schreiben. Und das werde ich auch tun.

08.07.2010

Touch & Travel - Erstes Handy angekommen

Heute ist das neue Touch&Travel-Handy meiner Freundin angekommen.
Dies gab es gratis von der DB, wenn man sich im Pilotprojekt für T&T anmeldet.
Es handelt sich hierbei um ein Samsung GT-S5230N Star (das N steht für NFC).

Ich werde in Zukunft das System in Sachen Sicherheit etwas unter die Lupe nehmen. Die NFC (Near-Field-Communication) scheint ähnlich dem RFID-System zu sein.

Ich weiß, dass RFID von z.B. Intercard für die Unicards eingesetzt wird. Bei diesem System sind mir schon Schwachstellen bekannt. Ich hatte allerdings noch keine Zeit für eine Test-Attacke. Nur eins vorweg: Das ganze Basiert (wie z.B. bei WLAN typisch im Heimgebrauch) auf einem gemeinsamen privaten Schlüssel. Hat man den Key einer Unicard herausgefunden, gilt dieser für jede Unicard. Man könnte dann jede Karte mit Geld aufladen.

Sollte NFC auf ähnlichen unsicheren Systemen basieren, sollte die Bahn jetzt schon auf ein sichereres System umstellen. Oder sie lässt das Politprojekt ganz fallen.

Start des Projekt-Blogs

In diesem Blog werden in Zukunft Posts über Projekte, Ideen, Anregungen und Meinungen einiger Studenten der HS-Merseburg (Studiengang Angewandte Informatik) zu finden sein.