OpenIPC源码编译
参考文章
项目剖析
board/
, configs/
, linux/
, packages/
与不同的板子bearing相关,来自该特定供应商的芯片。
board/
包含由名为 家族。在每个这样的 family 目录中都驻留着内核配置 该系列中各个处理器的文件、通用补丁和其他 特定于系列的文件。
configs/
目录包含默认配置文件 (defconfig) 带有来自给定供应商的处理器的各种板。这些配置文件因硬件设置、包含的软件包集、不同的默认值而设置不同。这些 defconfig 文件中的每一个都是单独的包中生成单独的固件二进制文件。
package/
目录中包含指向用于构建结果的包的符号链接 固件。
Config.in
是一个配置文件,它整合了来自所有 提供的软件包。
ssc338Q烧录的FPV固件的Buildroot 配置文件
Buildroot 是用于 OpenIPC 的 Linux 发行版。用于许多嵌入式系统,因为它的占用空间非常小,并且可以轻松定制以包含或排除特定功能
编译目标
编译步骤
OpenIPC的Buildroot包
OpenIPC | Buildroot 2020.02.12 | Buildroot 2021.02 | Buildroot 2022.08 | Buildroot HEAD |
---|---|---|---|---|
ambarella-osdrv-s3l | ||||
ambarella_patcher 0.1 | ||||
anyka_patcher 0.1 | ||||
aura-httpd (git) | ||||
aws-producer (git) | ||||
aws-webrtc (git) | ||||
baresip-openipc 1.0.0 | ||||
busybox | ||||
busybox-openipc 1.31.1 | busybox 1.31.1 | busybox 1.33.2 | busybox 1.35.0 | busybox 1.35.0 |
dropbear-openipc 2022.82 | dropbear 2019.78 | dropbear 2020.81 | dropbear 2022.82 | dropbear 2022.82 |
f2fs-tools-openipc 1.13.0 | f2fs-tools 1.13.0 | f2fs-tools 1.14.0 | f2fs-tools 1.15.0 | f2fs-tools 1.15.0 |
fdk-aac-openipc (git) | fdk-aac 2.0.1 | fdk-aac 2.0.1 | fdk-aac 2.0.2 | fdk-aac 2.0.2 |
ffmpeg-openipc 4.4.2 | ffmpeg 4.2.4 | ffmpeg 4.3.3 | ffmpeg 4.4.2 | ffmpeg 4.4.2 |
fullhan-osdrv-fh8852v100 | ||||
fullhan-osdrv-fh8852v200 | ||||
fullhan_patcher 0.1 | ||||
fwprintenv-openipc 2020.04 | uboot-tools 2020.01 | uboot-tools 2020.04 | uboot-tools 2021.07 | uboot-tools 2021.07 |
gdbserver-lite (git) | ||||
goke-osdrv-gk710x | ||||
goke-osdrv-gk7205v200 | ||||
goke_patcher 0.1 | ||||
grainmedia-osdrv-gm8136 | ||||
grainmedia_patcher 0.1 | ||||
hisi_gpio | ||||
hisilicon-opensdk (git) | ||||
hisilicon-osdrv-hi3516av100 | ||||
hisilicon-osdrv-hi3516cv100 | ||||
hisilicon-osdrv-hi3516cv200 | ||||
hisilicon-osdrv-hi3516cv300 | ||||
hisilicon-osdrv-hi3516cv500 | ||||
hisilicon-osdrv-hi3516ev200 | ||||
hisilicon-osdrv-hi3519v101 | ||||
hisi_patcher 0.1 | ||||
i2c-telemetry | ||||
ingenic-opensdk | ||||
ingenic-osdrv-t20 | ||||
ingenic-osdrv-t21 | ||||
ingenic-osdrv-t31 | ||||
ingenic_patcher | ||||
ipctool (git) | ||||
json-c-openipc json-c-0.15-20200726 | json-c 0.15 | json-c 0.15 | json-c 0.16 | json-c 0.16 |
lame-openipc 3.100 | lame 3.100 | lame 3.100 | lame 3.100 | lame 3.100 |
libcurl-openipc 7.76.0 | libcurl 7.76.0 | libcurl 7.79.1 | libcurl 7.84.0 | lame 3.100 |
libevent-openipc (git) | libevent 2.1.11 | libevent 2.1.12 | libevent 2.1.12 | libevent 2.1.12 |
libhv-openipc 1.1.1 | ||||
libogg-openipc 1.3.5 | libogg 1.3.4 | libogg 1.3.4 | libogg 1.3.5 | libogg 1.3.5 |
librem-openipc 0.6.0 | ||||
libre-openipc 1.1.0 | ||||
libsrt-openipc 1.4.4 | ||||
libsrtp-openipc (git) | ||||
libwebsockets-openipc 4.2.2 | libwebsockets 3.2.2 | libwebsockets 4.0.21 | libwebsockets 4.3.2 | libwebsockets 4.3.2 |
linux-firmware-openipc 20190717 | linux-firmware 20190717 | linux-firmware 20201022 | linux-firmware 20220310 | linux-firmware 20220310 |
majestic | ||||
majestic-fonts | ||||
mavlink-router | ||||
mbedtls-openipc 2.25.0 | mbedtls 2.16.10 | mbedtls 2.16.12 | mbedtls 2.28.1 | linux-firmware 20220310 |
memdump | ||||
microbe-web (git) | ||||
microsnander (git) | ||||
mini (git) | ||||
mini-snmpd-openipc 1.4 | mini-snmpd 1.4 | mini-snmpd 1.6 | mini-snmpd 1.6 | mini-snmpd 1.6 |
motors (git) | ||||
mt7601u-ap-openipc (git) | ||||
node-exporter | ||||
novatek-osdrv-nt9856x | ||||
novatek_patcher 0.1 | ||||
opus-openipc 1.3.1 | opus 1.3.1 | opus 1.3.1 | opus 1.3.1 | opus 1.3.1 |
quirc-openipc (git) | ||||
rockchip-osdrv-rv11xx | ||||
rockchip_patcher 0.1 | ||||
rtl8188eus-openipc (git) | ||||
rtl8188fu-openipc (git) | ||||
rtl8192eu-openipc (git) | ||||
rtl8812au-openipc (git) | ||||
rtptools-openipc | rtptools 1.22 | rtptools 1.22 | rtptools 1.22 | rtptools 1.22 |
rtw-hostapd (git) | ||||
sigmastar-osdrv-msc313e | ||||
sigmastar-osdrv-ssc335 | ||||
sigmastar_patcher 0.1 | ||||
uacme-openipc 1.2.4 | uacme 1.2.4 | uacme 1.4.1 | uacme 1.7.1 | uacme 1.7.3 |
uqmi-openipc (git) | ||||
usrsctp (git) | ||||
vtund-openipc 3.0.2 | ||||
wifibroadcast (git) | ||||
wireguard-openipc | ||||
xiongmai-opensdk-xm510 | ||||
xiongmai-osdrv-xm510 | ||||
xiongmai-osdrv-xm530 | ||||
xiongmai_patcher 0.1 | ||||
xmdp | ||||
yaml-cli (git) | ||||
zerotier-one (git) |
默认情况下,每次构建固件时,OpenIPC 构建脚本都会创建一个新的 buildroot 源文件树
Architecture |
用于构建嵌入式 Linux 系统。
Architecture
BR2_arm=y
: 目标架构是 ARM。BR2_cortex_a7=y
: 使用 Cortex-A7 处理器。BR2_ARM_FPU_NEON_VFPV4=y
: 启用 NEON 和 VFPv4 浮点单元。BR2_ARM_INSTRUCTIONS_THUMB2=y
: 使用 Thumb-2 指令集。
Toolchain
BR2_TOOLCHAIN_EXTERNAL=y
: 使用外部工具链。BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
: 使用自定义外部工具链。BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
: 下载外部工具链。BR2_TOOLCHAIN_EXTERNAL_URL
: 工具链下载 URL。BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
: 工具链前缀。BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
: 使用 4.9 版内核头文件。BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
: 使用自定义的 GNU C 库。
Kernel
BR2_LINUX_KERNEL=y
: 构建 Linux 内核。BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
: 使用自定义内核压缩包。BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
: 内核压缩包位置。BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
: 使用自定义内核配置。BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
: 内核配置文件位置。BR2_LINUX_KERNEL_UIMAGE=y
: 生成 uImage 格式的内核镜像。BR2_LINUX_KERNEL_XZ=y
: 使用 XZ 压缩内核镜像。
Filesystem
BR2_PACKAGE_BUSYBOX_CONFIG
: BusyBox 配置文件位置。BR2_PACKAGE_EXFATPROGS=y
: 包含 exFAT 文件系统工具。BR2_PACKAGE_UBOOT_TOOLS=y
: 包含 U-Boot 工具。BR2_PACKAGE_ZLIB=y
: 包含 Zlib 库。BR2_PACKAGE_WIRELESS_TOOLS=y
: 包含无线工具。BR2_TARGET_ROOTFS_CPIO=y
: 生成 CPIO 格式的根文件系统。BR2_TARGET_ROOTFS_SQUASHFS=y
: 生成 SquashFS 格式的根文件系统。BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
: 使用 XZ 压缩 SquashFS 文件系统。BR2_TARGET_ROOTFS_UBI=y
: 生成 UBI 格式的根文件系统。BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048
: UBI 子大小。BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG=y
: 使用自定义 UBI 配置。BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE
: UBI 配置文件位置。BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000
: UBIFS LEB 大小。
OpenIPC
BR2_OPENIPC_SOC_VENDOR
: SoC 供应商。BR2_OPENIPC_SOC_MODEL
: SoC 型号。BR2_OPENIPC_SOC_FAMILY
: SoC 系列。BR2_OPENIPC_VARIANT
: 变体。BR2_OPENIPC_FLASH_SIZE
: 闪存大小。
Packages
- 包含各种软件包,如 Dropbear、exFAT、IPCTool、JSONFilter、libcurl、libogg、Majestic、MAVFWD、mbedTLS、MSPOSD、Opus、RTL88x2EU、RTL8812AU、SigmaStar OSDRV、VTUN、Wifibroadcast 和 YAML CLI。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 若水の博客!
评论