Firmware-Update für Raspberry Pi-512 MB

Es ist durchaus möglich, dass ein frisch erworbener Raspberry Pi nach dem Boot erstmal nur 256 MB Arbeitsspeicher vermerkt:

1$ dmesg | grep -i "MB total"
2[    0.000000] Memory: 256MB = 256MB total

Der Grund muss nicht unbedingt eine falsche Lieferung sein. Wichtig ist, welche der folgenden Nummern auf dem Speicherchip des Raspberry's vermerkt ist:

BezeichnungRAM-Größe
K4P4G324EB-AGC1512 MB
K4P2G324ED-AGC1256 MB

Stimmt die Chip-Bezeichnung, ist die Problemursache vermutlich eine veraltete Firmware des Kleinstrechners. Die Firmware wird nicht auf dem Gerät sondern auf der SD-Karte gespeichert, weswegen neuere Distributionen (Raspian Wheezy, etc.) von diesem Problem nicht betroffen sein sollten. Hat man eine ältere Distribution (z. B. Raspian Squeeze) kann die Firmware mithilfe des Tools rpi-update aktualisiert werden. Das Tool ist über einen Git-Webmirror verfügbar - benötigt aber einige Tools, die es vorher zu installieren gilt:

 1# sudo apt-get install ca-certificates git-core binutils
 2# sudo wget --no-check-certificate http://goo.gl/1BOfJ -O /usr/bin/rpi-update 
 3# sudo chmod +x /usr/bin/rpi-update
 4# sudo rpi-update
 5Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS
 6Performing self-update
 7ARM/GPU split is now defined in /boot/config.txt using the gpu_mem option!
 8We're running for the first time
 9Setting up firmware (this will take a few minutes)
10Using HardFP libraries
11If no errors appeared, your firmware was successfully setup
12A reboot is needed to activate the new firmware

Mit Glück wird nach einem Reboot die doppelte RAM-Größe erkannt:

1$ dmesg | grep -i "MB total"
2[    0.000000] Memory: 448MB = 448MB total

Die Größe der o.g. Ausgabe richtet sich in aller Regel nach dem in der Datei /boot/config.txt definiertem Wert gpu_mem - in o.g. Fall 64:

1# grep -v "^#" /boot/config.txt |grep -v "^$"
2arm_freq=950
3gpu_mem=64
4core_freq=250
5sdram_freq=450
6over_voltage=6

Zur Erklärung: 512 MB - 64 MB = 448 MB. Bei Raspbmc wird der "überschüssige" RAM der GPU zugewiesen, um flüssigere Themes und besseres Videoplayback zu ermöglichen. Je nach Einsatzgebiet kann es aber auch erwünscht sein, über mehr RAM zu verfügen. In einem solchen Fall muss die Datei /boot/config.txt manuell editiert werden:

1...
2#gpu_mem_256=128
3#gpu_mem_512=256
4gpu_mem=196
5gpu_mem_256=128
6gpu_mem_512=196

Wichtig ist, dass der Wert der Variablen gpu_mem nicht zu klein angesetzt wird - ansonsten funktioniert das Wiedergeben von Full HD-Videoinhalten ggf. nicht mehr ordnungsgemäß. 196 hat sich bei meinem Aufbau als guter Wert erwiesen.

Übersetzungen: