wiki:Devices/GTA04/InstallGuide

GTA04 microSD Installation Guide

This is a step-by-step guide, which should get you from zero to a working SHR on your GTA04 in just a few minutes.

Getting the files

Preparing the U-Boot enviroment

uboot multiboot menu The new U-Boot system (as of November 2012) provides a graphical multi-boot solution. If your device is shipped after November 2012 you'll probably already have this system pre-installed.

Otherwise you'll have to get the latest hw-validation image from  http://download.goldelico.com/gta04 and put it on a specially formated microSD card (using the makesd script). Then boot this special hw-validation microSD card having the AUX button pressed, to flash the new boot system (the screen will trun red while falshing).

After switching back (or reformating) to your normal microSD card you can always access the boot menu by booting the device, having AUX pressed.

Preparing the SHR microSD card

Your microSD card can have several partitions, e.g.:

  • 1st partition: ext3, "system" (e.g. for Debian)
  • 2nd partition: ext3, "rootfs" (e.g. for SHR)
  • 3rd partition: FAT32, "data" (e.g. for music, documents, ...)

Installing SHR

To install the SHR image, you have to untar the image you downloaded to the "rootfs"-partition.

tar xzvpf shr-image.tar.gz --numeric-owner -C /media/rootfs

First boot

shr wizard screen After you cleanly unmounted the partitions and put the microSD card back into the GTA04 you can boot your device, having the AUX button pressed (to access the boot menu). You'll be greeted by the graphical U-Boot multiboot selection. Select the partition to boot from (e.g. SD:2 for SHR).

Next, a first start wizard will pop up, which let's you choose between some options.
Be aware to choose a scale factor of 2.0 when asked. Other than this you can just keep the defaults.

You can now login via USB networking at: 192.168.7.2

