·713 words·4 mins
TunnelHostUnixToGuest 是一个Podman API 代理函数,它只做一件事:
把 host 上一个 Unix socket 收到的连接,通过 gvproxy tunnel 转发到 guest VM 里的 Podman API TCP 端口。
这篇文章记录几个关键的设计点:host/guest 边界、CLI 兼容性、网络后端隔离、连接生命周期,以及 Docker/Podman hijack stream 里的 half-close 语义。
·566 words·3 mins
最近把这个博客从 Jekyll 迁移到了 Hugo,并使用 Blowfish 作为主题。整个过程并不复杂,但有不少细节容易混在一起:Hugo 的资源目录、Blowfish 的配置入口、GitHub Pages 的部署方式、文章迁移后的图片路径、首页摘要、favicon、SEO,以及哪些内容应该交给主题配置,哪些内容应该用站点级覆盖。
这篇记录把这次迁移和配置经验整理下来,方便以后复盘。
·3905 words·19 mins
围绕 GLIBC ptmalloc,记录 tcache、smallbins、malloc 路径和堆结构的调试分析。
·377 words·2 mins
记录 RTL8821 Linux 无线网卡驱动的识别、编译、安装和调试过程。
·885 words·5 mins
记录 UFI001C/MSM8916 平台刷写 OpenWrt、配置网络、SSH、ZRAM 与救援流程。
·553 words·3 mins
记录 MSM8916/UFI 设备上的 lk2nd、OpenWrt 启动、分区和调试过程。
·1903 words·9 mins
glibc 不支持 Clang 编译,或者说暂时不支持。因为 glibc 本身使用了大量GCC独占的特性。但开源社区也有尝试用 Clang 构建 glibc。
·333 words·2 mins
记录 Rockchip 平台安全启动链路的理解,包括 bootROM、密钥、镜像验证和启动阶段。
·655 words·4 mins
全部都是个人理解,非常个人的理解;如果你想看严谨文档,建议直接去读 ARM 和 TF-A 官方资料。
·274 words·2 mins
整理 Linux CPU 调频策略和调度相关配置,记录不同 governor 的行为差异。
·540 words·3 mins
GDB 在BinaryHacking 的 _start 处下断点,发现执行的汇编代码咋和想象中的不太一样?
·428 words·3 mins
Linux 生态是开源的,所以调试所需的源码和 debug symbol 可以很方便地获取到。方便到什么程度?如果使用 Ubuntu Jammy 以上版本,那么:
·162 words·1 min
编写 CMakeLists.txt 的套路基本就是这样,先填写 project 信息,然后引用宏,定义自己的 option,写判断语句,然后 add_executable,target_sources。
·397 words·2 mins
整理 2023 HVV 面试和安全基础问题笔记,包括 WebSocket、协议升级和常见攻防知识点。
·133 words·1 min
zerotier-one 在启动的时候会建立 /var/lib/zerotier-one 作为自己的工作目录,里面存放了zerotier 运行时所需要的配置文件。
·390 words·2 mins
Vim 不知不觉已经迭代到 9.0 版本了,回想起来我昨天好像还在用 Vim 6.0。
·238 words·2 mins
WL_ROCKCHIP 下的 Realtek 模组和 AP6xxx 模组不能同时选择为 y,AP6xxx 和 Cypress 也是互斥的。至于 out-of-tree 模块则没有这个限制,可以在 Buildroot 中直接修改 Makefile。
·107 words·1 min
OpenStick 为 410 Wi-Fi 板适配的 Linux 内核可以在 UFI003_MB_V02 主板上启动,但 modem 工作不正常。插入 SIM 卡后,使用 mmcli -m 0 查看 modem 状态时,会发现 sim-missing 异常:
·502 words·3 mins
向世界诉说自己的废话与美梦,让大家更懂你,更加排斥你
·502 words·3 mins
U-Boot 提供一个交互式的 Shell 可以操作内存与外设。
·503 words·3 mins
整理 GDB、GCC、Binutils 相关调试笔记,包括 CMake 参数、链接选项和符号调试环境。
·1196 words·6 mins
拿到光猫的最终控制台后,接下来怎么办?是不是可以放一点私货进去? 首先,光猫的 cpu 架构是mips32架构,这一点可以从 cat /proc/cpuinfo 这条命令验证。
·574 words·3 mins
继续记录 Distcc 集群的性能优化思路,包括节点配置、构建参数和实际瓶颈分析。
·171 words·1 min
记录不同 ARM 节点组成的 Distcc 集群在构建 Node.js 等大型项目时的测试结果。
·1464 words·7 mins
重新编译内核真的是非常耗时。修改内核树内的驱动不用重新构建整个内核,但每修改调度、文件系统这类底层代码,都需要重新构建一次 zImage 镜像,然后分发到测试机器上。构建 kernel 巨浪费时间,不知道内核开发者怎么受得了这种苦。
·156 words·1 min
minicom 串口乱码,但也不是全乱码,随缘乱码,每次按回车的时候输出这玩意儿:
·73 words·1 min
CONFIG_SCHED_SMT 到底要不要打开?
·91 words·1 min
真是烦死了,每次看 Maven 的 Java 项目都要经历 jar 包下载失败;手动执行 mvn dependency:sources,又依赖下载失败,浪费巨多时间。
·270 words·2 mins
Linux 显示软件栈贼复杂,是我见过最复杂的系统,然后我本来就挺笨的。关于 Linux 显示软件与技术栈,说错我不负责,你看看就好。
·222 words·2 mins
你可以在我的 GitHub 上下载到这些二进制 ELF 工具,如 curl,wget,ftp,busybox 等。这些工具主要用于分析嵌入式设备的固件,搭建测试环境,还可以整点有趣的活,比如在运营商的光猫上跑点自己的代码,比如 PHP 和 Perl。
·503 words·3 mins
BetterProfiler 是一个针对嵌入式 Linux 的进程动态跟踪器。BetterProfiler 可追踪进程与内核的整个生命周期,文件 IO,网络IO,内存操作,加密读写等。
·391 words·2 mins
functions echo 的 scanf 没有对输入的buffer 大小做限制而用户可以输入超长字符串覆盖函数的 return 地址,进而跳转执行 secretFunction 函数。
·11 words·1 min
我抗拒,我不要,我不,不,NO 上大学的时候,从宿舍到科技园偶尔能碰见几个人和我友善的打招呼。他们大老远就喊:学长!学…..长!! 我的内心:”我超,他认识我,下次请不要喊我了,求你了,真的求求了,MTF”
·176 words·1 min
你可能不知道的是 IntelliJ IDEA 社区版是开源的,其源代码托管在 https://git.jetbrains.org 中。