共有 277 篇文章
Now Loading...
2025-06-08 - 2025-06-09

正在迁移博客, 从 blog.akvicor.com 发往 www.ksyaki.com.

迁移完成后此域名将重定向到 www.ksyaki.com

使用管道时不同系统的缓冲区大小导致的bug
2025-05-31 - 2025-06-01

今天在在通过管道将上一个命令的输出传递给下一个命令时, 发现最终得到的数据怎么都不对, 经过一整天的debug, 终于发现问题出在了第二个命令的缓冲区上

一开始脑子抽了, 觉得是openwrt平台的zstd有问题, 甚至用go重新写了一个zstd工具

ufw配置自动管理端口转发和DNAT
2025-05-06 - 2025-06-16
UFW
  • 端口A转发到本地的端口B
  • 端口A转发到另一台机器的端口B(需借助DNAT)

一般情况下, 我们配置ufw来实现端口转发时会在修改 /etc/ufw/before.rules 文件, 增加*nat部分.

但当ufw reload或重启ufw时, ufw并不会自动帮我们清除原本的*nat规则, 导致每次刷新ufw都会产生一份新的*nat, 重启一次增加一份.

EasyTier 组网
2025-04-18 - 2025-04-18

之前使用WireGuard组网, 有时会遇到UDP被限制的情况

如果要udp2raw将UDP转为TCP发送, 那么多了一层势必要增加损耗, 并且会降低稳定性, 于是选了则EasyTier作为新的组网方案

Docker搭建 Emby 开心版
2025-04-14 - 2025-04-15

如果你用的开心或有经济实力, 可以去 Emby官网 购买支持下, 119美元永久授权, 能激活30台设备. 并且能够很方便的使用官方的各平台的APP.

当然如果你的经济实力没有那么有实力, 又或者希望Emby运行在无外网的环境下(正版每隔一段时间都会联网验证激活码,如果长时间运行在无外网的环境会导致激活失效), 那么可以继续往下看

Prometheus + Grafana + pushgateway + alertmanager + node-exporter 完全体半Docker搭建
2025-04-05 - 2025-04-06

各类探针工具能采集的数据还是太少了, 保存时间也不够长. 所以用Prometheus搭建一个用于监控各个服务器状态的平台

为了方便兼容各个场景, pushgateway和alertmanager也一起搭建

AOS开发 03 - Boot
2025-03-30 - 2025-04-07
AOS
  • 文件: boot.asm
  • 完整项目代码在末尾

从上篇可知, 留给我们的代码部分只有420字节. 而boot代码需要完成的任务也很简单, 只需要从磁盘加载loader到内存中, 并跳转到loader执行

AOS开发 02 - FAT32的世界
2025-03-26 - 2025-04-07
AOS
  • 文件: fat32.inc

幸运的是我们不用自己编写这个文件, 不幸的是我们需要编写生成这个文件的程序

我们需要先做些准备, 方便未来的开发

在后续中, 我会使用/dev/sda代指磁盘或磁盘镜像, 如果你使用的是U盘, 那么我建议你修改可以临时修改磁盘的权限, 使得所有用户都可以读写磁盘 sudo chmod 666 /dev/sda

偶遇bug,强如怪物,拼尽全力无法战胜...
2025-03-25 - 2025-04-07
AOS

哦对的对的,哎呀不对不对,对…对吗?

并非全力

0x500 处的内存不要碰,否则可能导致程序跑飞

可能是由于BIOS占用了这个区间的一部分内存,随便改写导致异常。

但是实模式内存分布图上显示这一块确实是随便用。

AOS开发 01 - 可用内存分布&boot和loader阶段数据存储位置
2025-03-25 - 2025-04-07
AOS
  • 文件: def.inc

众所周知x86的cpu在启动之后处于实模式, 只能访问前1MiB的内存, 且很多位置是不能随便写的, 因此我们需要提前设计好每个在boot和loader阶段用到的变量存放的位置, 防止因为不小心将数据写入错误的位置而导致boot和loader跑崩

AOS开发 00 - 介绍 & 环境搭建
2025-03-24 - 2025-04-07
AOS

当我第一次接触操作系统后, 我就觉得我一定要开发一个属于自己的. 然而当时的我并没有意识到这是一个不见底的深渊

开发平台和环境

始于Debian10, 目前已经Debian12了(这闪电般的开发进度, 不愧是我), 各种工具可以直接使用apt直接安装, 不必担心因为各种操作系统开发书籍和教程里的各种古早的系统版本和工具版本而发愁(我已经帮大家愁完了)