0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在 Rockchip Arm 开发板上安装 Docker Tailscale K3s Cilium?

触觉智能 2023-08-04 08:39 次阅读

概述

618 买了几个便宜的Purple PI OH 开发板[1](500 块多一点买了 3 个), 这个开发板类似树莓派,是基于 Rockchip瑞芯微) 的 rx3566 arm64 芯片。如下:

5cb43e16-325f-11ee-bbcf-dac502259ad0.jpgPurple PI OH

买来是用作家庭服务器或家庭实验室的。主要考虑就是:

1.便宜2.可玩性高3.功耗低4.散热小,运行安静5.Arm64 现在生态还凑活

其配置如下(选择部分说明):

•SOC: RockChip RK3566•CPU: 四核 64 位 Cortex-A55 处理器,主频最高 1.8GHz•最高支持 8GB 高速 LPDDR4,速率高达 1066Mbps (我买的是 2G 版本的)•存储:eMMC 默认 8GB(可选 16GB/32GB/64GB)(我买的是 16G 版本的)•1 路 HDMI2.0 支持 4K@60Hz 或 1080P@120Hz•1 路自适应千兆以太网口•WIFI 蓝牙无线通信•板载 1 路 USB3.0,3 路 USB2.0•极小型 PCBA 尺寸,85mm*56mm

系统支持:

Android 11•Debian 10•Buildroot + QT•鸿蒙 OpenHarmony3.2•Ubuntu•麒麟 OS

刷入官方提供的 Debian 10 后,发现无法安装 Docker/Tailscale/K3s/Cilium 等,这是为什么?

原因解析

很多开发板的操作系统,都是没有 UEFI 的,也不能直接使用 Debian Linux 官网提供的 iso 等安装介质直接进行安装的。而是自编译的 Debian Linux.

编译后的 Debian 里,会带有 uboot 作为启动引导的工具,同时将开发板对应的芯片/接口驱动集成进去。

官方提供的自编译 Debian Linux 里,只开启了一小部分的 Kernel 内核参数。而 Docker/Tailscale/K3s/Cilium 等,是需要直接用到 Kernel 紧密相关的功能,但是这些功能在官方提供的 Debian Linux 中又没有,就需要我们按照官方提供的《Linux SDK 编译手册》自行编译。

需要哪些内核配置

Docker 需要哪些内核配置

Docker 需要的内核配置,可以通过检查脚本进行检验的。运行示例如下:

# ./check_config.shinfo: reading kernel config from ./kernel/.config ...
Generally Necessary:- cgroup hierarchy: properly mounted [/sys/fs/cgroup]- apparmor: enabled and tools installed- CONFIG_NAMESPACES: enabled- CONFIG_NET_NS: enabled- CONFIG_PID_NS: enabled- CONFIG_IPC_NS: enabled- CONFIG_UTS_NS: enabled- CONFIG_CGROUPS: enabled- CONFIG_CGROUP_CPUACCT: enabled- CONFIG_CGROUP_DEVICE: enabled- CONFIG_CGROUP_FREEZER: enabled- CONFIG_CGROUP_SCHED: enabled- CONFIG_CPUSETS: enabled- CONFIG_MEMCG: missing- CONFIG_KEYS: enabled- CONFIG_VETH: missing- CONFIG_BRIDGE: missing- CONFIG_BRIDGE_NETFILTER: missing- CONFIG_IP_NF_FILTER: missing- CONFIG_IP_NF_TARGET_MASQUERADE: missing- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: missing- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: missing- CONFIG_NETFILTER_XT_MATCH_IPVS: missing- CONFIG_IP_NF_NAT: missing- CONFIG_NF_NAT: missing- CONFIG_POSIX_MQUEUE: missing
Optional Features:- CONFIG_USER_NS: enabled- CONFIG_SECCOMP: enabled- CONFIG_SECCOMP_FILTER: enabled- CONFIG_CGROUP_PIDS: missing- CONFIG_MEMCG_SWAP: missing- CONFIG_MEMCG_SWAP_ENABLED: missing- CONFIG_BLK_CGROUP: missing- CONFIG_BLK_DEV_THROTTLING: missing- CONFIG_CGROUP_PERF: missing- CONFIG_CGROUP_HUGETLB: missing- CONFIG_NET_CLS_CGROUP: missing- CONFIG_CGROUP_NET_PRIO: missing- CONFIG_CFS_BANDWIDTH: enabled- CONFIG_FAIR_GROUP_SCHED: enabled- CONFIG_RT_GROUP_SCHED: missing- CONFIG_IP_NF_TARGET_REDIRECT: missing- CONFIG_IP_VS: missing- CONFIG_IP_VS_NFCT: missing- CONFIG_IP_VS_PROTO_TCP: missing- CONFIG_IP_VS_PROTO_UDP: missing- CONFIG_IP_VS_RR: missing- CONFIG_SECURITY_SELINUX: missing- CONFIG_SECURITY_APPARMOR: missing

