FAQ1206: How to add EcMaster to the rtlinux image
Prerequirements:.
- You should receive Ec-Master package for EC-WinRT-Linux
- You should build original image on Linux as described in LxWin manual chapter 5.7 How to create your own LxWin Image (BSP)
Create new directory for the EcMaster recipe:
mkdir -p sources/Source/yocto/recipes-core/ecmaster/files
Copy files located at BIN folder at EC-Master package for EC-WinRT-Linux to sources/Source/yocto/recipes-core/ecmaster/files.
Create new file "ecmaster_3.1.4.5.bb" at “sources/Source/yocto/recipes-core/ecmaster” with the following content:
SUMMARY = "RTOS library"
LICENSE = "EC-Master_Standard-LicenseAgreement-V2.5.1"
LIC_FILES_CHKSUM = "file://${THISDIR}/../../custom-licenses/EC-Master_Standard-LicenseAgreement-V2.5.1;md5=7ba5f2117d3492ee30f5d68213d3324f"
DEPENDS = "librtos "
SRC_URI = "file://EcMasterDemo \
file://libemllCCAT.so \
file://libemllI8254x.so \
file://libemllI8255x.so \
file://libemllLAN743x.so \
file://libemllRTL8139.so \
file://libemllRTL8169.so \
file://libemllSockRaw.so \
"
S = "${WORKDIR}"
do_install() {
install -d ${D}/usr/bin/
install -m 0755 ${WORKDIR}/EcMasterDemo ${D}/usr/bin/
install -m 0755 ${WORKDIR}/libemllCCAT.so ${D}/usr/bin/
install -m 0755 ${WORKDIR}/libemllI8254x.so ${D}/usr/bin/
install -m 0755 ${WORKDIR}/libemllI8255x.so ${D}/usr/bin/
install -m 0755 ${WORKDIR}/libemllLAN743x.so ${D}/usr/bin/
install -m 0755 ${WORKDIR}/libemllRTL8139.so ${D}/usr/bin/
install -m 0755 ${WORKDIR}/libemllRTL8169.so ${D}/usr/bin/
install -m 0755 ${WORKDIR}/libemllSockRaw.so ${D}/usr/bin/
}
FILES_${PN} += " \
/usr/bin/EcMasterDemo \
/usr/bin/libemllCCAT.so \
/usr/bin/libemllI8254x.so \
/usr/bin/libemllI8255x.so \
/usr/bin/libemllLAN743x.so \
/usr/bin/libemllRTL8139.so \
/usr/bin/libemllRTL8169.so \
/usr/bin/libemllSockRaw.so"
# skip QA check because we deliver .so files inside non dev packet
INSANE_SKIP_${PN} += "ldflags"
PROVIDES += "ecmaster"
Note: 3.1.4.5 is the Ec-Master version number.
In file sources/Source/yocto/recipes-core/images/rtlinux-image-initramfs.bb add "ecmaster" to the PACKAGE_INSTALL variable.
Rebuild image.
Last update on 2022-10-24 by Realtime Support Team.
FAQ1205: How to add .NET Core to the rtlinux image
Take package sources_x64.tar.xz from the LxWin installation and extract it.
Build LxWin image at first using the command:./build.sh x64
In this manual it is assumed that the file build.sh is located at "/home/rte/build_test/sources_x64/" folder and all commands in the bash shell are executed from this folder.
Additional repositories are required for dotnet-core. Start the following commands:git clone -b thud git://git.openembedded.org/meta-openembedded
git clone -b thud git://git.yoctoproject.org/meta-security
git clone -b thud https://github.com/RDunkley/meta-dotnet-core.git
git -C meta-dotnet-core checkout 1ae36889cf
Modify bblayers.conf file located at /home/rte/build_test/sources_x64/poky/build/conf and add new yocto layers.
BBLAYERS variable value should look like:BBLAYERS ?= " \
/home/rte/build_test/sources_x64/poky/meta \
/home/rte/build_test/sources_x64/poky/meta-poky \
/home/rte/build_test/sources_x64/poky/meta-yocto-bsp \
/home/rte/build_test/sources_x64/meta-openembedded/meta-oe \
/home/rte/build_test/sources_x64/meta-openembedded/meta-networking \
/home/rte/build_test/sources_x64/meta-openembedded/meta-perl \
/home/rte/build_test/sources_x64/meta-openembedded/meta-python \
/home/rte/build_test/sources_x64/meta-security \
/home/rte/build_test/sources_x64/meta-dotnet-core \
/home/rte/build_test/sources_x64/sources/Source/yocto \
"
Create new file /home/rte/build_test/sources_x64/sources/Source/yocto/recipes-runtime/dotnet-core/dotnet-core_3.0.0.bbappend and corresponding directories.
Add the following lines to the dotnet-core_3.0.0.bbappend file:DOTNET_RUNTIME_ARCH_vmf64 = "x64"
INSANE_SKIP_${PN} += "ldflags"
INSANE_SKIP_${PN}-dev += "ldflags"
RDEPENDS_${PN} += "libgssapi-krb5"
require recipes-runtime/dotnet-core/dotnet-core_3.0.0_${DOTNET_RUNTIME_ARCH}.inc
In file /home/rte/build_test/sources_x64/sources/Source/yocto/recipes-core/images/rtlinux-image-initramfs.bb add "dotnet-core" to the PACKAGE_INSTALL variable.
In file /home/rte/build_test/sources_x64/sources/Source/yocto/conf/layer.conf change value of variable INITRAMFS_MAXSIZE to "400000"
Start build again with the command:./build.sh x64
The compiled image is located at /home/rte/build_test/sources_x64/delivery/Bin/ directory. The new image is bigger as default one and you should increase memory size used by LxWin.
Last update on 2022-03-11 by Realtime Support Team.
FAQ1204: How to add new user to rtlinux
By default, acontis deploys images with a root user only. To add a new user, you should change the file sources/Source/yocto/conf/layer.conf and add the following lines:
EXTRA_USERS_PARAMS += "useradd -p 'KQTFYntUHrfzA' myuser"
where myuser is a user name, and 'KQTFYntUHrfzA' is a result of the encrypted password "vmf".
To create encrypted password "vmf", you can run the command in bash: openssl passwd vmf
Last update on 2022-02-21 by Realtime Support Team.
FAQ1203: How to change host name
When the rtlinux is started you can see a welcome string with the name of the host:
LxWin (acontis distro based on poky) 1.0 vmf64 /dev/console
vmf64 login: root
where "vmf64" is the host name, equal of MACHINE name in yocto.
To change the hostname you should edit sources/Source/yocto/conf/machine/vmf64.conf file (or vmf.conf for 32-bit rtlinux) and add the following line:
hostname_pn-base-files = "your_hostname"
For the Kernel 5.15 you should use new yocto syntax:
hostname:pn-base-files = "your_hostname"
Last update on 2024-03-04 by Realtime Support Team.
FAQ1202: How can I automatically start an application with command line parameters
Open the user configuration file and add 2 keys "Executable" and "Parameter".
"Executable" defines the path to the application that shall be started, "Parameter" will be used a the application's commandline parameter.
Here is an example of how to start the command "find / -iname rtos*" when Linux is booted,
[Rtos\Autostart\1]
"Executable"="find"
"Parameter"="/ -iname rtos*"
Last update on 2021-02-17 by Realtime Support Team.
FAQ1201: How can I achieve better real-time performance
- Starting with LxWin 7.1.1 you can use rtos_nanosleep to introduce a guard band around the timer interrupt. Within this guard band no additional timer interrupts will be generated.
Example Code Snippet here. - Change the communication mechansim from interrupt mode to polling mode. This will avoid critical code being interrupted by Windows/Linux communication activities. Caveat: Windows/Linux communication performance may be reduced.
Add the following configuration settings:
[Rtos\Comm]
"CommInterruptMode"=dword:0 ; Mode: 0=polling, 1=interrupt
[Rtos\Vnet]
"PollingPeriodMs"=dword:1 ; Mode: 0=interrupt, 1 and more for polling
Last update on 2021-02-17 by Realtime Support Team.
FAQ1200: LxWin: How to start a script automatically
Please follow these steps to run a script that is started along with Linux.
- Create a script file inside workspace\RtFiles folder.
- The script can contain Linux shell commands or call applications.. You can also call other scripts.
- Add a new [Rtos\Autostart\1] key into the configuration and assign the script name to the "Executable" parameter.
Example:
[Rtos\Autostart\1]
"Executable"="/mnt/rtfiles/cifs_mnt.sh"
See also the chapter “5.5 Access Windows file system using Samba” in the “LxWin Product Manuel”, here you can find an example of how to start a script.
Last update on 2021-02-16 by Realtime Support Team.