Hier entsteht eine Schritt für Schritt Anleitung um die experimentelle Firmware „OpenHorst / potc-firmware“ für die Horstbox Professional zu erstellen. Weitere Hinweise zum Projekt:
| Projektstatus: | http://gforge.willwebhosting.de/gf/project/horstbox/ |
|---|---|
| Diskussion im IPPF: | http://www.ip-phone-forum.de/showthread.php?t=187648&page=1 |
| Inside Horstbox: | http://www.ip-phone-forum.de/showthread.php?t=184042 |
config.mk
| TOOLCHAIN | buildroot-2011.02 | http://buildroot.uclibc.org/news.html | Dokumentation |
|---|---|---|---|
| KERNEL | linux-2.6.35.4 | http://www.kernel.org | |
| ASTERISK | asterisk-1.8.4-rc2 | http://www.asterisk.org/downloads | Downloads / last modified |
In diesem Beispiel wird das Host System als virtuelle Maschine installiert. Zusätzliche Hardware ist für diesen Weg nicht notwendig. Ziel soll es sein, ein minimales System mit allen für den Firmwarebau notwendigen Paketen zu installieren.
make kernel_build) die Fehlermeldung: lzma: Cannot allocate memoryaptitude install ssh
nano /etc/apt/sources.list
# deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official i386 NETINST Binary-1 20110205-14:34]/ squeeze main #deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official i386 NETINST Binary-1 20110205-14:34]/ squeeze main deb http://ftp.de.debian.org/debian/ squeeze main deb-src http://ftp.de.debian.org/debian/ squeeze main deb http://security.debian.org/ squeeze/updates main deb-src http://security.debian.org/ squeeze/updates main deb http://ftp.de.debian.org/debian/ squeeze-updates main deb-src http://ftp.de.debian.org/debian/ squeeze-updates main
Hier je nach Bedarf andere oder eigene Quellen eintragen
aptitude update
aptitude upgrade
aptitude -y install libcurl4-openssl-dev flex bison automake libtool libtiff4 mtd-utils fakeroot make gcc sun-java6-jdk texinfo gettext g++ patch gcj zip libsox-fmt-mp3 subversion tar bzip2 rsync libncurses5-dev unzip lzma
aptitude -V -t unstable install sox
sox --version
svn co --username anonymous http://gforge.willwebhosting.de/svn/horstbox/Horstbox/trunk/build_env/ horst-trunk
cd horst-trunk
Achtung: In der aktuellen Revision (svn > 250) gibt es ein Problem im File: ixp425-ledman.c
Relativer Pfad: ../scripts/config.mk
Hier werden die im Makefile ausgewählten Pakete und Patches definiert:
Wenn der build mit einer Fehlermeldung bzgl. libtiff abbricht, sollte man überprüfen, welche Version von libtiff auf dem hostsystem installiert ist. Einen guten Überblick erhält man beispielsweise mit:
aptitude search libtiff
Wenn mehr als eine Version installiert ist, kann dies zum Abbruch führen, siehe hier. Oft genügt es, die zusätzlich zu libtiff4 installierte Entwicklerversion libtiff4-dev du deinstallieren.
Falls der build mit spandsp-0.0.6 immer noch nicht fehlerfrei durchläuft, kann auf spandsp-0.0.5 zurückgegriffen werden (siehe Forenbeitrag #342).
SPANDSP_URL = http://www.soft-switch.org/downloads/spandsp/$(SPANDSP_FILE) SPANDSP_FILE = spandsp-0.0.5.tgz SPANDSP_DIR = $(PWD)/spandsp-0.0.5 SPANDSP_PATCH = patch.spandsp
make toolchain_config
Package Selection for the target → Text Editors die entsprechende Auswahl treffen, usw.aptitude install screen
screen
make && make install
time (make; make install)
zImage und main-fs im Ordner ~/horst-trunk/image/zImage und main-fs nach /tmp/ auf die Horstbox kopiert werden, z.B. mittels scp zImage main-fs 192.168.0.1:/tmp oder WinSCP/etc/asterisk/ .flashcp /tmp/zImage /dev/mtd/2 flashcp /tmp/main-fs /dev/mtd/3
Hier bitte die Informationen zur ersten Inbetriebnahme mit der erstellten Firmware eingeben.
enter ^C to abort unterbricht man mit Strg+C (geht nur, wenn die Flusssteuerung deaktiviert wurde) worauf hin sich RedBoot meldet und Befehle entgegen nimmt:+ Trying NPE-B...no PHY found Trying NPE-C...success. Using NPE-C with PHY 1. Ethernet eth1: MAC address 00:03:47:df:32:aa IP: 0.0.0.0/255.255.255.0, Gateway: 0.0.0.0 Default server: 0.0.0.0 RedBoot(tm) bootstrap and debug environment [ROM] Red Hat certified release, version 2.02 - built 09:49:23, May 9 2006 Platform: D-Link Horstbox Backpack (Maxina) (IXP42X 533MHz) BE Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc. RAM: 0x00000000-0x04000000, [0x00026250-0x03fc1000] available FLASH: 0x50000000 - 0x51000000, 128 blocks of 0x00020000 bytes each. == Executing boot script in 3.000 seconds - enter ^C to abort ^C RedBoot>
load wartet RedBoot auf die zu übertragende Datei. Den Vorgang startet man z.B. im HyperTerminal über das Menü Übertragung > Datei senden (Protokoll = Xmodem).