所以其需要的 Kernel config 为:

# Docker Generally NecessaryCONFIG_NAMESPACES=yCONFIG_NET_NS=yCONFIG_PID_NS=yCONFIG_IPC_NS=yCONFIG_UTS_NS=yCONFIG_CGROUPS=yCONFIG_CGROUP_CPUACCT=yCONFIG_CGROUP_DEVICE=yCONFIG_CGROUP_FREEZER=yCONFIG_CGROUP_SCHED=yCONFIG_CPUSETS=yCONFIG_MEMCG=yCONFIG_KEYS=yCONFIG_VETH=yCONFIG_BRIDGE=yCONFIG_BRIDGE_NETFILTER=yCONFIG_IP_NF_FILTER=yCONFIG_IP_NF_TARGET_MASQUERADE=yCONFIG_NETFILTER_XT_MATCH_ADDRTYPE=yCONFIG_NETFILTER_XT_MATCH_CONNTRACK=yCONFIG_NETFILTER_XT_MATCH_IPVS=yCONFIG_IP_NF_NAT=yCONFIG_NF_NAT=yCONFIG_POSIX_MQUEUE=y
# Optional Features:=yCONFIG_USER_NS=yCONFIG_SECCOMP=yCONFIG_SECCOMP_FILTER=yCONFIG_CGROUP_PIDS=yCONFIG_MEMCG_SWAP=yCONFIG_MEMCG_SWAP_ENABLED=yCONFIG_BLK_CGROUP=yCONFIG_BLK_DEV_THROTTLING=yCONFIG_CGROUP_PERF=yCONFIG_CGROUP_HUGETLB=yCONFIG_NET_CLS_CGROUP=yCONFIG_CGROUP_NET_PRIO=yCONFIG_CFS_BANDWIDTH=yCONFIG_FAIR_GROUP_SCHED=yCONFIG_RT_GROUP_SCHED=yCONFIG_IP_NF_TARGET_REDIRECT=yCONFIG_IP_VS=yCONFIG_IP_VS_NFCT=yCONFIG_IP_VS_PROTO_TCP=yCONFIG_IP_VS_PROTO_UDP=yCONFIG_IP_VS_RR=yCONFIG_SECURITY_SELINUX=yCONFIG_SECURITY_APPARMOR=y

Tailscale 需要哪些内核配置

Tailscale 出于广泛适用性的考虑,主要都是基于用户空间的实现,不加任何内核配置也可以基于 sock5 代理的方式运行。如果要正常状态运行,其只依赖于一个内核配置:

# TailscaleCONFIG_TUN=y

如果是 Wireguard 或其他对内核依赖较多的相关软件,请自行查找相关内核配置需求。

K3s 需要哪些内核配置

K3s 的 Cli 做的很完善,直接可以检查内核配置需求,在我编译好的 Debian 10 上运行具体如下:

$ k3s check-config
Verifying binaries in /var/lib/rancher/k3s/data/ef31d9f1b153134534c2b9664540479f3071940e08ee95dd2877e102a31d235e/bin:- sha256sum: good- aux/ip6tables: symlink to xtables-legacy-multi- aux/ip6tables-restore: symlink to xtables-legacy-multi- aux/ip6tables-save: symlink to xtables-legacy-multi- aux/iptables: symlink to xtables-legacy-multi- aux/iptables-restore: symlink to xtables-legacy-multi- aux/iptables-save: symlink to xtables-legacy-multi- links: good
System:- /var/lib/rancher/k3s/data/ef31d9f1b153134534c2b9664540479f3071940e08ee95dd2877e102a31d235e/bin/aux iptables v1.8.8 (legacy): ok- swap: disabled- routes: ok
Limits:- /proc/sys/kernel/keys/root_maxkeys: 1000000
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.19.232/modules.dep.bin'modprobe: FATAL: Module configs not found in directory /lib/modules/4.19.232info: reading kernel config from /proc/config.gz ...
Generally Necessary:- cgroup hierarchy: cgroups Hybrid mounted, cpuset|memory controllers status: good- CONFIG_NAMESPACES: enabled- CONFIG_NET_NS: enabled- CONFIG_PID_NS: enabled- CONFIG_IPC_NS: enabled- CONFIG_UTS_NS: enabled- CONFIG_CGROUPS: enabled- CONFIG_CGROUP_PIDS: enabled- CONFIG_CGROUP_CPUACCT: enabled- CONFIG_CGROUP_DEVICE: enabled- CONFIG_CGROUP_FREEZER: enabled- CONFIG_CGROUP_SCHED: enabled- CONFIG_CPUSETS: enabled- CONFIG_MEMCG: enabled- CONFIG_KEYS: enabled- CONFIG_VETH: enabled- CONFIG_BRIDGE: enabled- CONFIG_BRIDGE_NETFILTER: enabled- CONFIG_IP_NF_FILTER: enabled- CONFIG_IP_NF_TARGET_MASQUERADE: enabled- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled- CONFIG_NETFILTER_XT_MATCH_IPVS: enabled- CONFIG_NETFILTER_XT_MATCH_COMMENT: enabled- CONFIG_NETFILTER_XT_MATCH_MULTIPORT: enabled- CONFIG_IP_NF_NAT: enabled- CONFIG_NF_NAT: enabled- CONFIG_POSIX_MQUEUE: enabled
Optional Features:- CONFIG_USER_NS: enabled- CONFIG_SECCOMP: enabled- CONFIG_BLK_CGROUP: enabled- CONFIG_BLK_DEV_THROTTLING: enabled- CONFIG_CGROUP_PERF: enabled- CONFIG_CGROUP_HUGETLB: enabled- CONFIG_NET_CLS_CGROUP: enabled- CONFIG_CGROUP_NET_PRIO: enabled- CONFIG_CFS_BANDWIDTH: enabled- CONFIG_FAIR_GROUP_SCHED: enabled- CONFIG_RT_GROUP_SCHED: enabled- CONFIG_IP_NF_TARGET_REDIRECT: enabled- CONFIG_IP_SET: enabled- CONFIG_IP_VS: enabled- CONFIG_IP_VS_NFCT: enabled- CONFIG_IP_VS_PROTO_TCP: enabled- CONFIG_IP_VS_PROTO_UDP: enabled- CONFIG_IP_VS_RR: enabled- CONFIG_EXT4_FS: enabled- CONFIG_EXT4_FS_POSIX_ACL: enabled- CONFIG_EXT4_FS_SECURITY: enabled- Network Drivers: - "overlay": - CONFIG_VXLAN: enabled Optional (for encrypted networks): - CONFIG_CRYPTO: enabled - CONFIG_CRYPTO_AEAD: enabled - CONFIG_CRYPTO_GCM: enabled - CONFIG_CRYPTO_SEQIV: enabled - CONFIG_CRYPTO_GHASH: enabled - CONFIG_XFRM: enabled - CONFIG_XFRM_USER: enabled - CONFIG_XFRM_ALGO: enabled - CONFIG_INET_ESP: enabled - CONFIG_INET_XFRM_MODE_TRANSPORT: enabled- Storage Drivers: - "overlay": - CONFIG_OVERLAY_FS: enabled
STATUS: pass

根据上面输出,得出 K3s 需要的内核配置有:

# K3s Generally Necessary:CONFIG_NAMESPACES=yCONFIG_NET_NS=yCONFIG_PID_NS=yCONFIG_IPC_NS=yCONFIG_UTS_NS=yCONFIG_CGROUPS=yCONFIG_CGROUP_PIDS=yCONFIG_CGROUP_CPUACCT=yCONFIG_CGROUP_DEVICE=yCONFIG_CGROUP_FREEZER=yCONFIG_CGROUP_SCHED=yCONFIG_CPUSETS=yCONFIG_MEMCG=yCONFIG_KEYS=yCONFIG_VETH=yCONFIG_BRIDGE=yCONFIG_BRIDGE_NETFILTER=yCONFIG_IP_NF_FILTER=yCONFIG_IP_NF_TARGET_MASQUERADE=yCONFIG_NETFILTER_XT_MATCH_ADDRTYPE=yCONFIG_NETFILTER_XT_MATCH_CONNTRACK=yCONFIG_NETFILTER_XT_MATCH_IPVS=yCONFIG_NETFILTER_XT_MATCH_COMMENT=yCONFIG_NETFILTER_XT_MATCH_MULTIPORT=yCONFIG_IP_NF_NAT=yCONFIG_NF_NAT=yCONFIG_POSIX_MQUEUE=y
# Optional Features:CONFIG_USER_NS=yCONFIG_SECCOMP=yCONFIG_BLK_CGROUP=yCONFIG_BLK_DEV_THROTTLING=yCONFIG_CGROUP_PERF=yCONFIG_CGROUP_HUGETLB=yCONFIG_NET_CLS_CGROUP=yCONFIG_CGROUP_NET_PRIO=yCONFIG_CFS_BANDWIDTH=yCONFIG_FAIR_GROUP_SCHED=yCONFIG_RT_GROUP_SCHED=yCONFIG_IP_NF_TARGET_REDIRECT=yCONFIG_IP_SET=yCONFIG_IP_VS=yCONFIG_IP_VS_NFCT=yCONFIG_IP_VS_PROTO_TCP=yCONFIG_IP_VS_PROTO_UDP=yCONFIG_IP_VS_RR=yCONFIG_EXT4_FS=yCONFIG_EXT4_FS_POSIX_ACL=yCONFIG_EXT4_FS_SECURITY=y# Network DriversCONFIG_VXLAN=y# Optional (for encrypted networks):CONFIG_CRYPTO=yCONFIG_CRYPTO_AEAD=yCONFIG_CRYPTO_GCM=yCONFIG_CRYPTO_SEQIV=yCONFIG_CRYPTO_GHASH=yCONFIG_XFRM=yCONFIG_XFRM_USER=yCONFIG_XFRM_ALGO=yCONFIG_INET_ESP=yCONFIG_INET_XFRM_MODE_TRANSPORT=y# Storage DriversCONFIG_OVERLAY_FS=y

相比 Docker, 主要多了以下内核需求:

•Overlay 网络•Overlay 存储

Cilium 需要哪些内核配置

Cilium 需要的内核配置,可以在这里查看:System Requirements — Cilium 1.13.4 documentation[2]

# Cilium Base RequirementsCONFIG_BPF=yCONFIG_BPF_SYSCALL=yCONFIG_NET_CLS_BPF=yCONFIG_BPF_JIT=yCONFIG_NET_CLS_ACT=yCONFIG_NET_SCH_INGRESS=yCONFIG_CRYPTO_SHA1=yCONFIG_CRYPTO_USER_API_HASH=yCONFIG_CGROUPS=yCONFIG_CGROUP_BPF=yCONFIG_PERF_EVENTS=y# Optional: Iptables-based MasqueradingCONFIG_NETFILTER_XT_SET=mCONFIG_IP_SET=mCONFIG_IP_SET_HASH_IP=m# Optional: L7 and FQDN PoliciesCONFIG_NETFILTER_XT_TARGET_TPROXY=mCONFIG_NETFILTER_XT_TARGET_CT=mCONFIG_NETFILTER_XT_MATCH_MARK=mCONFIG_NETFILTER_XT_MATCH_SOCKET=m# Optional: IPSecCONFIG_XFRM=yCONFIG_XFRM_OFFLOAD=yCONFIG_XFRM_STATISTICS=yCONFIG_XFRM_ALGO=mCONFIG_XFRM_USER=mCONFIG_INET{,6}_ESP=mCONFIG_INET{,6}_IPCOMP=mCONFIG_INET{,6}_XFRM_TUNNEL=mCONFIG_INET{,6}_TUNNEL=mCONFIG_INET_XFRM_MODE_TUNNEL=mCONFIG_CRYPTO_AEAD=mCONFIG_CRYPTO_AEAD2=mCONFIG_CRYPTO_GCM=mCONFIG_CRYPTO_SEQIV=mCONFIG_CRYPTO_CBC=mCONFIG_CRYPTO_HMAC=mCONFIG_CRYPTO_SHA256=mCONFIG_CRYPTO_AES=m# Optional: Bandwidth ManagerCONFIG_NET_SCH_FQ=m

另外 Cilium 对于 Kernel 版本也有严格要求,Cilium 的部分功能依赖于高版本的 Kernel. 请自行查阅。

修改内核配置并编译

Linux SDK 官方一般都会提供,基于 Rockchip 芯片系列的 Linux SDK 文件目录结构大差不差。我这里以 Purple Pi OH 为例,相信如果您也正好有相关需求,且是 Rockchip 的其他开发板,也能很快找到对应目录。

