用 Flutter 开发 Android 项目的兼容性血泪史
这几天摸鱼的时候打算升级一下 flutter_nfc_kit 和 NFSee 的各种依赖,包括 Flutter SDK、第三方包、Android SDK、兼容工具等。不折腾不要紧,一搞就是两整天。仅以本文记录这两天中我踩过的种种大坑,以及借此总结出的一些经验。
交叉编译 Rust 到 mipsel 架构
本文记录了将一个依赖 libpcap 的 Rust 小工具编译到 mipsel 架构的过程。具体地,目标设备是一台运行 OpenWrt 22.03 的小米 AC2100 路由器,使用经典的联发科 MT7621 芯片,系统的 host triple 是 mipsel-unknown-linux-muslsf(注意必须是 sf,即软件浮点)。
使用 NGINX 基于 MAC 地址前缀匹配实现 iPXE 配置动态分发
iPXE 是非常好用的网络引导固件,可以实现强大灵活的网络引导(比如坏人的 tuna-ipxe 项目可以直接从镜像站启动多种 Linux 的安装器或者 Live 环境)。通常 iPXE 需要使用系统自带的 PXE 固件或者其他方式链式加载,并通过 DHCP option 等方式获取配置文件。
ARM 指令集切换与 Veneer / Thunk
众所周知,ARM 架构到目前共有三种获得广泛应用的指令集:AArch32(简称 A32,原本称为 ARM 指令集)、AArch64(简称 A64,原本称为 ARM64 指令集)和 Thumb(简称 T32)。这三种指令集各自也有很多版本演进,基于不同微架构的 CPU 支持的指令集(以及版本)也不同,如:
共计 43 篇文章,6 页。