<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>凌云</name>
    <email>543491395@qq.com</email>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <icon>https://www.gravatar.com/avatar/8c40873ded870924cc72b04c03ade61b</icon>
  <id>https://biubiutoo.cn/</id>
  <link href="https://biubiutoo.cn/" rel="alternate"/>
  <link href="https://biubiutoo.cn/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, 凌云</rights>
  <subtitle>独立开发者 / 工程师，欢迎来到我的个人作品集</subtitle>
  <title>凌云 LingyunAce</title>
  <updated>2026-08-07T03:00:32.411Z</updated>
  <entry>
    <author>
      <name>凌云</name>
      <email>543491395@qq.com</email>
    </author>
    <category term="随笔" scheme="https://biubiutoo.cn/categories/%E9%9A%8F%E7%AC%94/"/>
    <category term="澧县" scheme="https://biubiutoo.cn/tags/%E6%BE%A7%E5%8E%BF/"/>
    <category term="方言" scheme="https://biubiutoo.cn/tags/%E6%96%B9%E8%A8%80/"/>
    <category term="人口" scheme="https://biubiutoo.cn/tags/%E4%BA%BA%E5%8F%A3/"/>
    <content>
      <![CDATA[<p>在外地这些年，跟人解释”澧”字，一般要说三遍：三点水的澧，澧水的澧，澧县的澧。说完对方还是常写成”理”。次数多了，我也懒得纠正。</p><p>比”澧”字更难解释的是澧县话。很多人以为湖南人说话一个味，长沙话代表一切。不是。澧县话是西南官话，跟湖北荆州、松滋那边更亲。我一个澧县人，听长沙话要连蒙带猜，听松滋话反而顺。央视《声音里的中国》专门做过一期节目，标题就是《为何湖南常德人不会讲湘语，而方言更接近湖北荆州》。</p><p>我老家在火连坡镇，澧县西北角的山里，距县城五十多公里，再往北就是湖北松滋。县城话和老家话差得明显。最典型的是”去”字：县城念”提”，老家念”克”，更准确说是 kei，介于”克”和”该”之间，带个 i 尾。同一句”你去哪”，县城人说出来和火连坡人说出来，是两个音。</p><p>这篇文章就从这个字说起，把澧县的地、老底子、话、人，都捋一遍。</p><h2 id="一块地"><a href="#一块地" class="headerlink" title="一块地"></a>一块地</h2><p>澧县在湖南西北部，洞庭湖西岸，澧水中下游。北边隔河是湖北松滋、公安，西边是石门，东边安乡、津市，南边临澧。县名来自澧水，《尚书·禹贡》写”岷山导江，东至于沱，又东至于澧”，”澧”字两千多年前就进了书。</p><p>老话管澧县叫”九澧门户”。澧水加上涔、澹、道、松滋几条支流，把县境切成一片水网。焦柳铁路出湖北进湖南，第一站就是澧县金罗镇。这个位置，注定它是个南北通道，兵家、商家、移民来回走。</p><p>地形西北高、东南低。西北的太青山海拔一千米出头，东南的小渡口海拔不到三十米。山、丘、平、湖四种地貌，县里全有。中间那一大块澧阳平原，是洞庭湖平原西缘最肥的地，种什么都长。澧县能当上全国商品粮、优质棉基地县，靠的就是这块地。</p><h2 id="一些老底子"><a href="#一些老底子" class="headerlink" title="一些老底子"></a>一些老底子</h2><p>澧阳平原肥的不只是庄稼，还有历史。</p><p>彭头山遗址出土了近万年前的人工栽培稻，是中国稻作起源最硬的证据之一。城头山更厉害：六千五百年前的古城，还挖出了世界上最早的水稻田。中国最早的城墙和最早的稻田，都出在澧县。”中华城祖、世界稻源”这八个字是宣传语，但底下的考古发现是真的。城头山两次入选全国十大考古新发现，现在是国家考古遗址公园。</p><p>建制上，公元555年始置澧州，之后一千多年，这里一直是澧水流域的政治中心，1913年才改称澧县。老澧州的辖区比现在大得多，津市、临澧、安乡的大部都曾是它的地盘，所以今天很多”澧州名人”其实不在澧县境内。车胤，囊萤夜读那个，澧州人；李群玉，晚唐诗人，澧州人，杜牧夸他”一双瞳仁剪秋水”；蒋翊武，武昌起义总指挥，澧县人；范仲淹小时候随继父在澧州的安乡读书。</p><p>县城里明代城墙还在，澧州文庙、多安桥、蜚云塔都在。声音方面，澧水船工号子和荆河戏都是国家级非遗。荆河戏的舞台语言是”澧州官话”，连唱戏都用本地官话。</p><h2 id="一口话"><a href="#一口话" class="headerlink" title="一口话"></a>一口话</h2><p>澧县话属于西南官话常澧片。旧版《中国语言地图集》叫它”常鹤片”，新版归进”湖广片·湘北小片”，湖南本省的口径是”常澧”一类。名字怎么叫无所谓，关键是：它是官话，不是湘语。</p><p>西南官话最大的特征是入声归阳平，”一””十””百”读阳平调。澧县偏偏不是。澧县话有五个声调，入声独立成调，这在西南官话里算异类。研究常德方言的沈红宇把常德各县市分成两带：常德市区、临澧、汉寿是”活跃带”，四个声调，入声没了；石门、澧县、津市这些沿澧水的县市是”保守带”，五个声调，入声还在。保守带正在被活跃带同化，入声在年轻一代嘴里，正在消失。</p><p>澧县人给澧县话写过书。宋长栋，澧县人，中山大学语言学系首届毕业生，王力的学生，2016年出了《澧县方言研究》。汪业全，也是澧县人，广西民族大学教授，2008年记录过占岗话音系：22个声母，37个韵母，5个声调。</p><p>回到”去”字。这个字是汉语方言里读音最乱的常用字之一，中古是溪母字，声母kʰ。普通话qù是颚化加撮口的结果。湖北、湖南官话普遍保留舌根音，读”克”一类，长沙话也读”克”。我老家的kei，是这条路线上再裂化一层的读法，跟湖北松滋、公安一带更近。县城念的”提”，则是跟着常德市区的新派读法走的，常德本地人早就在讨论”去”到底念”替”还是念”克”。一个县，山区朝北靠湖北，城镇朝南靠常德，同一句话走出两条音变的路。</p><p>词汇也一样。”什么”说”么的”，”回家”说”回屋”（屋就是家），”吃”念”七”，”山”念”三”，没有卷舌音。”脏”县城说”癞太”，我们镇上说”lia垮”；”我们”说”玩儿”或”玩嗯”；”太阳”县城说”抬阳”，镇上说”喔头”（八成是从”日头”变来的）。这些跟长沙话是两套系统，跟松滋话反而对得上。</p><p>有个遗憾。我在外地上大学、工作十几年，很久没听老家年轻人怎么说话了。不知道火连坡的”去”，现在是不是已经开始念”提”了。人往外走，话就跟着变。</p><h2 id="一组数字"><a href="#一组数字" class="headerlink" title="一组数字"></a>一组数字</h2><p>澧县是湖南的劳务输出大县，人口曲线是典型的中部农业县曲线。</p><table><thead><tr><th>年份</th><th>常住人口</th></tr></thead><tbody><tr><td>1982</td><td>约76.5万</td></tr><tr><td>1990</td><td>约82.3万</td></tr><tr><td>2000</td><td>约86.4万，历史峰值</td></tr><tr><td>2010</td><td>82.7万</td></tr><tr><td>2020</td><td>72.2万</td></tr><tr><td>2025</td><td>69.5万</td></tr></tbody></table><p>（前三行来自统计年鉴和地方志的记载，后三行是官方公报数字。）</p><p>户籍人口是另一条线。2010年代初到顶，约93万，2013年末91万，2020年约90万，2024年末87.7万。户籍巅峰比常住巅峰晚了十年，这十年差，就是外出务工潮。</p><p>2020年普查，全县60岁以上占27.4%，65岁以上占21.3%，深度老龄化。户籍90万，常住72万，差18万。官方摸排，全县约27万人转移就业，16万人在省外。</p><p>我今年32岁，1990年代出生在人口高峰期，2010年代离开老家上大学，然后留在外地。火连坡那种乡镇，是流失最狠的地方。我这一代人的去向，就是这条曲线的形状。</p><h2 id="回到”去”字"><a href="#回到”去”字" class="headerlink" title="回到”去”字"></a>回到”去”字</h2><p>在外地十几年，我平时说普通话。回澧县，舌头会自动切回去，跟亲戚说话不自觉地冒”么的””回屋”。</p><p>方言和人口，其实是同一件事的两面。人往外走，话就跟着变；县城在变，老家在守。五十年来，澧县从将近九十万人的大县，变成七十万不到的外流县，县城在涨，乡镇在塌。再过二十年，不知道还有没有人念kei。</p><p>希望有。</p>]]>
    </content>
    <id>https://biubiutoo.cn/posts/6206/</id>
    <link href="https://biubiutoo.cn/posts/6206/"/>
    <published>2026-08-04T04:00:00.000Z</published>
    <summary>
      <![CDATA[<p>在外地这些年，跟人解释”澧”字，一般要说三遍：三点水的澧，澧水的澧，澧县的澧。说完对方还是常写成”理”。次数多了，我也懒得纠正。</p>
<p>比”澧”字更难解释的是澧县话。很多人以为湖南人说话一个味，长沙话代表一切。不是。澧县话是西南官话，跟湖北荆州、松滋那边更亲。我一个]]>
    </summary>
    <title>写写澧县：地理、方言，和人口</title>
    <updated>2026-08-07T03:00:32.411Z</updated>
  </entry>
  <entry>
    <author>
      <name>凌云</name>
      <email>543491395@qq.com</email>
    </author>
    <category term="技术博客" scheme="https://biubiutoo.cn/categories/%E6%8A%80%E6%9C%AF%E5%8D%9A%E5%AE%A2/"/>
    <category term="RK3576" scheme="https://biubiutoo.cn/tags/RK3576/"/>
    <category term="Ubuntu" scheme="https://biubiutoo.cn/tags/Ubuntu/"/>
    <category term="固件" scheme="https://biubiutoo.cn/tags/%E5%9B%BA%E4%BB%B6/"/>
    <category term="LubanCat" scheme="https://biubiutoo.cn/tags/LubanCat/"/>
    <category term="嵌入式开发" scheme="https://biubiutoo.cn/tags/%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/"/>
    <content>
      <![CDATA[<p>这是本站作品集「技术博客」栏目的第一篇文章,记录我正在进行的一个嵌入式项目:<strong>基于 LubanCat SDK 的 RK3576 开发板 Ubuntu 固件定制</strong>。</p><h2 id="项目背景"><a href="#项目背景" class="headerlink" title="项目背景"></a>项目背景</h2><p>RK3576 是瑞芯微推出的高性能 SoC,集成了 8 核 CPU(4×A72 + 4×A53)与 6 TOPS NPU,常用于边缘 AI 与智能硬件场景。本项目在其开发板上定制 Ubuntu 22.04 固件,并集成 Hermes 本地语音助手能力。</p><h2 id="环境拓扑"><a href="#环境拓扑" class="headerlink" title="环境拓扑"></a>环境拓扑</h2><table><thead><tr><th>角色</th><th>位置</th></tr></thead><tbody><tr><td>固件编译服务器</td><td><code>tx@192.168.1.35</code>,SDK 位于 <code>/home/tx/LubanCat_SDK_1</code></td></tr><tr><td>板卡运行环境</td><td><code>ostar@192.168.1.207</code></td></tr><tr><td>定制源码入口</td><td><code>ubuntu22.04/overlay-tx/</code>(SDK 内覆盖层)</td></tr><tr><td>兼容入口</td><td><code>external/</code> 下的相对软链接</td></tr></tbody></table><h2 id="主要工作"><a href="#主要工作" class="headerlink" title="主要工作"></a>主要工作</h2><h3 id="1-固件定制与构建"><a href="#1-固件定制与构建" class="headerlink" title="1. 固件定制与构建"></a>1. 固件定制与构建</h3><p>通过 SDK 的 overlay 机制定制 Ubuntu rootfs,规范构建入口:</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cd</span> /home/tx/LubanCat_SDK_1</span><br><span class="line">./build_tx.sh                <span class="comment"># 默认复用 rootfs 缓存,增量构建</span></span><br><span class="line">./build_tx.sh --rebuild-rootfs   <span class="comment"># rootfs 输入变更后必须全量重建</span></span><br></pre></td></tr></table></figure><h3 id="2-离线语音识别-STT-集成"><a href="#2-离线语音识别-STT-集成" class="headerlink" title="2. 离线语音识别(STT)集成"></a>2. 离线语音识别(STT)集成</h3><p>在板载 Hermes 中接入本地离线语音识别,采用 <code>faster-whisper==1.2.1</code> 与打包的 Base 模型(<code>/opt/hermes-models/faster-whisper-base</code>),ARM64 专用 wheels 隔离在 <code>overlay-tx/wheels/stt/</code> 下,避免污染主依赖解析器。配置为 <code>stt.provider: local</code> + <code>stt.local.model: base</code>。</p><p><strong>踩坑记录</strong>:语音识别曾出现固定 15 秒报错——根因是并发的请求同时进入单例 faster-whisper 模型,而 <code>/api/audio/transcribe</code> 继承了通用的 15 秒 RPC 超时。修复方案:本地调用串行化 + 音频转写专用 120 秒超时(渲染进程与 Electron 主进程回退同时生效)。板卡热部署已完成,最终验收还需一次真实麦克风录音走通完整桌面流程。</p><h3 id="3-本地资料库管理"><a href="#3-本地资料库管理" class="headerlink" title="3. 本地资料库管理"></a>3. 本地资料库管理</h3><p>项目采用「本地资料库与 SDK 分离」的组织方式,不把 SDK 本体纳入版本管理:</p><table><thead><tr><th>目录</th><th>内容</th></tr></thead><tbody><tr><td><code>patches/</code></td><td>系统、音频、Hermes、MonitorMCP 补丁索引</td></tr><tr><td><code>reports/daily/</code></td><td>按日期记录验证证据的日报</td></tr><tr><td><code>docs/</code></td><td>设计、计划、优化分析与历史记录</td></tr><tr><td><code>tools/</code></td><td>诊断、迁移、运行辅助脚本</td></tr><tr><td><code>artifacts/</code></td><td>固件、日志、录音、截图等构建产物</td></tr><tr><td><code>archive/</code></td><td>旧源码快照与只读历史归档</td></tr></tbody></table><p>近期完成了第二阶段整理:空目录、缓存、失效 PID 等已隔离到 <code>archive/residue-20260723/</code>,大体积固件镜像(<code>*.img</code>)则通过 <code>.gitignore</code> 排除在版本管理之外,保证仓库轻量、可追溯。</p><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><p>这个项目让我体会到:嵌入式固件开发中,<strong>可复现的构建流程 + 证据驱动的文档记录 + 干净的版本管理</strong>,三者缺一不可。后续我会持续更新固件构建、语音集成和板卡调试的实践细节。</p>]]>
    </content>
    <id>https://biubiutoo.cn/posts/rk3576-ubuntu-firmware/</id>
    <link href="https://biubiutoo.cn/posts/rk3576-ubuntu-firmware/"/>
    <published>2026-08-03T07:00:00.000Z</published>
    <summary>
      <![CDATA[<p>这是本站作品集「技术博客」栏目的第一篇文章,记录我正在进行的一个嵌入式项目:<strong>基于 LubanCat SDK 的 RK3576 开发板 Ubuntu 固件定制</strong>。</p>
<h2 id="项目背景"><a href="#项目背景" class=]]>
    </summary>
    <title>RK3576 Ubuntu 固件项目:开发板定制实践与本地资料库</title>
    <updated>2026-08-07T03:00:32.411Z</updated>
  </entry>
  <entry>
    <author>
      <name>凌云</name>
      <email>543491395@qq.com</email>
    </author>
    <category term="技术" scheme="https://biubiutoo.cn/categories/%E6%8A%80%E6%9C%AF/"/>
    <category term="GitHub Pages" scheme="https://biubiutoo.cn/tags/GitHub-Pages/"/>
    <category term="部署" scheme="https://biubiutoo.cn/tags/%E9%83%A8%E7%BD%B2/"/>
    <category term="教程" scheme="https://biubiutoo.cn/tags/%E6%95%99%E7%A8%8B/"/>
    <content>
      <![CDATA[<p>本博客通过 GitHub Actions 自动部署到 GitHub Pages。</p><h2 id="方案一：使用-GitHub-Actions（推荐）"><a href="#方案一：使用-GitHub-Actions（推荐）" class="headerlink" title="方案一：使用 GitHub Actions（推荐）"></a>方案一：使用 GitHub Actions（推荐）</h2><p>在 <code>.github/workflows/deploy.yml</code> 中配置：</p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">name:</span> <span class="string">Deploy</span> <span class="string">Hexo</span></span><br><span class="line"></span><br><span class="line"><span class="attr">on:</span></span><br><span class="line">  <span class="attr">push:</span></span><br><span class="line">    <span class="attr">branches:</span> [ <span class="string">main</span> ]</span><br><span class="line"></span><br><span class="line"><span class="attr">jobs:</span></span><br><span class="line">  <span class="attr">build:</span></span><br><span class="line">    <span class="attr">runs-on:</span> <span class="string">ubuntu-latest</span></span><br><span class="line">    <span class="attr">steps:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">actions/checkout@v4</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Setup</span> <span class="string">Node</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">actions/setup-node@v4</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">node-version:</span> <span class="number">20</span></span><br><span class="line">          <span class="attr">cache:</span> <span class="string">npm</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Install</span> <span class="string">dependencies</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">npm</span> <span class="string">install</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Generate</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">npx</span> <span class="string">hexo</span> <span class="string">generate</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Deploy</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">peaceiris/actions-gh-pages@v4</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">github_token:</span> <span class="string">$&#123;&#123;</span> <span class="string">secrets.GITHUB_TOKEN</span> <span class="string">&#125;&#125;</span></span><br><span class="line">          <span class="attr">publish_dir:</span> <span class="string">./public</span></span><br></pre></td></tr></table></figure><p>每次推送到 <code>main</code> 分支就会自动构建并发布。</p><h2 id="方案二：手动部署"><a href="#方案二：手动部署" class="headerlink" title="方案二：手动部署"></a>方案二：手动部署</h2><p>在 <code>_config.yml</code> 中配置：</p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">deploy:</span></span><br><span class="line">  <span class="attr">type:</span> <span class="string">git</span></span><br><span class="line">  <span class="attr">repo:</span> <span class="string">https://github.com/用户名/用户名.github.io.git</span></span><br><span class="line">  <span class="attr">branch:</span> <span class="string">gh-pages</span></span><br></pre></td></tr></table></figure><p>安装部署插件：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-deployer-git</span><br></pre></td></tr></table></figure><p>执行部署：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo deploy</span><br></pre></td></tr></table></figure><h2 id="启用-Pages"><a href="#启用-Pages" class="headerlink" title="启用 Pages"></a>启用 Pages</h2><ol><li>进入 GitHub 仓库的 <strong>Settings → Pages</strong></li><li><strong>Source</strong> 选择 <code>gh-pages</code> 分支（或 <code>Deploy from a branch</code> 选 <code>gh-pages</code> &#x2F; root）</li><li>保存后等待几分钟即可通过 <code>https://用户名.github.io</code> 访问</li></ol><h2 id="自定义域名（可选）"><a href="#自定义域名（可选）" class="headerlink" title="自定义域名（可选）"></a>自定义域名（可选）</h2><p>在 <code>source/</code> 下创建 <code>CNAME</code> 文件，写入你的域名：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">example.com</span><br></pre></td></tr></table></figure><p>然后在域名服务商处添加 CNAME 记录指向 <code>用户名.github.io</code>。</p>]]>
    </content>
    <id>https://biubiutoo.cn/posts/github-pages-deploy/</id>
    <link href="https://biubiutoo.cn/posts/github-pages-deploy/"/>
    <published>2026-06-01T04:00:00.000Z</published>
    <summary>
      <![CDATA[<p>本博客通过 GitHub Actions 自动部署到 GitHub Pages。</p>
<h2 id="方案一：使用-GitHub-Actions（推荐）"><a href="#方案一：使用-GitHub-Actions（推荐）" class="headerlink" t]]>
    </summary>
    <title>GitHub Pages 部署指南</title>
    <updated>2026-08-07T03:00:32.411Z</updated>
  </entry>
</feed>
