RaspberryPi und COC

Begonnen von Sizco, 08 Februar 2013, 21:22:07

Vorheriges Thema - Nächstes Thema

R2-D2

Hallo Thomas,

vielen Dank für Deine schnelle Antwort und die von Dir angebotene Hilfe.

Ich werde mich dann jetzt ins Kernel compilieren einlesen, da ich das noch nie gemacht habe.
Ggf. hast Du ja hier ein paar hilfreiche Hinweise, was genauer zu beachten ist.

Dann noch eine interessante Frage:
Du schreibst:
Die von busware angepasste Datei hängt an einem der vorigen Posts dran, diese muss man gegen die originale austauschen.

An welcher Stelle hast Du diese Datei ausgetauscht?
Hast Du diese in den Ordner mit den heruntergeladenen Kernelquellen abgelegt?

Viele Grüße.

Sven

cyberdwarf

Hallo zusammen,

ich habe jetzt mal einen Kernel anhand der "bcm2708.c" von Thomas gebacken.
Mangels eines 2. COCs konnte ich den Kernel aber noch nicht testen.
Wenn die Hardware zum Testen eingetroffen ist, werde ich hier eine kurze Anleitung schreiben.

Gruß
Torsten
RPi+COC | RFXtrx433 | HMLAN
fht80b, FHT80TF, S300TH, hms100-tf, EMFM, EMWZ
FS20:bs,di,piri,rsu,s4a,s6a,sm4,sm8,s8m,st,tfk
YCR-1000, ITL-230, HE877, HE878A, AB440
KD101, RGR918, TS15C_10, WGR918, WS2300
HM-LC-Sw1PBU-FM, HM-LC-BL1-FM
ZWAVE(Test)

cyberdwarf

1. Raspbian "wheezy" downloaden und auf SD Card bringen
    http://downloads.raspberrypi.org/images/raspbian/2013-02-09-wheezy-raspbian/2013-02-09-wheezy-raspbian.zip
2. System updaten
sudo apt-get update
sudo apt-get dist-upgrade

3. Konsolen Einträge entfernen
Aus der /boot/cmdline.txt "console=ttyAMA0,115200 kgdboc=ttyAMA0,115200" entfernen.
In der /etc/inittab die Zeile mit dem "T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100" auskommentieren

4. Kontrollieren ob make und gcc auch wirklich installiert sind
sudo apt-get install gcc make
5. Verzeichnis für die Quellen anlegen
mkdir ~/rpi
6. Jetzt kann man ein externes Device an dieses Verzeichnis mounten, oder man quält seine SD Card
cd  ~/rpi
7. Kernel Quellen und Firmware downloaden
wget https://github.com/raspberrypi/linux/archive/rpi-3.6.y.tar.gz
wget https://github.com/raspberrypi/firmware/archive/next.tar.gz

8. Dateien entpacken
tar xfz rpi-3.6.y.tar.gz
tar xfz next.tar.gz

9. In das Kernel Source Verzeichnis wechseln
cd linux-rpi-3.6.y
10. Datei vom Thomas in die Quellen kopieren.
cp /pfad/zur/thomas/bcm2708.c arch/arm/mach-bcm2708/
sudo chmod 644 arch/arm/mach-bcm2708/bcm2708.c
sudo chown pi:pi arch/arm/mach-bcm2708/bcm2708.c

11. Quellen bereinigen
make mrproper
12. Konfiguration vom aktuellen Kernel übernehmen
zcat /proc/config.gz > .config
13. Jetzt muss man die benötigten Optionen in der .config anhand der Busware Liste ändern
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_BCM2708=y
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_DRV_DS1307=y
CONFIG_EEPROM_AT24=y
CONFIG_W1_MASTER_DS2482=m

14. make oldconfig
15. Jetzt kommt das eigentliche Kompilieren. Dauert ca. 8 Stunden. (Wer nicht so lange warten kann / will, muss sich eine Anleitung zum Cross compiling suchen)
make
16. Danach den neuen Kernel ins /boot kopieren (Wer mag, kann sich zuvor ein Backup erstellen)
sudo cp arch/arm/boot/zImage /boot/kernel.img
17. Kernel Module installieren
sudo make modules_install
18. Firmware aktuallisieren (auch hier kann man sich zuvor wieder ein Backup erstellen)
cd ~/rpi/firmware-next/boot
sudo cp bootcode.bin fixup.dat fixup_cd.dat kernel_emergency.img start.elf start_cd.elf /boot

19. sudo reboot
20. uname -a
    Wenn nun das aktuelle Datum hinter "PREEMPT" auftaucht, dann hat alles geklappt.

