Platform forum

iMX6 Rex Pro - booting Android 7.1 from SATA

tjose93 , 05-03-2018, 11:07 AM
setenv machid 12a9Hello Mr. Feranec and community,

I am evaluating a prototype board that is based on the iMX6 Rex module core design, with a Quad processor. I would like to get the Android 7.1 image provided on Voipac booting on this board from SATA, as we do not have working SD slot on this prototype (an oversight which will be corrected next time around). Goal is to see if I can drive an LVDS display with Android.

I have been trying to follow a combination of both write-ups below, though I am tripping because of a couple reasons. For context, I am starting on u-boot-imx6-rexpro-2.4.imx, which I have put on SPI flash and my board is fused to boot from the SPI flash (similar setup as the shipped module)


1) I wonder if the script vpac-sdcard-partition.sh on Voipac can correctly create the partitions on a SATA SSD as opposed to an SD card. For me, it creates 7 partitions when I use an SD card, and 12 partitions when I do it on a SATA drive. There are no apparent problems in the process, however I can't be sure until I can successfully boot off the SSD.

2) In the part where you do the following....

mw.l 0x020d8040 0x3040; mw.l 0x020d8044 0x10000000; reset

setenv machid 12a9

setenv bootargs console=ttymxc0,115200 init=/init video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB666 video=mxcfb1ff video=mxcfb2ff fbmem=28M vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale

booti mmc1
What is the mw.l step then reset doing? Second, "booti" does not appear to be an included command in the uBoot. I assume it is supposed to reset and boot from the MMC1 device, though in my case I would want to do Sata 0. In any case though, booti does not seem to be included in u-boot-imx6-rexpro-2.4.imx?

I appreciate any help and insights! Thank you!

robertferanec , 05-03-2018, 06:43 PM
1) I do not know if the VOIPC script is creating your SATA correctly. But once you are in uBoot (which you have in SPI), you do not need anything special and you can basically boot from any interface/device. I have not been working much with Android, but for standard Linux, you can simply copy kernel from SATA hdd and boot up your board. Just use FAT formatted partition to store kernel and use standard uBoot commands to initialize SATA and copy the file. This may be helpful: http://www.imx6rex.com/open-rex/soft...system/#copied

2) That line looks to me like one of these "magic" commands which will enable you to pretend that you are booting from a different peripheral than it is set by FUSES. We use these usually only for testing (e.g. if our FUSE is set to SPI, but we would like to try to emulate booting from SD). Here you can find a little bit more info, maybe it can be useful for you: http://www.fedevel.com/designhelp/fo...tiny-rex-uboot

PS: Each uboot may be compiled with a little bit different command set + they may have different settings / scripts / environmental variables. You may need to adjust yours (means do some changes in source code).

Use our interactive Discord forum to reply or ask new questions.
Discord invite
Discord forum link (after invitation)

Didn't find what you were looking for?