How to configuring an Android image for i.MX53 onto microSD

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to configuring an Android image for i.MX53 onto microSD

4,391 Views
brahman_river
Contributor I

I'm now configuring an Android image on Sundisk microSD for i.MX53 Quick Start Kit, referring to i.MX_Android_R9.4_User_Guide.html in the i.MX53-QSB-Android-Release3.3 package, and I'm troubled with unsuccessful booting from the microSD card. When i.MX53 Quick Start Kit is powered on with the card, even u-boot doesn't boot up and no messages appear on serial console.

I'm doing all configurations on Ubuntu Linux with the i.MX53 Quick Start Kit.


The partition is configured to be as follows.

----------------------------------------------------------

Device                Boot      Start         End         Blocks     Id       System

/dev/mmcblk1p1                 321       64320     2048000   83         Linux

/dev/mmcblk1p2              64321       77120      409600   83          Linux

/dev/mmcblk1p3              77121       90560      430080    5     Extended

/dev/mmcblk1p4              90561       91840       40960   83          Linux

/dev/mmcblk1p5              77121       89920      409592   83         Linux

/dev/mmcblk1p6              89921       90560       20472    83          Linux

----------------------------------------------------------


After creating those partitions, I formatted each file systems as follows.

----------------------------------------------------------

mkfs.vfat /dev/mmcblk1p1
mkfs.ext4 /dev/mmcblk1p2 -O ^extent -L system
mkfs.ext4 /dev/mmcblk1p4 -O ^extent -L recovery
mkfs.ext4 /dev/mmcblk1p5 -O ^extent -L data
mkfs.ext4 /dev/mmcblk1p6 -O ^extent -L cache

----------------------------------------------------------


I used dd utility to download the Android image files, according to Section 3.2.3 in the above mentioned users guide. I executed each command after moving to i.MX53-QSB-Android-elease3.3/download/imx-android-r9.4/image/imx53_smd directory.

----------------------------------------------------------

dd if=u-boot.bin of=/dev/mmcblk1 bs=1K skip=1 seek=1; sync
dd if=uImage of=/dev/mmcblk1 bs=1M seek=1; sync
dd if=SD/uramdisk.img of=/dev/mmcblk1 bs=1M seek=6; sync
dd if=SD/system.img of=/dev/mmcblk1p2; sync
dd if=SD/recovery.img of=/dev/mmcblk1p4; sync

----------------------------------------------------------

I suspect that the above dd command parameters have something to do with this failure to boot up. For example, "seek" parameters are same between the first command (u-boot.bin) and the second commands (uImage), so it seems that uImage could overwrite the u-boot.bin.

 

Has anyone followed this Users Guide and come across the similar issue?

Tags (1)
0 Kudos
20 Replies

2,995 Views
brahman_river
Contributor I

The invalid command errors seem to disappear. But I've not ever seen the below errors.

 

============================================================

UBIFS error (pid 1): ubifs_get_sb: cannot open "ubi0:system", error -19

UBIFS error (pid 1): ubifs_get_sb: cannot open "ubi0:data", error -19

UBIFS error (pid 1): ubifs_get_sb: cannot open "ubi0:cache", error -19

init: Unable to open persistent property directory /data/property errno: 2

init: cannot find '/system/bin/sh', disabling 'console'

init: cannot find '/system/bin/servicemanager', disabling 'servicemanager'

init: cannot find '/system/bin/vold', disabling 'vold'

init: cannot find '/system/bin/netd', disabling 'netd'

init: cannot find '/system/bin/dispd', disabling 'dispd'

init: cannot find '/system/bin/debuggerd', disabling 'debuggerd'

init: cannot find '/system/bin/app_process', disabling 'zygote'

init: cannot find '/system/bin/mediaserver', disabling 'media'

init: cannot find '/system/bin/dbus-daemon', disabling 'dbus'

init: cannot find '/system/bin/installd', disabling 'installd'

init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'

init: cannot find '/system/bin/keystore', disabling 'keystore'

init: cannot find '/system/bin/rild', disabling 'ril-daemon'

============================================================

 

Does anyone have an idea?

 

Best Regards,

Takashi Kawamoto

0 Kudos

