header image
 

Auf Debian Embedded Gentoo bauen

Natürlich ist diese Anleitung auch auf Debian-Derivate, wie (K/X)Ubuntu zu übertragen. Wenn direkt unter Gentoo gebaut werden soll kann man den Schritt mit dem Portage-Snapshot einfach überspringen, da dieses logischerweise schon vorhanden ist.

Als aller erstes erstelle ich ein Verzeichnis, in dem ich arbeite.

  • sudo mkdir /opt

Jetzt lade ich mir das aktuelle Embedded Gentoo herunter und entpacke die Entwicklungsumgebung.

  • wget http://mirror.switch.ch/ftp/mirror/gentoo/experimental/x86/embedded/stages/stage1-x86-uclibc-2006.1.tar.bz2
  • mkdir mkdir -p /opt/i586-gentoo-uclibc-linux/usr/portage
  • tar -xvjpf stage1-x86-uclibc-2006.1.tar.bz2 -C /opt/i586-gentoo-uclibc-linux/

Anschließen lade ich mir den aktuellen Portage-Snapshot herunter und entpacken diesen nach /usr/

  • wget ftp://ftp.tu-clausthal.de/pub/linux/gentoo/snapshots/portage-latest.tar.bz2
  • tar -xvjpf portage-latest.tar.bz2 -C /usr/

Jetzt mounte ich /proc/ sowie mein ebend entpacktes Portage in unser Gentoo (vor das bind muss jeweils noch ein -)

  • mount –bind /proc /opt/i586-gentoo-uclibc-linux/proc/
  • mount –bind /usr/portage /opt/i586-gentoo-uclibc-linux/usr/portage

Nun kopiere ich die resolv.conf in die Entwicklungsumgebung, damit ich im chroot auch zugriff aufs Internet habe.

  • cp /etc/resolv.conf /opt/i586-gentoo-uclibc-linux/etc/resolv.conf

Soweit sind alle vorbereitungen getroffen und ich wechsel in die Entwicklungsumgebung.

  • chroot /opt/i586-gentoo-uclibc-linux /bin/bash −−login

Nun aktualisiere ich die Umgebung und lade die Variablen.

  • env-update
  • source /etc/profile

Anschließend muss die make.conf meinen Bedürfnissen angepasst werden, da ich ein speziell angepasstes System für mein Alix.1C Board bauen möchte.

  • nano -w /etc/make.conf

USE=”bitmap-fonts minimal truetype-fonts mmx”
CHOST=”i686-gentoo-linux-uclibc”
CFLAGS=”-march=i686 -Os -pipe -fomit-frame-pointer -mmmx”
CXXFLAGS=”${CFLAGS}”
FEATURES=”buildpkg”

VIDEO_CARDS=”chips”
UCLIBC_CPU=”586MMX”

Um den 2.6er Kernel zu benutzen und nicht wie in den Standarteinstellung vorgesehenen 2.4er muss ich den profil Link neu setzen.

  • cd /etc/
  • unlink make.profile
  • ln -s ../usr/portage/profiles/uclibc/x86 make.profile

Und jetzt gehts ans bootstrappen.

  • cd /usr/portage/scripts
  • ./bootstrap.sh

Workaround: Da das kompilieren mit clibc-0.9.28.3 bei gawk abbricht habe ich an dieser Stelle eine neuere Version von uclibc emerged.

  • echo “=sys-libs/uclibc-0.9.28.3-r2 ~x86 >> /etc/portage/package.keywords
  • emerge -1 =sys-libs/uclibc-0.9.28.3-r2

Workaround: pycrypto brach bei mir mit der Fehlermeldung “gcc-config error: Could not run/locate “i386-gentoo-linux-uclibc-gcc”" ab. Hier half es mir python seperat zu emergen

  • emerge pyhton

Jetzt noch das System emergen.

  • emerge -e system
So, nun den Ordner wechseln, baselayout unmasken und in /embedded_rootfs emergen
  • cd /usr/portage/sys-apps/baselayout-lite/
  • echo “=sys-apps/baselayout-lite-1.0_pre1 **” >>/etc/portage/package.keywords
  • ROOT=/embedded_rootfs emerge baselayout-lite-1.0_pre1.ebuild

To be continued…

LFS - Linux from scratch