一般内核配置的目录为:xxxxxxx\kernel\arch\arm64\configs\xxxxx_linux_defconfig

将上方提供的 Kernel 配置添加到该文件末尾(注意去重)并保存。

然后直接编译即可:

./build.sh kernel

编译后在./rockdev目录生成boot.img镜像。

然后利用 Rockchip 提供的烧录工具:RKDevTool.exe, 单独将boot.img烧录即可。

编译是真的耗资源啊,耗时间,耗 CPU, 耗磁盘

可能出现的异常情况

分区超出

我在编译过程中碰到 recovery 分区超过的报错,报错如下:

rk356x_linux_sdk/buildroot/output/rockchip_rk356x_recovery/images/recovery.img's size exceed parameter.txt's limit!ERROR: Running build_firmware failed!

解决办法是要修改分区大小,具体就是修改对应的 parameter.txt 文件。修改后再重新完整编译:

./build.sh

并重新烧录整个固件。

Docker 安装后启动失败

根据官方文档:Install Docker Engine on Debian | Docker Documentation[3], Docker 安装后启动失败。

官方明确提到目前最新版本需要的 Debian 版本为:

Debian Bookworm 12 (stable) Debian Bullseye 11 (oldstable)

可能是 Deibian 10 兼容性有问题导致的。但是有 workaround.

具体的报错为 nftables 相关的报错。

解决方案为:

update-alternatives --set iptables /usr/sbin/iptables-legacyupdate-alternatives --set ip6tables /usr/sbin/ip6tables-legacyupdate-alternatives --set arptables /usr/sbin/arptables-legacyupdate-alternatives --set ebtables /usr/sbin/ebtables-legacy

重启后 Docker 可以正常运行。

总结

玩了一周末的 Rockchip arm64 开发板,现在 2G 内存的板子上终于可以跑 docker,k3s,tailscale,cilium 了。

Arm 开发板如我之前所说,有这些优势:

1.便宜2.可玩性高3.功耗低4.散热小,运行安静5.Arm64 现在生态还凑活

但是相比 x86, 这类 arm 开发板生态还是太差了,没有 bios/uefi,装前面几个软件都要调 kernel 参数然后编译,刷机烧录。玩起来太累了。..

x86 也有这些优势:

1.便宜2.可玩性高

但是 x86 的生态太好了,玩起来省心多了。

Arm 与 x86 相比,其实也就强在 功耗低,散热小。但是现在 Intel 的一些芯片,如 n100 等,TDP 为 6W 也是非常低了,通过被动散热也能压住也就静音。Arm 的优势所剩无几了。..

所以我的建议,想省心/静音/功率低,首推 x86 迷你主机;想折腾/静音/功率低,首推各类 arm pi 开发板或盒子;不在乎功耗/不在乎声音/高配,可以玩玩二手 x86 服务器。

以上。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    453

    文章

    50384

    浏览量

    421724
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9043

    浏览量

    366771
  • 开发板
    +关注

    关注

    25

    文章

    4943

    浏览量

    97178
  • 树莓派
    +关注

    关注

    116

    文章

    1698

    浏览量

    105517
