Porting bluez to ARM Linux

Source: Internet
Author: User

Version:

Bluez: 3.36

Gcc : Arm-linux-gcc-3.4.1

Required software packages:

Libxml2-2.7.4

Dbus1.0.2

G Lib-2.16.5

Bluez-utils-3.36 depends on Libraries and glib, while libraries depends onLibxml2So the compiling order is libxml, libraries, glib, bluez-utils-3.36.

The Process Writing is simple. In fact, there are countless problems in my own compilation process, but they are all simplified to the configuration. Therefore, configuare must be configured properly.

1. Compile bluez-libs-3.36

./Configure -- Host = arm-Linux -- prefix = "$ PWD/../release/bluez_libs"
Make & make install
NoThe dependency library is directly compiled.

2. Compile libxml2-2.7.4

./Configure -- prefix = "$ PWD/../release/bluez_libs" -- Host = arm-Linux
Make
Make install

No dependent library, successfully passed

3. Compile dbus1.0.2

Echo ac_cv_have_effecact_sockets = Yes> arm-linux.cache
. /Configure -- prefix = "$ PWD /.. /release/bluez_libs "-- Host = arm-Linux cc =" arm-Linux-gcc-I/home/Jay/tools/bluez3/release/bluez_libs/include-L/home/ jay/tools/bluez3/release/bluez_libs/lib"-- Cache-files = arm-linux.cache -- With-x = No
-- With-xml = libxml pkg_config_path = "$ PWD/../release/bluez_libs/lib/pkgconfig"
Make & make install
Successfully passed

4. Compile the glib-2.16.5

Echo ac_cv_type_long_long = Yes> arm-linux.cache
Echo glib_cv_stack_grows = NO> arm-linux.cache
Echo glib_cv_uscore = NO> arm-linux.cache
Echo ac_cv_func_posix_getgrgid_r = Yes> arm-linux.cache
Echo ac_cv_func_posix_getpwuid_r = Yes> arm-linux.cache
. /Configure -- prefix = "$ PWD /.. /release/bluez_libs "-- Host = arm-Linux cc =" arm-Linux-gcc-I/home/Jay/tools/bluez3/release/bluez_libs/include
-L/home/Jay/tools/bluez3/release/bluez_libs/lib"-- Cache-file = arm-linux.cache pkg_config_path = "$ PWD/../release/bluez_libs/lib/pkgconfig"
# Make
# Make install

5. Compile bluez-utils-3.36.
. /Configure -- prefix = "$ PWD /.. /release/bluez_libs "-- Host = arm-Linux cc =" arm-Linux-gcc-I/home/Jay/tools/bluez3/release/bluez_libs/include-L/home/ jay/tools/bluez3/release/bluez_libs/lib-shared "pkg_config_path =" $ PWD /.. /release/bluez_libs/lib/pkgconfig"
-- Disable-audio -- enable-test

Make & make install

If-shared is not appended, the _ fini_array_start error is annoying.

Storage. C: 286: Error: 'enokey' undeclared
Increase storage. C # define enokey 161

Now the compilation of bluez is complete.

File System creation:

Copy the files in sbin and bin to the sbin file system.

Libbluetooth. So
Libbluetooth. So.2Libbluetooth. so.2.11.2

Libxml2.so
Libxml2.so. 2 libxml2.so. 2.7.4

Libglib-2.0.so
Libglib-2.0.so.0 libglib-2.0.so.0.1600.5

Libgmodule-2.0.so.0 Libgmodule-2.0.so.0.1600.5

The front is a soft link, and the back is the front

Copy the ETC folder.

Finally, remember to copy the hcidump (requires additional compilation without any difficulty) to sbin, which facilitates debugging.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.