2,995 Views
LucasDonaiSfalc
Contributor II

hi Takashi, i replace 2 files, and dont start android

init erros in final log. i have to run only this script? (flash_prebuild_android.sh)

tnks.

0 Kudos

2,994 Views
brahman_river
Contributor I

Hi Lucas,

 

Sorry, I'm also not sure what is different among them.

I've not yet used any display with i.MX53 QSB, so I don't have idea of the configuration on u-boot.

Do you have a newer console log? I expect the invalid command errors has been removed.

 

Best Regards,

Takashi Kawamoto

0 Kudos

2,994 Views
LucasDonaiSfalc
Contributor II

hi Takashi, i change this 2 files and don't run android :-(, i recording this files system.img and uramdisk.img from "imx50_rdp-lcd" what is difference from others? imx50_rdp-eink, imx51_bbg, imx53_ard, imx53_smd.

you know configure u-boot to start of video vga?

is possible that this erro is because i try boot from a video vga?

 

Tnks, for your patience. :-)

0 Kudos

2,994 Views
brahman_river
Contributor I

Hi Lucas,

 

As long as I see the log, you seem to come across the same problem as have done just before.

Could you trace this forum back, especially my posting on June 5, 8, 9.

 

You will be able to make your Android by replacing 2 files, system.img and uramdisk.img with those in the newest i.MX Android Package (r10). I'm not still sure why this could be effective...

 

[i.MX53 Android 10.2 Source Code]

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53_SW

 

You will still see your Android hang up after around 1 minute from booting up, which seems to be due to its power save function. This can be prevented by executing "echo test > /sys/power/wake_lock".

 

Best Regards,

Takashi Kawamoto

0 Kudos

2,994 Views
LucasDonaiSfalc
Contributor II

hi Takashi, thank you for your help, i can see uboot begin now :-) but, android dont start.

i'm using minicom (serial aplication) to view uboot, and i can't see in my monitor (vga), i dont have touchscreen :-(. only monitor vga.

u can halp-me? tnks.


0 Kudos

2,995 Views
brahman_river
Contributor I

Hi Lucas,

 

Have you already got an Android binary image from Adeneo Embedded website?

 

If not, you could get it from the following page (i.MX53_Android Binary Image)

You need to in progress register yourself to get it.

http://www.adeneo-embedded.com/en/Products/Board-Support-Packages/Freescale-i.MX53-QSB

 

The downloaded file contains another archive file named i.MX53-QSB-Android-Release3.3.tar.gz.

You will find "flash_prebuilt_android.sh" in "scripts" directry.

0 Kudos

2,995 Views
XXiao1z
Contributor III
get it from Adeneo folks, email them
0 Kudos

2,995 Views
LucasDonaiSfalc
Contributor II

Takashi Kawamoto, where i find this screept? "flash_prebuilt_android.sh"

i have i.mx53 and dvd, but, dont have this script nowhere.

thks.

0 Kudos

2,995 Views
XXiao1z
Contributor III
use adb to push your new init.rc to replace the old one, then reboot, without rebuilding everything.
0 Kudos

2,995 Views
brahman_river
Contributor I

I've just found that executing the following command could prevent Android from getting into the suspended state.

---------------------------------------------------

echo test > /sys/power/wake_lock

---------------------------------------------------

I want to add this command to init.rc or anything else that can be executed when Android booting up, but it seems that even vi is unavailable with this image. Is there no way but to connect LCD and configure the system via it?

0 Kudos

2,995 Views
brahman_river
Contributor I

Thank you :)

I will find how to change the parameter.

0 Kudos

2,994 Views
XXiao1z
Contributor III
you can change timeout to 30 minutes after android is running, i failed to find a way of doing it in the shell though changing it in android's UI is fine. It's related to the way android handles its power management.
0 Kudos

2,994 Views
brahman_river
Contributor I

Hi Xiao,

 

Thanks for your comment.

 

What you mentioned is about rebooting method, isn't it?

I made sure pressing this button enabled rebooing. Thank you :)

 

Do you have any idea about the cause of the hangup?

I'm thinking I also have to replace the uImage by one in the newest package (R10). I will try.

 

Best Regards,

Takashi Kawamoto