required(else telephony,suspend,wifi won't work) post-install

opkg install fsoaudiod gta04-gps-handler gta04-gps-handler-systemd. #fixed in git
opkg remove fsosystemd fsosystemd-systemd  --force-depends

Installing Firmware

If you want to use the WiFi/Bluetooth chip, you have to use a non-free firmware from Marvell.
To get it you have to install linux-firmware-sd8686.

opkg install linux-firmware

Congratulations

SHR with elfe home screen You successfully installed SHR on your GTA04.
If you need further information or have any issues, please have a look below (Troubleshooting) or in the InstallGuide/Advanced section.

GTA04 NAND Installation Guide

  • Here are the NAND partitions:
    # cat /proc/mtd 
    dev:    size   erasesize  name
    mtd0: 00080000 00020000 "X-Loader"
    mtd1: 001e0000 00020000 "U-Boot"
    mtd2: 00020000 00020000 "U-Boot Env"
    mtd3: 00400000 00020000 "Kernel"
    mtd4: 1f980000 00020000 "File System"
    
  • Install SHR on microsd
  • Boot on microsd
  • Copy the uImage-om-gta04.bin, shr-image-om-gta04.ubi,u-boot.bin in the second partition
  • Copy x-load.flash in the first partition
  • Boot SHR on microsd and run the following:
    nandwrite -p /dev/mtd4 shr-image-om-gta04.ubi
    nandwrite -p /dev/mtd3 uImage-om-gta04.bin
    nandwrite -p /dev/mtd1 u-boot.bin
    
  • Then reboot into u-boot: connect the serial cable and press enter(there is no other way yet(we will have to develop some uboot scripts) since x-loader partition is read only)
  • flash x-load:
    mtdparts default
    mmcinfo
    fatload mmc 0:1 0x82000000 /x-load.flash
    nandecc hw
    # write some copies
    nand erase 0 80000
    nand write 0x80200000 0 20000
    nand write 0x80200000 20000 20000
    nand write 0x80200000 60000 20000
    reset
    

With the new gta04 init (outdated as of November 2012)

Here's gta04-init/1.sh:

#dev,proc,sys mounting
/fat/gta04-init/busybox mkdir /proc /sys
/fat/gta04-init/busybox mount -t proc none /proc
/fat/gta04-init/busybox mount -t sysfs none /sys
/fat/gta04-init/busybox mount -t devtmpfs none /dev

#mount SHR
/bin/ubiattach -m 4 -O 2048 -d 0
/fat/gta04-init/busybox mount -t ubifs ubi0:om-gta04-rootfs /real-root
/fat/gta04-init/busybox mount -t sysfs none /real-root/sys
/fat/gta04-init/busybox mount -t proc none /real-root/proc
/fat/gta04-init/busybox mount -t devtmpfs none /real-root/dev

#run SHR
exec /fat/gta04-init/busybox chroot /real-root/ /sbin/init

it requires a busybox with the following configuration(there is room for improvement but it works tough...):

CONFIG_HAVE_DOT_CONFIG=y
CONFIG_PLATFORM_LINUX=y
CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
CONFIG_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y
CONFIG_FEATURE_COMPRESS_USAGE=y
CONFIG_FEATURE_INSTALLER=y
CONFIG_SUBST_WCHAR=0
CONFIG_LAST_SUPPORTED_WCHAR=0
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
CONFIG_STATIC=y
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS=""
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
CONFIG_NO_DEBUG_LIB=y
CONFIG_INSTALL_APPLET_SYMLINKS=y
CONFIG_PREFIX="./_install"
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SMALL=1
CONFIG_FEATURE_FAST_TOP=y
CONFIG_FEATURE_EDITING=y
CONFIG_FEATURE_EDITING_MAX_LEN=1024
CONFIG_FEATURE_EDITING_HISTORY=255
CONFIG_FEATURE_COPYBUF_KB=4
CONFIG_FEATURE_SKIP_ROOTFS=y
CONFIG_GZIP_FAST=0
CONFIG_CAT=y
CONFIG_CHROOT=y
CONFIG_LS=y
CONFIG_MKDIR=y
CONFIG_DEFAULT_SETFONT_DIR=""
CONFIG_FEATURE_VI_MAX_LEN=0
CONFIG_TELINIT_PATH=""
CONFIG_FEATURE_KILL_DELAY=0
CONFIG_INIT_TERMINAL_TYPE=""
CONFIG_FIRST_SYSTEM_ID=0
CONFIG_LAST_SYSTEM_ID=0
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
CONFIG_DEFAULT_MODULES_DIR=""
CONFIG_DEFAULT_DEPMOD_FILE=""
CONFIG_MOUNT=y
CONFIG_FEATURE_MOUNT_FAKE=y
CONFIG_FEATURE_MOUNT_VERBOSE=y
CONFIG_FEATURE_MOUNT_HELPERS=y
CONFIG_FEATURE_MOUNT_LABEL=y
CONFIG_FEATURE_MOUNT_FSTAB=y
CONFIG_FEATURE_MOUNT_LOOP=y
CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
CONFIG_VOLUMEID=y
CONFIG_FEATURE_VOLUMEID_EXT=y
CONFIG_FEATURE_VOLUMEID_BTRFS=y
CONFIG_FEATURE_VOLUMEID_REISERFS=y
CONFIG_FEATURE_VOLUMEID_FAT=y
CONFIG_FEATURE_VOLUMEID_HFS=y
CONFIG_FEATURE_VOLUMEID_JFS=y
CONFIG_FEATURE_VOLUMEID_XFS=y
CONFIG_FEATURE_VOLUMEID_NTFS=y
CONFIG_FEATURE_VOLUMEID_ISO9660=y
CONFIG_FEATURE_VOLUMEID_UDF=y
CONFIG_FEATURE_VOLUMEID_LUKS=y
CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
CONFIG_FEATURE_VOLUMEID_CRAMFS=y
CONFIG_FEATURE_VOLUMEID_ROMFS=y
CONFIG_FEATURE_VOLUMEID_SYSV=y
CONFIG_FEATURE_VOLUMEID_OCFS2=y
CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
CONFIG_FEATURE_LESS_MAXLINES=0
CONFIG_UBIATTACH=y
CONFIG_FEATURE_BEEP_FREQ=0
CONFIG_FEATURE_BEEP_LENGTH_MS=0
CONFIG_FEATURE_CROND_DIR=""
CONFIG_IFUPDOWN_IFSTATE_PATH=""
CONFIG_DHCPD_LEASES_FILE=""
CONFIG_UDHCP_DEBUG=0
CONFIG_UDHCPC_DEFAULT_SCRIPT=""
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
CONFIG_FEATURE_MIME_CHARSET=""
CONFIG_SV_DEFAULT_SERVICE_DIR=""
CONFIG_ASH=y
CONFIG_ASH_BASH_COMPAT=y
CONFIG_ASH_BUILTIN_ECHO=y
CONFIG_FEATURE_SH_IS_ASH=y
CONFIG_FEATURE_BASH_IS_NONE=y
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0

Troubleshooting

Please add your questions here:

Q: I've got no USB networking after a fresh installation. What to do about it?
A: Running "depmod -a" and doing reboot will fix this.

Q: I got no 1st start wizzard, but an oversized Enlightenment dialog?!
A: SSH into the device, delete the ~/.e directory and restart Xorg:

$ ssh root@192.168.7.2
$ rm -rf .e/
$ systemctrl restart xserver-nodm.service

Attachments