Difference between MCIMX53-START and MCIMX53-START-R

cancel
Showing results for 
Search instead for 
Did you mean: 

Difference between MCIMX53-START and MCIMX53-START-R

966 Views
brahman_river
Contributor I

Hi All,

I have a question about image configuration for MCIMX53-START-R.

I've been working Android with MCIMX53-START, and I'm now trying to work it on MCIMX53-START-R, but the Android system doesn't start running.

Firstly I've just tried to use the Android microSD with MCIMX53-START-R, but there is no console log omitted and even u-boot doesn't run. On the other hand, I also tried use the Ubuntu microSD packed in MCIMX53-START-R with MCIMX53-START, and the system can weirdly successfully boot up.

I've anyway copied MBR and u-boot of the Ubuntu microSD to the Android's microSD, and u-boot could barely run. Then I arranged the partitions of the microSD with fdisk as the original Android's one was cofigured. (6 partitions in total) However, when QSB is turned on, kernel doesn't boot up, omitting the following log.

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

MMC read: dev # 0, block # 2048, count 6144 ... 6144 blocks read: OK
## Booting kernel from Legacy Image at 70800000 ...
Image Name: Linux-2.6.35.3-01073-g813d2d6-di
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3269184 Bytes = 3.1 MB
Load Address: 70008000
Entry Point: 70008000
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
MX53-LOCO U-Boot >

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

Does anyone know how to configure the Android image for MCIMX53-START-R?

Best Regards,

Takashi Kawamoto

Labels (1)
0 Kudos
14 Replies

426 Views
rlorriaux
Contributor I

In that case, you should not see the warnings about USB. Can you try building again using the default kernel configuration?

0 Kudos

426 Views
brahman_river
Contributor I

Hi,

Thanks for your prompt comment. I'm using r4_2.

Best Regards,

Takashi Kawamoto

0 Kudos

426 Views
rlorriaux
Contributor I

Hi,

It looks like you might be using an incorrect configuration for your kernel. You normally should not see the warnings about USB errors. There might be other issues as well, preventing you from booting. I can also tell that the MC34708 PMIC has not been detected, so you will experience power issues.

Are you using the binaries that are part of the release or did you generate them yourself? Can you try to use release r4.2?

Best regards,

Remi Lorriaux - Adeneo Embedded

0 Kudos

426 Views
brahman_river
Contributor I

When using a set of Android binary accuired from Adeneo for MCIMX53-START-R, There are some initialization errors, as seen in attached log file.

The most significant trouble is that IP address cannot be assigned to eth0.

Has anyone experienced same as me?

Best Regards,

Takashi Kawamoto

0 Kudos

426 Views
brahman_river
Contributor I

I've made it by setting an u-boot parameter as "setenv set_display 'run vga'".

Thank you all.

Best Regards,

Takashi Kawamoto

0 Kudos

426 Views
brahman_river
Contributor I

Thank you. I understand the boot architecture. 

As long as I see in "out" directory of Freescale Android source tree, the init doesn't exist there as well as init.rc after building the system image. So I guess the init should be automatically generated as a file and located at root directory when kernel boots up. But I'm not sure what to do...

0 Kudos

426 Views
DonaldR_PooleJr
Contributor I

That kernel panic message is indicating that it can't find a /bin/init, /sbin/init, /etc/init or /bin/sh within your rootfs.  I would check to make sure you are mounting the correct rootfs, if you have multiple rootfs on your card, or make sure that the roofs that you are mounting has one (or all) of those init binaries/scripts available.

To give a little insight, you can looked at the static noinline init_post() function (this is the method that is being called when the kernel is initializing the kernel userspace) within the init/main.c source of the 2.6.35.3 kernel source tree.

0 Kudos

426 Views
brahman_river
Contributor I

Exactly as you mentioned, just correcting root parameter enables mounting rootfs. Thank you.

Unfortunately, however, another kernel panic appears that says init is not found anywhere as seen in the attached console log. 

------------------------------------------------------------------------------
EXT4-fs (mmcblk0p2): recovery complete
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext2 filesystem) on device 179:2.
Freeing init memory: 196K
Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
[<8003e578>] (unwind_backtrace+0x0/0xf0) from [<8046e880>] (panic+0x6c/0xe0)
[<8046e880>] (panic+0x6c/0xe0) from [<800395a0>] (init_post+0xac/0xd4)
[<800395a0>] (init_post+0xac/0xd4) from [<800084a4>] (kernel_init+0x124/0x168)
unwind: Unknown symbol address 800084a4
unwind: Index not found 800084a4
------------------------------------------------------------------------------

I tried to explicitly define init parameter as "/init" on u-boot, but it made no sense.

Best Regards,

Takashi Kawamoto

0 Kudos

426 Views
DonaldR_PooleJr
Contributor I

Looking at the log you posted, the garbled output after the "Starting Kernel..." message is concerning, but it looks like the bootloader/kernel corrected itself and began displaying messages properly.  The kernel panic at the end of the log file seems to be indicate that it can't find the rootfs.  How is the kernel boot command defined in u-boot?  Is it pointing to the correct device and parition where your rootfs is located?  I know for my microSD configuration with only one partition, my boot command looked like this within u-boot:

  • bootargs_mmc=set bootargs ${bootargs} root=/dev/mmcblk0p1 rw rootwait


Where root was pointing to the first partition (p1), which contained my rootfs, on the microSD (/dev/mmcblk0).  I'm sure you are already familiar with the various boot parameters, but I'm just explaining it here to be thorough.

Regards,

Donald R. Poole, Jr.

0 Kudos

426 Views
brahman_river
Contributor I

Thanks to your advice, I've managed to boot up kernel by changing the read count.

As seen in the attached console log, however, a kernel panic occurs due to mount rootfs.

I will further investigate if my system image is surely written at the correct address.

If you find something incorrect in the log, please tell me.

Best Regards,

Takashi Kawamoto

0 Kudos

426 Views
DonaldR_PooleJr
Contributor I

That is puzzling. I would try making the read count larger.  So, instead of a read count of 0x1800 (6144), try a read count of 0x2000 (8192).  Usually when I receive checksum errors like that it's because I wasn't reading in enough blocks, which resulted in only part of the kernel being loaded.

0 Kudos

426 Views
brahman_river
Contributor I

Thank you.

I made sure that the following option were enabled.

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

CONFIG_REGULATOR_MC34708=y
CONFIG_MXC_PMIC_MC34708=y
CONFIG_MXC_MC34708_ADC=y
CONFIG_MXC_MC34708_RTC=y
CONFIG_MXC_MC34708_BATTERY=m

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

I think the main cause is checksum error, but I can't understand why this error is specific to the MCIMX53-START-R.

I've got completely lost...

0 Kudos

426 Views
DonaldR_PooleJr
Contributor I

The main difference that I can tell between the two boards is that the MCIMX53-START-R uses the MC34708 Power Management Integrate Circuit (PMIC) and the MCIMX53-START uses the Dialog DA9053 PMIC.  The kernel needs to be configure to work with one (or both) of these hardware devices.  I think you are experiencing boot problems because your kernel doesn't know how to interface to the MC34708 PMIC since it doesn't have the drivers compiled to support the device. Likewise, u-boot might not have adequate support for the MC34708 either.

Those are my thoughts

0 Kudos

426 Views
rlorriaux
Contributor I

Hi,

There is nothing special to do, besides using Adeneo's release r4.2. From what I can tell, it looks like your kernel image has been incorrectly flashed or built since U-Boot fails to load it.

Remi Lorriaux - Adeneo Embedded

0 Kudos