RaspberryPi

From LinuxMCE
Jump to: navigation, search

Please be aware that this is in flux as a transition is made to qOrbiter. RaspberryPi diskless creation has stabilized somewhat. RaspberryPi 2 B is supported... with work. It can currently operate as a Disk based MD if you know how to manually configure the devices.

Device Specification

  • The Raspberry Pi B is an ARM based computer the size of a credit card. 700Mhz, 256MB or 512MB RAM, FastEthernet, 2xUSB, GPIO
  • The Raspberry Pi 2 B is an ARM based computer the size of a credit card. 900Mhz, 1GB RAM, FastEthernet, 4xUSB, 40xGPIO

Development

See Porting_Raspbian for the current development status of LinuxMCE on Raspberry Pi.

Diskless Media Director

The Raspberry Pi v1 B/B+ can be used as a minimal diskless Media Director within LinuxMCE. The following instructions will show how to create a diskless MD. The Raspberry Pi v2 B is not currently compatible with the diskless method of MD booting.

When using the sdcard below the RPi will be overclocked using the standard Raspberry Pi foundation overclock settings. These are throttled automatically as thermally required. You are free to overclock the device further by editing the config.txt file on the sdcard.

Requirements

  • Your core must be LinuxMCE 1204 or higher.
  • The Raspberry Pi must be a 512MB Model B (or B+). The Model A and the 256MB Model B do not have enough RAM to boot into Orbiter.
  • The Raspberry Pi must be plugged into the internal side of your LinuxMCE core's network to act as a media director.
  • The Raspberry Pi must be plugged in using the HDMI connector and using HDMI sound. Set an S (for Stereo) or H (for HDMI) for the Audio Settings for the MD in webadmin.
    • The Raspberry Pi will detect the boot resolution of your television and adjust itself accordingly.
    • If resolution has changed since the last boot the orbiter will be regenerated.
  • You may wish to have a usb keyboard or mouse for orbiter interaction. USB-UIRT/MCE Remote is also possible but must be installed using the webadmin (device detection is working but the device is not added currently).

Setup Steps

  • Get the LinuxMCE Raspberry Pi MD sdcard contents.
  • Insert the sdcard into the Raspberry Pi.
  • Power up the Raspberry Pi.
  • On first boot the u-boot bootloader will start, it will try to grab various different pxe files until it finally finds the default pxe kernel and initrd.
  • The kernel will boot, there is a 10second delay when activating the ethernet drivers to allow for the hardware to respond properly, this delay only occurs during the default kernel/initrd boot.
  • Raspberry Pi will display "Announced ourselves to the router".
    • If you have the lmce1 default image installed (see above,) the core will run Diskless_Setup to prepare an RPi MD.
    • If you have the lmce2 default image installed (see above,) you will be prompted on existing orbiters to select the type of RPi device you would like installed. Once you have made your selection the core will run Diskless_Setup to prepare the device.
  • The Raspberry Pi will reboot automatically once Diskless_Setup completes properly.
  • You should go to an existing orbiter and 'Reload the Router' after this point. You will be prompted to do so eventually on the moonPi, if you have not already done so.
  • On the second boot (called the 'FIRSTRUN') the bootloader on the sdcard will be updated to the version on the diskless image.
  • The Raspberry Pi will reboot again.
  • On the third boot LinuxMCE will slowly come to life. Please be patient, this can take up to 45 minutes. You will be presented with the Setup Wizard after ConfirmDependencies has finished installing all ancilliary packages.

Disked Media Director

Requirements

  • Your core must be LinuxMCE 1204 or higher.
  • The Raspberry Pi must be a 1GB v2 Model B. The original model As & Bs do not have enough RAM/processor to work well.

Setup Steps

  • On the Core:
    • Create a new top level device in the device tree. Choose Raspberry Pi Model B.
    • Un-check the Diskless Boot option in the Device settings
  • Install Raspbian on an 8GB sdcard, either direct, or through NOOBS. Follow directions at raspberrypi.org
    • boot the rpi into raspbian.
    • run ifconfig and get the MAC/Physical address of the ethernet device.
    • [fixme: doesn't save for some reason] paste the MAC into the Device in webadmin.
  • On the Core:
    • run /usr/pluto/bin/Disked_Setup.sh
  • On the pre-moonpi:
    • add "deb http://deb.linuxmce.org/raspbian/ wheezy main" to the /etc/apt/sources.list file
    • apt-get update
    • apt-get install lmce-md-meta
    • [fixme: should be in disked_setup.sh] grant privileges for this moon to access mysql "GRANT ALL ..."
    • [fixme: add to meta pkg somehow] add appropriate entries into /etc/fstab
192.168.80.1:/usr/pluto/var/                    /usr/pluto/var/         nfs4 retrans=10,timeo=50 1 1
192.168.80.1:/usr/pluto/orbiter                 /usr/pluto/orbiter      nfs4 retrans=10,timeo=50 1 1
192.168.80.1:/usr/pluto/keys                    /usr/pluto/keys         nfs4 retrans=10,timeo=50 1 1
192.168.80.1:/usr/pluto/deb-cache               /usr/pluto/deb-cache    nfs4 retrans=10,timeo=50 1 1
192.168.80.1:/var/spool/asterisk                /var/spool/asterisk     nfs4 retrans=10,timeo=50 1 1
192.168.80.1:/home                              /home                   nfs4 retrans=10,timeo=50 1 1
192.168.80.1:/home/cameras                      /home/cameras           nfs4 retrans=10,timeo=50 1 1
    • [fixme: use interactor on boot to get device_id] manually set the PK_Device data in /etc/pluto.conf
MySqlHost = 192.168.80.1
MySqlUser = root
MySqlPassword =
MySqlDBName = pluto_main
DCERouter = 192.168.80.1
MySqlPort = 3306
DCERouterPort = 3450
PK_Device = XXX
Display = 0
LogLevels=1,5,7,8,10
AutostartCore=0
AutostartMedia=1
FirstBoot = true
AVWizardOverride = 0
DesktopActivated = 1
AVWizardDone = 1
PK_Distro = 19
    • Reload the router and reboot the moonpi.

Setup Steps for HDMI-CEC Control

Please see Pulse-Eight for HDMI-CEC setup information

Manual Settings

  • Overscan - currently only able to change by manually editing the config.txt file on the sdcard.
  • Overscan compensation - currently only able to change by manually editing the config.txt file on the sdcard. In /sdcard/config.txt from a booted moonpi.
    • Orbiter will automatically regenerate after rebooting and detecting a new display resolution.
  • Audio settings are adjusted in webadmin: S = Stereo, H = HDMI, H3 = HDMI with passthrough capability for AC3 & DTS

What works

  • Orbiter UI1
  • Photo Screen Saver
  • AppServer
  • HAL
  • Embedded phone.
  • OMX_Player (alpha) will play audio and video. You must have the appropriate codecs to play MPG and VC1 media. The codecs can be purchased from the Raspberry Pi foundation.
  • USB-UIRT
  • HDMI-CEC control
  • Serial GSD on RPi v2
  • Others? Please add additional, known to be working, devices here.

What does not work

  • Video Overlays
  • MythTV (RPi v1)
  • Serial GSD (RPi v1)
  • Everything else... ;)