1.Linux kernel version (内核版本要求)
The RTA-VRTE Starter Kit Linux SDK supports kernel versions v5.x. (VRTE Start Kit 3.1.0pr1用的内核版本为5.4.94)
2.Linux BSP/Toolchain support (编译工具链要求)
It is recommended to use GCC version is 9.3.0 for optimal compatibility ((YOCTO dunfell 3.9.1) toolchain for both ARMv8 and x86_64 (using ld version 2.31).
3.Libraries Request(库要求)
libstdc++6-9.3.0 反映在文件系统的名字为 libstdc++.so.6.0.28
libpthread.so
librt.so
libgcc1-9.3.0 反映在文件系统的名字为 libgcc_s.so.1 和 libc-2.31.so
libc.so
libm.so
libdl.so
libattr.so
libacl1-2.2.53
4. Linux Kernel Modules configuration
(内核选项要求,除以下所列项还需确保文件系统支持/dev/shm共享内存,一般情况默认支持)
Starting from a default YOCTO Dunfell 3.9.1 Linux kernel configuration, the following
kernel modules must be enabled:
POSIX variant of message queues.
Access Control Lists (ACL).
Socket monitoring interface (NetLink).
The following example Linux kernel module configurations shall be enabled in the target kernel config module:
CONFIG_EXT2_FS_POSIX_ACL
CONFIG_EXT3_FS_POSIX_ACL
CONFIG_EXT4_FS_POSIX_ACL
CONFIG_FS_POSIX_ACL
CONFIG_TMPFS_POSIX_ACL 个别操作系统内核该项为 CONFIG_TMPFS_FS_POSIX_ACL
CONFIG_NFS_V3_ACL
CONFIG_NFS_ACL_SUPPORT
CONFIG_NETLINK_DIAG
CONFIG_CONNECTOR
CONFIG_PROC_EVENTS
CONFIG_POSIX_MQUEUE
CONFIG_POSIX_MQUEUE_SYSCTL
CONFIG_TMPFS_FS_POSIX_ACL和CONFIG_TMPFS_POSIX_ACL是同一个内核选项的不同名称。它们都是用来支持tmpfs文件系统的POSIX访问控制列表(ACL)的。它们可能在不同的内核版本或发行版中有不同的命名。
- 请运行如下命令查看:
#查看系统内核
uname -a
#查看系统内核选项
sudo zcat /proc/config.gz | grep CONFIG_EXT2_FS_POSIX_ACL
sudo zcat /proc/config.gz | grep CONFIG_EXT3_FS_POSIX_ACL
sudo zcat /proc/config.gz | grep CONFIG_EXT4_FS_POSIX_ACL
sudo zcat /proc/config.gz | grep CONFIG_FS_POSIX_ACL
sudo zcat /proc/config.gz | grep CONFIG_TMPFS_POSIX_ACL
sudo zcat /proc/config.gz | grep CONFIG_NFS_V3_ACL
sudo zcat /proc/config.gz | grep CONFIG_NFS_ACL_SUPPORT
sudo zcat /proc/config.gz | grep CONFIG_NETLINK_DIAG
sudo zcat /proc/config.gz | grep CONFIG_CONNECTOR
sudo zcat /proc/config.gz | grep CONFIG_PROC_EVENTS
sudo zcat /proc/config.gz | grep CONFIG_POSIX_MQUEUE
sudo zcat /proc/config.gz | grep CONFIG_POSIX_MQUEUE_SYSCTL
例如:
CONFIG_BTRFS_FS_POSIX_ACL这个内核选项的作用是启用或禁用对POSIX访问控制列表(ACL)的支持。POSIX访问控制列表(ACL)支持用户和组的权限。
这个选项是在编译时配置的,如果请求了ACL,但没有编译这个特性,挂载会失败。
CONFIG_TMPFS_FS_POSIX_ACL这个内核选项的作用是启用或禁用对tmpfs文件系统的POSIX访问控制列表(ACL)的支持。该选项还依赖于CONFIG_TMPFS,并且会选择CONFIG_TMPFS_XATTR和CONFIG_FS_POSIX_ACL。
5.Linux Settings
(Busybox要求,部分用户Busybox的ulimit没有-q选项,需要增加该支持)
RLIMIT_MSGQUEUE should be configured as RLIM_INFINITY. The recommended workaround is to make sure that the ulimit for POSIX message queues (bytes) is configured as unlimited with ulimit -q unlimited shell command.
执行命令:
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
route add default eth0
cd /opt/vrte/usr/bin
./exmd.sh