收藏 人收藏

    评论

    相关推荐

    何在树莓派上安装Docker容器

    ,确保你的系统是最新的。打开终端,输入以下命令: sudo apt updatesudo apt upgrade 3. 安装Docker 步骤1:添加Docker的官方GPG密钥 cu
    的头像 发表于 11-11 11:38 262次阅读

    ARM开发板与FPGA的结合应用

    一、引言 ARM开发板是一种基于ARM架构的嵌入式开发平台,具有高性能、低功耗的特点。FPGA是一种可编程的数字电路,可以根据需要配置不同的逻辑功能。将
    的头像 发表于 11-05 11:42 297次阅读

    ARM开发板的功耗分析与优化

    随着移动设备和物联网设备的快速发展,对低功耗的需求日益增长。 1. 功耗的来源 ARM开发板的功耗主要来源于以下几个方面: CPU功耗 :包括动态功耗和静态功耗。动态功耗与CPU的工作频率和电压有关
    的头像 发表于 11-05 11:40 216次阅读

    ARM开发板与树莓派的比较

    处理器 ARM开发板通常采用不同的ARM处理器,如Cortex-A系列、Cortex-M系列等,而树莓派则主要使用博通的ARM处理器。树莓派的处理器性能相对较高,尤其是在最新的树莓派
    的头像 发表于 11-05 11:11 234次阅读

    Docker运行环境安装

    、发布、测试和部署,可以帮助开发人员将最新版本代码应用到生产环境中。 Docker可以安装在多个平台中,包括Mac、Windows和Linux。不过,生产环境还是推荐在Linux运行
    的头像 发表于 10-29 11:28 154次阅读

    树莓派和arm开发板的区别

    ,已经推出了多个版本,包括A、B、A+、B+、2、3、4等。 ARM开发板 ARM开发板是一种基于ARM
    的头像 发表于 08-30 15:36 793次阅读

    【北京迅为】龙芯iTOP-LS2K0500开发板快速启动手册-第3章 Windows安装串口终端

    龙芯iTOP-LS2K0500开发板
    的头像 发表于 08-28 15:13 505次阅读
    【北京迅为】龙芯iTOP-LS2<b class='flag-5'>K</b>0500<b class='flag-5'>开发板</b>快速启动手册-第<b class='flag-5'>3</b>章 Windows<b class='flag-5'>安装</b>串口终端

    适合大学生的鸿蒙开发板-Purple Pi OH之安装Docker

    介绍本文基于purple-pi-oh系列主板演示Linux系统安装Docker,方法适用于RK3566全系列产品。本教程将指导你在基于RK3566的LInux系统安装
    的头像 发表于 05-10 08:32 541次阅读
    适合大学生的鸿蒙<b class='flag-5'>开发板</b>-Purple Pi OH之<b class='flag-5'>安装</b><b class='flag-5'>Docker</b>

    鸿蒙OpenHarmony【标准系统编译】 (基于RK3568开发板

    DevEco Device Tool支持Rockchip RK3568开发板的源码一键编译功能,提供编译工具链和编译环境依赖的检测及一键安装,简化复杂编译环境的同时,提升了编译的效率。
    的头像 发表于 04-24 20:55 1098次阅读
    鸿蒙OpenHarmony【标准系统编译】 (基于RK3568<b class='flag-5'>开发板</b>)

    飞凌ElfBoard ELF 1板卡-如何在ELF 1开发板实现对java的支持

    Java作为一种功能强大且广泛应用的编程语言,具有广泛的适应性和实用性。在ELF 1开发板上集成Java支持,无疑将赋予嵌入式开发者更广阔的选择空间,今天就为各位小伙伴详细解析如何在ELF 1
    发表于 03-20 09:51

    ELF技术贴|如何在开发板实现对Java的支持

    Java作为一种功能强大且广泛应用的编程语言,具有广泛的适应性和实用性。在ELF1开发板上集成Java支持,无疑将赋予嵌入式开发者更广阔的选择空间,今天就为各位小伙伴详细解析如何在ELF1开发
    的头像 发表于 03-13 16:47 473次阅读
    ELF技术贴|如<b class='flag-5'>何在</b><b class='flag-5'>开发板</b><b class='flag-5'>上</b>实现对Java的支持

    何在PSoC62 Evaluation kit开发板运行RT-Thread呢?

    本文主要介绍如何在PSoC62 Evaluation kit开发板运行RT-Thread,如何连接CYW43012 WiFi蓝牙模组,以及如何进行WiFi联网、网络延迟、网络带宽测试。
    的头像 发表于 02-27 10:49 947次阅读
    如<b class='flag-5'>何在</b>PSoC62 Evaluation kit<b class='flag-5'>开发板</b><b class='flag-5'>上</b>运行RT-Thread呢?

    迅为3588开发板Ubuntu安装Docker

    迅为3588开发板Ubuntu安装Docker
    的头像 发表于 01-29 16:07 676次阅读
    迅为3588<b class='flag-5'>开发板</b>Ubuntu<b class='flag-5'>安装</b><b class='flag-5'>Docker</b>

    arm开发板如何安装linux系统

    安装Linux系统到ARM开发板是一个复杂的过程,涉及到多个步骤和不同的工具。下面是一个详实且细致的教程,包含了从准备工作到最终启动Linux系统的所有步骤。 准备工作 在开始之前,需要准备以下
    的头像 发表于 01-24 14:19 2993次阅读

    基于全志V3S芯片DIY Linux开发板

    简介:大佬已在硬创社开源了近50款开发板,动手能力极强,于去年年底开始接触学习Linux,并由全志V3s、F1C200S等芯片开始上手DIY个人的Linux开发板
    的头像 发表于 01-15 09:37 2501次阅读
    基于全志V<b class='flag-5'>3S</b>芯片DIY Linux<b class='flag-5'>开发板</b>