I'm on debian and using a Transcend USB SD card adapter as recommended by Hardkernel - I've used it to program SD cards before (eg for Raspberry Pi) but don't think I've programmed an eMMC as these came pre-loaded.
I'm trying to install Arch using the ArchLinuxARM instructions of Odroid-U3. This seems to go as expected but it doesn't appear to boot at the first stage (eMMC instered into SD adapter in preparation for the final step.
I read elsewhere this can be an issue, and have followed the instructions for Odroid-U3, but it doesn't work: no HDMI signal on boot, blue LED solid on. I haven't tried a serial cable yet but this post (admittedly about the XU3 rather than U3) suggests that isn't going to work either so I want to check if you are aware of this issue, and if you have any suggestions. Thanks.
UPDATE: using a serial cable from a Windows machine I have a very primitive shell. I'm not sure what it is, but obviously it is not what I need (I can't execute the final commands to burn the eMMC boot for example). If I type "help" I get a list of commands, one of which is a memory dump. See below. It is clear that the eMMC is not quite as needed, although something is booting.
So I guess the issue is indeed some tweak needed to program a 64GB eMMC. Please advise if you can! Thanks.
Code: Select all
Odroid # sh HUSH_VERSION=0.01 Odroid # ls ls - list files in a directory (default /) Usage: ls <interface> [<dev[:part]> [directory]] - List files in directory 'directory' of partition 'part' on device type 'interface' instance 'dev'. Odroid # cd /boot Unknown command 'cd' - try 'help' Odroid # ls /home ** No device specified ** Odroid # md 0 00000000:data abort pc : [<bfe97bbc>] lr : [<bfe97b90>] reloc pc : [<43e4bbbc>] lr : [<43e4bb90>] sp : bae46d78 ip : 00000030 fp : 00000000 r10: 00000000 r9 : bae4aeb0 r8 : 00000004 r7 : 00000000 r6 : 00000004 r5 : 00000004 r4 : 00000040 r3 : 00000000 r2 : bae4b118 r1 : bae46d8c r0 : 00000009 Flags: nZCv IRQs off FIQs off Mode SVC_32 Resetting CPU ... resetting ... U-Boot 2016.03-1 (Mar 27 2016 - 09:14:44 -0600) Arch Linux ARM CPU: Exynos4412 @ 1 GHz Model: Odroid based on Exynos4412 Board: Odroid based on Exynos4412 Type: u3 DRAM: 2 GiB LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling LDO21@TFLASH_2.8V: set 2800000 uV; enabling MMC: SAMSUNG SDHCI: 0, EXYNOS DWMMC: 1 *** Warning - bad CRC, using default environment Net: No ethernet found. Hit any key to stop autoboot: 0 starting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found scanning usb for ethernet devices... 0 Ethernet Device(s) found switch to partitions #0, OK mmc0(part 0) is current device mmc found on device 0 Checking for: /boot/uEnv.txt ... Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** No kernel found Card did not respond to voltage select! USB device 0: unknown device Odroid # df dfu - Device Firmware Upgrade Usage: dfu <USB_controller> <interface> <dev> [list] - device firmware upgrade via <USB_controller> on device <dev>, attached to interface <interface> [list] - list available alt settings Odroid # help ? - alias for 'help' base - print or set address offset bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootelf - Boot from an ELF image in memory bootm - boot application image from memory bootp - boot image via network using BOOTP/TFTP protocol bootvx - Boot vxWorks from an ELF image bootz - boot Linux zImage image from memory cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation dcache - enable or disable data cache dfu - Device Firmware Upgrade dhcp - boot image via network using DHCP/TFTP protocol dm - Driver model low level access echo - echo args to console editenv - edit environment variable env - environment handling commands erase - erase FLASH memory exit - exit script ext2load- load binary file from a Ext2 filesystem ext2ls - list files in a directory (default /) ext4load- load binary file from a Ext4 filesystem ext4ls - list files in a directory (default /) ext4size- determine a file's size ext4write- create a file in the root directory false - do nothing, unsuccessfully fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) fatsize - determine a file's size fatwrite- write file into a dos filesystem fdt - flattened device tree utility commands flinfo - print FLASH memory information fstype - Look up a filesystem type go - start application at address 'addr' gpio - query and control gpio pins gpt - GUID Partition Table help - print command description/usage i2c - I2C sub-system icache - enable or disable instruction cache iminfo - print header information for application image itest - return true/false on integer compare load - load binary file from a filesystem loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loadx - load binary file over serial line (xmodem mode) loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range ls - list files in a directory (default /) md - memory display mii - MII utility commands mm - memory modify (auto-incrementing address) mmc - MMC sub system mmcinfo - display MMC info mw - memory write (fill) nm - memory modify (constant address) part - disk partition related commands ping - send ICMP ECHO_REQUEST to network host pmic - operations printenv- print environment variables protect - enable or disable FLASH write protection pxe - commands to get and boot from pxe files regulator- uclass operations reset - Perform RESET of the CPU run - run commands in an environment variable save - save file to a filesystem saveenv - save environment variables to persistent storage setenv - set environment variables setexpr - set environment variable as the result of eval expression showvar - print local hushshell variables size - determine a file's size source - run script from memory sysboot - command to get and boot from syslinux files test - minimal test like /bin/sh tftpboot- boot image via network using TFTP protocol thordown- TIZEN "THOR" downloader true - do nothing, successfully ums - Use the UMS [USB Mass Storage] usb - USB sub-system usbboot - boot from USB device version - print monitor, compiler and linker version