Skip to content

Booting a Tolino Shine from SD

Jonathan Neuschäfer edited this page Apr 1, 2019 · 1 revision
  • Connect wires and a UART to the serial port near the i.MX SoC (marked TX/RX/GND).
  • To enter the u-boot shell, hold a key (space, for example) while booting the machine. You can now run u-boot commands:
eBR-1A # printenv
bootdelay=1
baudrate=115200
loadaddr=0x70800000
netdev=eth0
ethprime=FEC0
uboot=u-boot.bin
kernel=uImage
nfsroot=/opt/eldk/arm
bootargs_base=setenv bootargs console=ttymxc0,115200
bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
bootcmd_net=run bootargs_base bootargs_nfs; tftpboot ${loadaddr} ${kernel}; bootm
bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp root=/dev/mmcblk0p2 rootwait
bootcmd_mmc=run bootargs_base bootargs_mmc; bootm
rd_loadaddr=0x70D00000
bootcmd_SD=mmc read 0 ${loadaddr} 0x800 0x2000; mmc read 0 ${rd_loadaddr} 0x3000 0x300;
bootcmd=run bootcmd_SD; bootm ${loadaddr} ${rd_loadaddr}
bootargs=console=ttymxc0 init=/init androidboot.console=ttymxc0 keypad video=mxc_elcdif_fb:off calibration
stdin=serial
stdout=serial
stderr=serial

Environment size: 808/131068 bytes
  • Unlike on the Kobo Aura, the SoC stays powered without poking the EC
  • Prepare a micro-SD card by writing a kernel in zImage format at offset 0x100000 (1MiB), and plug it into the device. To avoid overwriting the root filesystem, do not write further than offset 0xf00000 on the card. This leaves 14 MiB of space for the kernel.
  • You can manually boot your external kernel with the following command:
mmc read 1 0x70800000 0x800 0xe000; echo done; run bootargs_base; go 0x70800000
  • After verifying that the above works, overwrite the bootcmd_recovery command:
setenv bootargs_android_recovery 'mmc read 1 0x70800000 0x800 0xe000; echo done; run bootargs_base; go 0x70800000'
saveenv