RBMTX-Lite OpenWrt SDK Exmaple: Różnice pomiędzy wersjami
Z Elproma Wiki Knowledge Base
Linia 24: | Linia 24: | ||
<ol> | <ol> | ||
<li> Install dependency library | <li> Install dependency library (in this example, it is '''libmodbus'''). To install library run: | ||
<pre>./scripts/feeds install libmodbus</pre></li> | <pre>./scripts/feeds install libmodbus</pre></li> | ||
Linia 35: | Linia 35: | ||
<li> | <li> | ||
Create the Makefile file to build your custom package. Example Makefile shown below. | Create the Makefile file to build your custom package. Example Makefile is shown below. | ||
* It is important to change all '''modbus_server''' strings with your package name. | * It is important to change all '''modbus_server''' strings with your package name. | ||
* In the '''SOURCE_DIR''' section add path to your package sources. | * In the '''SOURCE_DIR''' section add path to your package sources. | ||
Linia 47: | Linia 47: | ||
</li> | </li> | ||
<li>Now we are ready to select the packages and libraries which we want to compile. Return to the SDK root directory and execute command: <pre> make menuconfig</pre> | <li>Now we are ready to select the packages and libraries which we want to compile. Return to the SDK root directory and execute the command: <pre> make menuconfig</pre> | ||
You should see a view like the one below. | You should see a view like the one below. | ||
Linia 58: | Linia 58: | ||
[[Plik:RBMTX-Lite Libraries.png|800px|border|class=tlt-border]] | [[Plik:RBMTX-Lite Libraries.png|800px|border|class=tlt-border]] | ||
</li> | </li> | ||
<li>Next, go to the section where you placed the package to compilation. The name of section depends on the name that was placed in the ''' | <li>Next, go to the section where you placed the package to compilation. The name of section depends on the name that was placed in the '''CATEGORY:''' option in the package's Makefile. In our case it is '''Example''' section. Make sure your custom package is checked. | ||
[[Plik:RBMTX-Lite Cutom Package.png|800px|border|class=tlt-border]] | [[Plik:RBMTX-Lite Cutom Package.png|800px|border|class=tlt-border]] | ||
</li> | </li> |
Wersja z 10:25, 20 kwi 2023
Prerequisites
You will need:
- A PC, laptop or virtual machine running Linux OS (preferably Debian/Ubuntu distro)
- An SDK intended for your router, which can be downloaded here: Software Development Kit
Preparation
- Create a directory where the SDK will be extracted, e.g. RBMTX_SDK.
- Open a terminal in the folder you created and unzip the SDK.
tar -xf ~/Downloads/rbmtx3-owrt-sdk-....Linux-x86_64.tar.xz
- Go to the SDK directory.
cd rbmtx3-owrt-sdk-22.10.14-rbmtx3_gcc-8.4.0_musl_eabi.Linux-x86_64/
- Update the feeds.
./scripts/feeds update -a
Compiling a custom package
In this example, we are going to show you how to generate OpenWrt package based on the simple Modbus client and server application.
- Install dependency library (in this example, it is libmodbus). To install library run:
./scripts/feeds install libmodbus
- To create your custom package, when you are in the SDK directory go to the package directory.
cd package
- Make a new directory where the package Makefile should be placed.
mkdir modbus_server cd modbus_server
-
Create the Makefile file to build your custom package. Example Makefile is shown below.
- It is important to change all modbus_server strings with your package name.
- In the SOURCE_DIR section add path to your package sources.
- If you are using external library, it is important to complete the dependency sections e.g.:
TARGET_LDFLAGS=-lmodbus DEPENDS:= +libmodbus PKG_BUILD_DEPENDS+= libs/libmodbus
- Now we are ready to select the packages and libraries which we want to compile. Return to the SDK root directory and execute the command:
make menuconfig
- Then turn off the Cryptographically sign package lists option in the Global build settings
- Then go to the Libraries section and make sure the libraries you want to use are checked.
- Next, go to the section where you placed the package to compilation. The name of section depends on the name that was placed in the CATEGORY: option in the package's Makefile. In our case it is Example section. Make sure your custom package is checked.
- At the end, save all settings - leave the default name of the configuration.
- Exit the menuconfig.
- Now, we are ready to compile our custom package. Type command make in the terminal and wait for compilation to finish.
You should see the output like the one below:
- Once the compilation process is complete, the package can be found in the bin/packages/arm_cortex-a7_neon/base directory.
cd bin/packages/arm_cortex-a7_neon/base