Hugh Lavery
The GK802 is a quad-core Freescale i.MX6 device (Cortex-A9 1Ghz) in a stick format which is somewhat larger than a USB-stick. Its memory consists of an internal micro-SD card rather than the nand more typical of these ARM dev boards.
The GK802 is prone to overheating due to its physical form. An external fan or heatsink is advisable.
It is likely that this rootfs will work on other similar Freescale devices, but this has not been tested.
CPU Information Processor : ARMv7 Processor rev 10 (v7l) processor : 0 BogoMIPS : 1988.29 processor : 1 BogoMIPS : 1988.29 processor : 2 BogoMIPS : 1988.29 processor : 3 BogoMIPS : 1988.29 Features : swp half thumb fastmult vfp edsp neon vfpv3 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x2 CPU part : 0xc09 CPU revision : 10 Hardware : Freescale i.MX6q Hi802/GK802 board Revision : 63011 Serial : 0000000000000000 boot.log |
The rootfs for the current version (3.1, optimized for Cortex-a9) can be had via this Dropbox link ;
The file is about 100M with md5sum 8218880f84baf...etc. It includes the kernel and modules for linux-imx6 kernel 3.10.17 which uses the more recent device tree binary dtb definitions. The rootfs will probably work on other imx6 devices (Wandboard etc.) IF the correct dtb is substituted for imx6q-gk802.dtb in the /boot partition with corresponding edits to the dtb reference in in /uEnv.txt.
The u-boot file u-boot.imx is available at Dropbox link
Prepare a microSD card of 4G or greater by first zeroing out the first 1M to eliminate any rubbish from earlier uses:
-> dd if=/dev/zero of=/dev/sc? bs=512 count=2047
Burn the u-boot file to your microSD card (get the correct sd? reference...contents will be destroyed!)
-> dd if=/mnt/sd?/boot/u-boot.imx of=/dev/sd? bs=1K seek=1 && sync
Then format the card with a single partition with fdisk or gparted and make an ext4 filesystem on the partition.
Finally, extract the above rootfs on the new partition /mnt/sd?1
-> tar xJvpf crux-arm-3pt1-rootfs-cortex-a9-1xi14.txz
Insert the finished microSD card in the internal slot of the GK802 and power the device. Access via SSH is available, as is HDMI video output
User and password are root:root and should be changed.
As usual for Crux, you may wish to edit /etc file hostname, rc.conf to match local circumstances and pkgmk.conf, prt-get.conf as you prefer; you may wish to copy /etc.orig in place of /etc to start from a default state.
The micro-SD card should be formatted in two partitions, (1) an ext4 starting at 2048 sectors of whatever size is wanted, and a (2) a swap partition of preferably at least 1G.
The u-boot files are from Jas-Hacks. u-boot-multi-boot.imx binary should be downloaded and then burned to the SD card with:
-> dd if=u-boot_multi_boot.imx bs=1k seek=1 of=/dev/<internal SD card device> && sync
The boot.scr file should be downloaded and copied to the first partition (under /).
The rootfs can be downloaded HERE; check its md5sum against the original. Size=67M.
The working kernel is uImage. Its md5sum should be checked against the original Size=3.8M.
The xz-compressed modules are HERE. Size=0.6M.
With the uImage and rootfs downloaded, expand the rootfs into the first partition using tar xJvpf. The uImage should be copied to /boot/uImage once the rootfs has been expanded in the partition. The modules archive should be decompressed (under /). Confirm that the modules are where they should be in /lib/modules/3.0.35-02708-g899792c.
The kernel is built from the imx6-dongle/linux-imx git repo Linux-3.0.35-02708-g899792c, here is the config.gz.
The individual packages in the rootfs are available for reference at HERE, check the md5sum against the original. Size=99M
The Jas-Hacks multiboot allows booting from the internal or external SD cards, or from a USB drive. Please see his post for alternative boot.scr files to support external SD cards or USB boot. However, with the downloaded boot.scr, the GK802 must be disassembled by removing the two screws next to the HDMI connector and sliding the board internals out. The micro-SD card is held in a latch-type receiver; lift the latch, swap out the card, and re-latch. Reassemble the unit being very careful not to dislodge the heat transfer pad from the CPU.
All packages compiled with: CFLAGS="-O2 -pipe -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=neon -mfloat-abi=hard"
We should setup all the important files: pkgmk.conf, prt-get.conf, inittab, fstab, rc.conf, net ...
Download /etc/fstab for internal SD card boot HERE
Download /etc/rc.d/net for ethernet dhcpcd connection HERE