How to build a unique SDK for custom board by i.MX6 Android BSP.

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

How to build a unique SDK for custom board by i.MX6 Android BSP.

Jump to solution
7,561 Views
satoshishimoda
Senior Contributor I

Hi community,

 

I have a question about i.MX6DL Android BSP (jb4.3_1.1.0-ga).

Our partner tried sdk buiding by following procedure, but it failed with the attached error log.

 

[Procedure]

1. Do the procedure from chapter 2.1 to 3.2 written in Android User's Guide (Rev jb4.3_1.1.0).

2. Execute the following command.

make sdk -j4

 

 

Actually, our partner should provide a unique SDK for custom bord to a application software vendor.

You know Google releases Android SDK, but it is not used for the custom board because the Android framework expansion is required in this case.

Then, please see my request as below.

 

 

[Q]

Could you let me know how to avoid this error?

And if there is other method to prepare unique SDK, could you let me know it, too?

 

 

Best Regards,

Satoshi Shimoda

Original Attachment has been moved to: sdk_log.txt.zip

Labels (1)
Tags (1)
0 Kudos
1 Solution
3,270 Views
JayTu
NXP Employee
NXP Employee

Hi Satoshi,

I decide to make patches for this and will push the code to our default release. You can refer to the patches in attachment.

View solution in original post

0 Kudos
42 Replies
3,271 Views
JayTu
NXP Employee
NXP Employee

Hi Satoshi,

I decide to make patches for this and will push the code to our default release. You can refer to the patches in attachment.

0 Kudos
1,947 Views
satoshishimoda
Senior Contributor I

Hi Jay Tu,

To make sure, could you reply to the following questions?

[Q1]

I think I should apply the patches without the following modifications, is this right?

=====

1.

-LOCAL_MODULE_CLASS := ETC

+LOCAL_MODULE_CLASS := ETC_WPA

2.

-LOCAL_MODULE_CLASS := ETC

+LOCAL_MODULE_CLASS := ETC_DHCPCD

3.

libnetlink \

     libnetutils \

-    libreference-ril \

     libreverbwrapper \

     libril \

=====

[Q2]

To accommodate your and our environment to apply the patches, could you let me know the directory and command?

The following understanding is correct?

=====

0001-ENGR00309037-Fix-sdk-build-fail.patch :

directory :  external/wpa_supplicant_8

command : patch -p1 < 0001-ENGR00309037-Fix-sdk-build-fail.patch

0001-ENGR00309037-1-Fix-sdk-build-fail.patch :

directory : hardware/ril

command : patch -p1 < 0001-ENGR00309037-1-Fix-sdk-build-fail.patch

=====

Best Regards,

Satoshi Shimoda

0 Kudos
1,947 Views
JayTu
NXP Employee
NXP Employee

Q1: Yes

Q2: git am xxx.patch

0 Kudos
1,947 Views
satoshishimoda
Senior Contributor I

Thank you for quick response.

But sorry, I don't understand how to use "git am" command.

Should I execute it on appropriate directory?

Or can I execute it on any directory?

Best Regards,

Satoshi Shimoda

0 Kudos
1,947 Views
JayTu
NXP Employee
NXP Employee

You need execute it on appropriate directory.

0 Kudos
1,947 Views
satoshishimoda
Senior Contributor I

The appropriate directories are following?


0001-ENGR00309037-Fix-sdk-build-fail.patch

=> external/


0001-ENGR00309037-1-Fix-sdk-build-fail.patch

=> hardware/ril

0 Kudos
1,947 Views
JayTu
NXP Employee
NXP Employee

0001-ENGR00309037-Fix-sdk-build-fail.patch

=> external/wpa_supplicant_8


0001-ENGR00309037-1-Fix-sdk-build-fail.patch

=> hardware/ril

1,947 Views
satoshishimoda
Senior Contributor I

Hi Jay Tu,

I tested the patches.

Unfortunately, build was failed with the following error even though I checked the patches were applied certainly before building, and tried build without the above three modifications.

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

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=4.3

TARGET_PRODUCT=sdk

TARGET_BUILD_VARIANT=eng

TARGET_BUILD_TYPE=release

TARGET_BUILD_APPS=

TARGET_ARCH=arm

TARGET_ARCH_VARIANT=armv7-a

TARGET_CPU_VARIANT=generic

HOST_ARCH=x86

HOST_OS=linux

HOST_OS_EXTRA=Linux-2.6.38-16-generic-x86_64-with-Ubuntu-11.04-natty

HOST_BUILD_TYPE=release

BUILD_ID=JSS15J

OUT_DIR=out

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

Checking build tools versions...

build/core/base_rules.mk:130: *** hardware/realtek/wlan/config: MODULE.TARGET.ETC.dhcpcd.conf already defined by hardware/qcom/wlan/qcwcn/config.  Stop.

Best Regards,

Satoshi Shimoda

0 Kudos
1,947 Views
JayTu
NXP Employee
NXP Employee

Please find the patch, it had new realtek driver and config directory is removed. So the error isn't shown on my environment.

Procedures

  1. cd hardware/realtek
  2. git am 0001-ENGR00290615-Wifi-enable-wifi-on-KK4.4.patch
0 Kudos
1,947 Views
satoshishimoda
Senior Contributor I

After I copied version.h from jb4.2.2_1.1.0, the error seems be resolved, but a new error was occurred as attached.

How avoid this error?

Best Regards,

Satoshi Shim

0 Kudos
1,948 Views
JayTu
NXP Employee
NXP Employee

javadoc: command not found

You can check if you have javadoc command, should be in your jdk folder.

0 Kudos
1,949 Views
satoshishimoda
Senior Contributor I

Hi Jay Tu,

I have installed javadoc as the attached image with How to install Sun's JDK in Ubuntu for Android build.

SR0598~D.PNG.png

However, the javadoc error was occurred.

Then, the error was resolved after the following command.

export PATH=$PATH:/opt/java/64/jdk1.6.0_45/

The build  result was the following image.

I think build was finished correctly, do you think so?

SUR1XA~L.PNG.png

0 Kudos
1,949 Views
JayTu
NXP Employee
NXP Employee

Yes, I think so.

0 Kudos
1,947 Views
satoshishimoda
Senior Contributor I

After apply the patch, the error was not occurred.

However, the version.h error I mentioned the above was occurred again even though I remade a build environment with Android User's Guide (Rev.jb4..3_1.1.0).

So I copied version.h from jb4.2.2_1.1.0.

Do you think this is appropriate solution?

Best Regards,

Satoshi Shimoda

0 Kudos
1,947 Views
satoshishimoda
Senior Contributor I

Hi Jay Tu,

Thank you for releasing the patches.

I will check sdk build with them.

Just a moment, please?

Best Regards,

Satoshi Shimoda

0 Kudos
1,949 Views
JayTu
NXP Employee
NXP Employee

Try:

lunch sdk-eng

make sdk

1,949 Views
satoshishimoda
Senior Contributor I

Hi Jay Tu,

I got a report from our partner.

Unfortunately, "make sdk" stopped with the attached log even though they added "lunch sdk-eng" before "make sdk".

Could you let me know what should they check next?

For your information, the partner execute "source build/envsetup.sh" before this sdk build as below.

$ source build/envsetup.sh

$ lunch sdk-eng

$ make sdk -j4

Best Regards,

Satoshi Shimoda

0 Kudos
1,949 Views
JayTu
NXP Employee
NXP Employee

So now your error is different,

build/core/base_rules.mk:130: *** external/wpa_supplicant_8/wpa_supplicant: MODULE.TARGET.ETC.wpa_supplicant.conf already defined by external/wpa_supplicant_8/wpa_supplicant.  Stop.

It's because wpa_supplicant.conf is defined twice.

0 Kudos
1,949 Views
satoshishimoda
Senior Contributor I

Hi Jay Tu,

Thank you for your reply.

I understand what is mentioned the error message.

Then, could you how to avoid this error?

I did 'grep -r "wpa_supplicant.conf" .' on external/wpa_supplicant_8/wpa_supplicant directory, but I did not understand what line should I comment out because a lots of lines include "wpa_supplicant.conf".

Best Regards,

Satoshi Shimoda

0 Kudos
1,949 Views
JayTu
NXP Employee
NXP Employee

In external/wpa_supplicant_8/wpa_supplicant, Android.mk and wpa_supplicant_conf.mk both had the following definition:

Android.mk:LOCAL_MODULE_CLASS := ETC

You can try to rename it in wpa_supplicant_conf.mk like,

-LOCAL_MODULE_CLASS := ETC

+LOCAL_MODULE_CLASS := ETC_WPA

It is similar as Android 4.3 "make update-api" error

0 Kudos