21. FHEM installieren und das Start Script für den COC anpassen. Eine Beschreibung findet man auf der Busware Seite unter COC installation guide.
start)
echo "resetting 868MHz extension..."
if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio17/direction
echo out > /sys/class/gpio/gpio18/direction
echo 1 > /sys/class/gpio/gpio18/value
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1

(old code follows)


Den fertigen Kernel gibt es auf Anfrage, da ich momentan keinen Webspace habe.

Ich hoffe das ich keinen Schritt ausgelassen habe, denn ich habe alles aus dem Kopf bzw. anhand meiner History erstellt.
Viel Spass und Erfolg!

Gruß
Torsten
RPi+COC | RFXtrx433 | HMLAN
fht80b, FHT80TF, S300TH, hms100-tf, EMFM, EMWZ
FS20:bs,di,piri,rsu,s4a,s6a,sm4,sm8,s8m,st,tfk
YCR-1000, ITL-230, HE877, HE878A, AB440
KD101, RGR918, TS15C_10, WGR918, WS2300
HM-LC-Sw1PBU-FM, HM-LC-BL1-FM
ZWAVE(Test)

roedert

Moin,
ich werd mich anhand der Infos hier auch mal ransetzen und versuchen ein "COC-Image" zu erstellen.
Das große Problem des fertigen Busware-Image ist dass irgendwie nur 256 MB Speicher da sind - zumindest liefert er die Info mit dem Befehl free.

Ist beim Pi mit anderen Images nicht so, da stehen die korrekten 512 MB (abzgl. Grafikspeicher, ist klar)

Gruß Tilo

thomas0001

Die Anleitung sieht richtig gut aus, ich wüsste nichts was fehlt.

JoWiemann

Hallo Torsten,

was dagegen, wenn ich die Anleitung nach fhemwiki übernehme?

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

cyberdwarf

Hallo,

die Anleitung kann gerne ins fhemwiki übertragen werden.
Wenn jemand Webspace hat, kann ich auch gerne meinen fertigen Kernel dahin übertragen.

Gruß
Torsten
RPi+COC | RFXtrx433 | HMLAN
fht80b, FHT80TF, S300TH, hms100-tf, EMFM, EMWZ
FS20:bs,di,piri,rsu,s4a,s6a,sm4,sm8,s8m,st,tfk
YCR-1000, ITL-230, HE877, HE878A, AB440
KD101, RGR918, TS15C_10, WGR918, WS2300
HM-LC-Sw1PBU-FM, HM-LC-BL1-FM
ZWAVE(Test)

Banana_Joe

@ Thorsten

Vielen Dank für die super Anleitung. Genau das worauf ich gewartet habe.

Ich denke somit wird die ganze Thematik auch für Leute zugänglich die wie ich jeden Linux Befehl einzeln googlen müssen.


Sven M.

Hi,

ich bin jetzt auch stolzer Besitzer von einem Raspberry Pi, irgendwann diesem Jahres soll auch noch ein COC und !MAX folgen.
Jetzt nun zu meiner Frage, ich möchte mein Raspberry Pi erstmal ohne COC und nur mit meinem CUNO benutzen. Geht das mit Deiner Anleitung oder schmeißt er mich sprichwörtlich raus ohne COC ?

Gruß Sven

P.S. @Thorsten: wie groß ist denn der Kernel eventuell könnte ich den bei mir auf dem Webspace hinpacken.

cyberdwarf

Hallo Sven,

auch ohne COC kannst du mit dem angepassten Kernel deinen RPi betreiben.
Mein tar ist 24MB groß.

Gruß
Torsten

RPi+COC | RFXtrx433 | HMLAN
fht80b, FHT80TF, S300TH, hms100-tf, EMFM, EMWZ
FS20:bs,di,piri,rsu,s4a,s6a,sm4,sm8,s8m,st,tfk
YCR-1000, ITL-230, HE877, HE878A, AB440
KD101, RGR918, TS15C_10, WGR918, WS2300
HM-LC-Sw1PBU-FM, HM-LC-BL1-FM
ZWAVE(Test)

nucleo74

So ma ganz offiziell Torsten...SUUUUPEEER und Danke für die Arbeit, mühe und Hilfe die der Community und mir gegeben hast ;-)

Gruss
Paolo

newbie

Hallo kann der Kernel irgendwo heruntergeladen werden ?

Danke

dougie



...ich denke etwas WebSpace hätte ich noch frei :-)

Könnte den Kernel und Zubehör gerne versuchen bereit zu stellen.

VG
Ralf

newbie

das wäre super gerade für einen Neueinsteiger wie mich

roedert

....die Anleitung ist doch aber fast "idiotensicher" - du kannst die Befehle fast 1:1 übernehmen - es braucht halt nur ein wenig Zeit zum Kompilieren.