Ich habe noch eine andere Alternative für mein OS gefunden: Linux From Scratch.

Drauf gestoßen bin ich in der aktuellen Ausgabe von linuxuser (1/2008), in der ein Howto hierzu veröffentlicht wurde. Hierbei kann mann mit einer LiveCD arbeiten, die sämliche Werkzeuge enthält um sich sein eigenes Linux zu basteln.

Nicht auch das noch…

Mein kleines Projekt liegt im Moment erstmal ein wenig auf Eis, da sich mein Erst- sowie Zweitrechener ohne erkennbaren Grund verabschieded hat. Aber ein Glück habe ich noch ein wenig Weihnachtsgeld. Soll heißen: Spätestens in drei Wochen habe ich wieder einen Rechner, der dann allerdings rein prozessortechnisch ein wenig mehr können dürfte. Wär zumindest nicht schlecht, da das Kompilieren doch länger dauert als ich anfangs angenommen hatte.too schließlich nicht viel zu wollen.

UPS war da!

Heute um 11:45 war UPS endlich da und hat ein Päckchen für mich abgegeben. Heute oder morgen vermesse ich dann noch die Anschlüsse für die Rückseite des Gehäuses, damit ich morgen anfangen kann zu fräsen. Leider ist die Risercard noch nicht da, obwohl ich vor zwei Tage die Versandbenachrichtigung bekommen habe. Die 1Gb CompactFlash Karte wurde scheinbar noch nicht mal abgeschickt. Aber egal - eine 512er wird auch erstmal reichen.

Mein ALIX.1C

Gehäuse ist (fast) fertig

Mein Gehäuse für das ALIX.1C habe ich heute bis auf Lackierung und Fräsen der Löcher für die Ports fertiggestellt. Ich bin soweit mit dem Ergebnis sehr zufrieden. Vor 5 Minuten habe ich die Mail über den Versand des Boards erhalten. Also sollte es morgen oder übermorgen bei mir ankommen. Dann habe ich auch die Gelgenheit die Ports zu vermessen und dementsprecht die Löcher zu fräsen.

ALIX.1C Gehäuse fertig (unlackiert, Löcher für Ports fehlen noch)

Die Bestellung ist raus und das Gehäuse macht auch Fortschritte

Soebend habe ich in verschiedenen Shops alles bestellt was ich benötige. Meine Bestelliste sieht nun folgendermaßen aus:

ALIX.1C, LX800, 256MB, 1*LAN, 1*Mini-PCI, 1*PCI (118.94 €)

Steckernetzteil, 12V, 1.2A für ALIX.1C (5.89 €)

Mini-PCI, 802.11a/b/g, EMP-8601 PLUS ETSI (316mW High Power) (46.10 €)

mini SMT fe. <-> RP-SMA Einbaubuchse, 15 cm, RG178 (3.00 €)

9dBi Omni, Stabantenne. RP-SMA ma. (11.80 €)

Risercard nach links abgewinkelt (7.95 €)

SanDisk Extreme 1Gb (10.01 €)

Und noch ein wenig Kleinkram

+ ca. insgesamt 15€ Porto

Die Summe will ich eigentlich garnicht so genau wissen. Es dürften aber ca. 240€ sein.

Z.z. bin ich dabei erste Prototypen des Gehäuses zu entwerfen und zu bauen. Ein Gehäuse ist zwar schon fertig, gefällt mir allerdings überhaupt nicht, da es einfach unpraktisch ist. Falls ich morgen während der Arbeit Zeit finde werde ich mich mal an das zweite Gehäuse machen.

Embedded Gentoo - Vorbereitung

Eine andere Möglichkeit für das OS wäre Embedded Gentoo. Da ich mir mein System nicht unbedingt zerschießen möchte und unnötige Unordnung zwischen meine Pakete bringen will, sowie auch an verschiedenen Rechnern an meinem Image arbeiten möchte, habe ich mich dazu entschlossen, Gentoo, was ich als Entwicklungsumgebung einsetzen werde, in QEMU aufzusetzen. Also das ganze in einer virtuellen Umgebung zu praktizieren. Dadurch wird sich allerdings das Bauen um einige Stunden verlängern. Aber ich habe ja Zeit und habe noch genug DVDs die ich mal wieder gucken könnte. Naja, meine Wohnung ist auch mal wieder ziemlich von ein paar Bastelarbeiten an meinen WLan-Antennen gezeichnet.

Also werde ich mir morgen ein Gentoo CD-Image herunterladen. Leider würde dies heute an meinem UMTS wegen mangelnder Bandbreite etlcihe Stunden in Anspruch nehmen, weshalb ich das erst in meiner Zweitwohnung bei angenehmen 6000er DSL machen werde. Das wäre ja auch zu schön, wenn alles so praktizierbar wäre, wie man es sich vorstellet.

Alternativ lässt sich auch ein fertiges VMWare Image von http://www.bagside.com/bagvapp herunterladen die sich zu einem QEMU Image umwandeln lässt. Oder man benutzt gleich VMWare Workstation oder Player.

Um nicht wieder der langen Weile zu verfallen, habe ich mir vorerst das Gentoo Wiki zu QEMU rausgesucht, da unter Gentoo doch einiges anders läuft als bei Debian und dessen Derivaten.

Emdebian-tools installieren

Nachdem Emdebian-tools auf Ubuntu seinen Dienst quittierte, habe ich mir die Mühe gemacht auf Debian umzusteigen. Da emdebian-tools nur in den Repos der “unstable” und “testing” von Debain Sid vorhanden sind habe ich mir erst die aktuelle Etch installiert und anschlißend der /etc/apt/sources.list zwei Paketquellen hinzugefügt und die vorhanden Einträge auskommentiert:

/etc/apt/sources.list:

  • deb http://ftp-stud.fht-esslingen.de/debian/ unstable main non-free contrib
  • deb-src http://ftp-stud.fht-esslingen.de/debian/ unstable main non-free contrib

Anschließen im Terminal folgendes eingeben:

  • apt-get update
  • apt-get dist-upgrade

Und jetzt um emdebian-tools zu installieren:

  • apt-get install emdebian-tools

Leider war es mir nicht ohne weiteres möglich eine funktionierende Installation von emdebian-tools zu bewerkstelligen. Da ich nur über UMTS ins Internet gehe ist mir bei solch mieserablen Downloadraten der Geduldsfaden gerissen.

emdebian-logo

Casebau

Nachdem ich heute ein wenig nach ITX-Gehäusen gesucht habe, ist mir eines klar geworden: Es gibt keine wirklich kompakten Gehäuse. In allen ist der Einbau eines Netzteils vorgesehen, was den Faktor Größe nicht minder beeinträchtigt. Aus diesem Grund werde icht nicht drumherum kommen mir ein Gehäuse selber zu bauen. Letztenendes wir ein Gehäuse dabei herauskommen, dass diesem Gehäuse sehr ähneln wird, allerdings etwas höher daherkommt, da ich die Option auf eine Riserkarte mit in Betracht ziehen möchte.

ALIX Standartgehäuse

Umdisponierung - Hardware überdacht

Ich habe ebend ein wenig über die Hardware nachgedacht. und bin zu dem Schluss gekommen, dass es sinnvoller wär ein Board zu nehmen, welches doch ein wenig mehr Features hat, da ich möglichst Flexibel mit dem Board arbeiten möchte. Aus diesem Grund habe ich mich für das Board ALIX.1C entschieden. Es hat zusätzlich einen VGA-Ausgang, Audio, IDE usw. Allerding bringt mir das Board auch ein paar Nachteile, die ich allerdings hinnehmen kann. Das schlimmste ist, das dieses Board nur einen LAN-Anschluss hat und nur einen Mini-PCI Slot und je Seite um 2cm größer ist. Aber dafür habe ich im Endeffekt den Vorteil, dass ich jetzt die Möglichkeit habe:

1.Ein Multimediasystem auf die Beine zu stellen.

2.Und einen normalen Monitor zu betreiben.

3.Nun kann ich ohne weitere Probelme das Display das ich bei Pollin.de fand am Parallelport betreiben.

Leider habe ich jetzt nicht mehr ohne weiteres die Möglickeit, einen Lan-Proxy zu bauen.Allerdings hat das ALIX.1C einen PCI Slot, welchen ich mit eine Raiser- und  einer Netzwerkkarte betreiben kann. Die Raisercard natürlich nur um Platz zu sparen.