0 Kudos

2,994 Views
XXiao1z
Contributor III
press down the 'power button' for about 5 seconds until the LEDs change color, then release the button, that's the normal way to shut down a board like this.
0 Kudos

2,994 Views
brahman_river
Contributor I

I've been through some trials and errors and finally managed to make the user prompt appear, replacing system.img and uramdisk.img in the newest I.MX Android package (R10).

 

After the user prompt appears, however, the following log was emitted and it results in system hang-up.

--------------------------------------------------------------------------------------------------------------------------------------

request_suspend_state: mem (0->3) at 75895735876 (1970-01-02 00:01:06.103709374 UTC)

PM: Syncing filesystems ... done.

Freezing user space processes ... (elapsed 0.01 seconds) done.

Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.

Suspending console(s) (use no_console_suspend to debug)

 

 

--------------------------------------------------------------------------------------------------------------------------------------

Both push buttons on the i.mx53 QSB doesn't recover the system when the above appears.

 

The entire log from powering up is attached. (hanguo_110608.txt)

 

Have anyone come across such a freeze?

0 Kudos

2,995 Views
brahman_river
Contributor I

Hi, Jesse.

 

Thanks for your prompt response :)

 

I've not connected any touch screen to the board yet, just connected a RS-232C cable.

When I executed flash_prebuilt_android.sh, I just tried to execute that and didn't add any arguments.

Is there any appropriate arguments required for this script?

 

Best Regards,

Takashi Kawamoto

0 Kudos

2,995 Views
JesseDannenbrin
Contributor I

Hi Takashi,

 

Your boot logs seem to indicate that the device is booting properly, I don't see any blocking errors. You are using the default bootloader arguments so I'm assuming you are using the MCIMX28LCD? 

 

If you are, that touchscreen goes through calibration which requires user input before proceeding to the Android home screen. This is an all-black screen with a single white cross that indicates the calibration touch location to press. Is this calibration screen being displayed?

 

Regards,

Jesse Dannenbring

Takashi Kawamoto said:

Hi,

 

Thanks to your advice, I managed to run Android kernel.

However, some initializing process seems to fail, and therefore a login prompt never appears.

 

The attached file "booting_Android_110606.txt" is the log on booting.

I found in this log the following some lines that can have something to do with the possible cause.

-----------------------------------------------------------------------------------------------------------------

init: /init.freescale.rc: 20: invalid command 'android.keylayout.gpio-keys'

init: /init.freescale.rc: 20: invalid command 'android.keychar.gpio-keys'

init: cannot open '/initlogo.rle'

-----------------------------------------------------------------------------------------------------------------

 

FYI, I also attached another file "flash_prebuilt_android_result.txt", which includes entire logs when flash_prebuilt_android.sh was executed.

 

If you (or anyone) find out anything, could you tell me that?



X Xiao said:

untar your android package, then:

cd scripts

./flash_prebuilt_android.sh /dev/your-sd-card

 

the scripts included worked well for me.

0 Kudos

2,995 Views
brahman_river
Contributor I

Hi,

 

Thanks to your advice, I managed to run Android kernel.

However, some initializing process seems to fail, and therefore a login prompt never appears.

 

The attached file "booting_Android_110606.txt" is the log on booting.

I found in this log the following some lines that can have something to do with the possible cause.

-----------------------------------------------------------------------------------------------------------------

init: /init.freescale.rc: 20: invalid command 'android.keylayout.gpio-keys'

init: /init.freescale.rc: 20: invalid command 'android.keychar.gpio-keys'

init: cannot open '/initlogo.rle'

-----------------------------------------------------------------------------------------------------------------

 

FYI, I also attached another file "flash_prebuilt_android_result.txt", which includes entire logs when flash_prebuilt_android.sh was executed.

 

If you (or anyone) find out anything, could you tell me that?



X Xiao said:

untar your android package, then:

cd scripts

./flash_prebuilt_android.sh /dev/your-sd-card

 

the scripts included worked well for me.

0 Kudos

2,995 Views
XXiao1z
Contributor III

untar your android package, then:

cd scripts

./flash_prebuilt_android.sh /dev/your-sd-card

 

the scripts included worked well for me.

0 Kudos