AnsweredAssumed Answered

booting android in normal world: imx53 sabre

Question asked by Rijurekha Sen on Nov 11, 2016
Latest reply on Nov 22, 2016 by igorpadykov

Hi,

I am using an IMX53 Sabre tablet, and can run the Genode demo.

 

I need to reduce the TCB as much as possible, so ran the bare-bone kernel

examples at https://github.com/finallyjustice/imx53qsb-code. For these,

$make gave a kernel.imx which I wrote with dd to SD card. On power up, the

board booted and ran the secure world code, and toggled with normal world,

based on the program logic. There was no separate u-boot for these.

 

I now need to boot android in NW, from the bare-bone kernel.imx in SW. I

have the android images, the linux kernel uImage and u-boot.bin. Also,

there is an android image in the e-mmc of the tablet, which the genode

demo used.

 

Can someone explain to me what I need to do - to boot android in NW from

the bare-bone kernel in SW?

(a) According to

http://stackoverflow.com/questions/31589143/boot-linux-in-normal-world,

https://community.nxp.com/thread/308152,

https://community.nxp.com/thread/300696, I need to set some registers. I

can see at

https://github.com/finallyjustice/liboot-tz/blob/master/u-boot/arch/arm/lib/tz-secure.c,

how to do that.

 

(b) Should I then write the kernel.imx of the compiled bare-bone program

to SD card, followed by the android images, using dd with seek? The i.MX

Android R10.4 User Guide partitioned the SD card into 5 partitions for

data/boot/system/recovery etc. To boot android in NW, will the SD card

need similar formatting and copying of files, and kernel.imx before that?

Is there a way to not put the android image in the SD card, and instead

load it from e-mmc?

 

(c)

http://stackoverflow.com/questions/29898139/load-two-kernel-images-using-u-boot

uses tftp to copy the image at the specified RAM locations, but how can I

load the android image from the SD card/ emmc to a particular RAM

location? I used ext2load mmc 0:1 0x70800000 image.bin for the genode

demo. So here, will I need u-boot to load the kernel.imx and the android

image to two separate addresses, start the kernel.imx with u-boot go, and

then the "ldr pc, =android address" asm command followed by world switch

will boot android?

 

Thanks!

Riju

Outcomes