Guruplug Display

The GuruPlug Display gives you the power to share, by extending server applications to showcase graphics, media, and audio in high definition. Powered by the Marvell ARMADA 168 processor, the GuruPlug Display integrates networking, storage, and USB peripheral interface support in a compact end-product form factor. Consuming fewer than 5 watts of power, the GuruPlug Display is ideal as an always-on display server for cloud computing applications.

Features:

  • ARMADA 168 processor
  • USB 2.0 OTG micro-AB port (device/host)
  • MicroSD socket (w/ 4GB card)
  • MicroSD Socket w/ JTAG I/F option
  • Internal MicroSD Socket (w/ 8GB card)
  • Serial console port over micro USB
  • HDMI output port with CEC
  • RTC with battery
Architecture
ARMv5te
Processor
Marvell PXA168 800MHz
RAM
512MB
SD
Micro SD
USB
4
Ethernet
10/100

Upgrade U-Boot

  1. Download u-boot.bin onto a FAT formatted USB thumb drive or micro SD card.
  2. Plug the USB drive into one of the USB ports, or plug the micro SD card into the slot on the side of the plug. Use the SD slot closest to the small hole where the reset button is.
  3. Connect a mini USB cable to the port above the ethernet jack, and the other end to your computer. On your computer, this will create a serial device (such as /dev/ttyUSB0 on Linux).
  4. Connect to this port with a terminal on Linux, or a program such as Putty on Windows, with a baud rate of 115200bps.
  5. Apply power to the plug, and hit any key to stop the auto boot. You will get a prompt like: Marvell>>
  6. Prepare the RAM location:
    mw.b 0x500000 0xff 0x40000
  7. Load the u-boot.bin file into memory by running the following commands for where you've stored u-boot.bin:
    • From a USB drive:
      usb start
      fatload usb 0 0x500000 u-boot.bin
    • From a micro SD card:
      mmc rescan
      fatload mmc 0 0x500000 u-boot.bin
  8. After loading, you should see a message similar to the following. Do not continue if u-boot.bin does not load correctly
    224396 bytes read
  9. Write the new U-Boot to flash:
    sf probe 110
    sf erase 0x10000 0x40000
    sf erase 0x7c000 0x4000
    sf write 0x500000 0x10000 0x40000
    reset
  10. After rebooting, interrupt the auto boot again to get to the prompt.
  11. Set the following environment variables for where you want to install the root filesystem to:
    • From a USB drive:
      setenv bootargs 'root=/dev/sda1 console=ttyS2,115200 uart_dma rootwait rw'
      setenv bootcmd 'usb start; ext4load usb 0:1 0x500000 /boot/zImage; bootz 0x0500000'
      saveenv
    • From a micro SD card:
      setenv bootargs 'root=/dev/mmcblk0p1 console=ttyS2,115200 uart_dma rootwait rw'
      setenv bootcmd 'mmc rescan; ext4load mmc 0:1 0x500000 /boot/zImage; bootz 0x0500000'
      saveenv

Install to a USB drive or micro SD card

Replace sdX in the following instructions with the device name for the SD card as it appears on your computer.

  1. Start fdisk to partition the drive:
    fdisk /dev/sdX
  2. At the fdisk prompt, delete old partitions and create a new one:
    1. Type o. This will clear out any partitions on the drive.
    2. Type p to list partitions. There should be no partitions left.
    3. Now type n, then p for primary, 1 for the first partition on the drive, and then press ENTER twice to accept the default sectors.
    4. Write the partition table and exit by typing w.
  3. Create the ext4 filesystem:
    1. For e2fsprogs < 1.43:
      mkfs.ext4 /dev/sdX1
    2. For e2fsprogs >= 1.43:
      mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1
  4. Mount the filesystem:
    mkdir mnt
    mount /dev/sdX1 mnt
  5. Download and extract the root filesystem (as root, not via sudo):
    wget http://os.archlinuxarm.org/os/ArchLinuxARM-mmp-latest.tar.gz
    bsdtar -xpf ArchLinuxARM-mmp-latest.tar.gz -C mnt
    umount mnt
  6. Plug the USB drive into one of the USB ports, or plug the micro SD card into the slot on the side of the plug. Use the SD slot closest to the small hole where the reset button is.
  7. Type reset at the U-Boot prompt, press the reset button, or remove and reapply power to restart the plug. It will now boot into Arch Linux ARM.
    • Login as the default user alarm with the password alarm.
    • The default root password is root.

Install to the internal micro SD storage

If you've booted with USB, replace mmcblkX in the following instructions with mmcblk0. If you've booted with micro SD, replace it with mmcblk1.

  1. The Guruplug Display contains an internal 8GB micro SD card that the root filesystem can be installed to. First, boot into Arch Linux ARM via USB or micro SD with the above steps.
  2. Start fdisk to partition the card:
    fdisk /dev/mmcblkX
  3. At the fdisk prompt, delete old partitions and create a new one:
    1. Type o. This will clear out any partitions on the drive.
    2. Type p to list partitions. There should be no partitions left.
    3. Now type n, then p for primary, 1 for the first partition on the drive, and then press ENTER twice to accept the default sectors.
    4. Write the partition table and exit by typing w.
  4. Create the ext4 filesystem:
    1. For e2fsprogs < 1.43:
      mkfs.ext4 /dev/sdX1
    2. For e2fsprogs >= 1.43:
      mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1
  5. Mount the filesystem:
    mkdir mnt
    mount /dev/mmcblkXp1 mnt
  6. Download and extract the root filesystem (as root, not via sudo):
    curl -OL http://os.archlinuxarm.org/os/ArchLinuxARM-mmp-latest.tar.gz
    bsdtar -xpf ArchLinuxARM-mmp-latest.tar.gz -C mnt
    umount mnt
  7. Reboot by typing reboot, and interrupt the U-Boot auto boot.
  8. Set the following environment variables:
    setenv bootargs 'root=/dev/mmcblk0p1 console=ttyS2,115200 uart_dma rootwait rw'
    setenv bootcmd 'mmc dev 1; mmc rescan; ext4load mmc 1:1 0x500000 /boot/zImage; bootz 0x0500000'
    saveenv
  9. Remove the USB or micro SD card containing the previous installation.
  10. Reboot the device by typing reset, and the system will reboot into Arch Linux ARM on the internal storage. Note: Having a micro SD card in one of the external slots at boot will renumber the internal card, and will require changing the bootargs in U-Boot to match.

Copyright ©2009-2017 Arch Linux ARM
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.
The Arch Linux™ name and logo are used under permission of the Arch Linux Project Lead.