发布时间:2026/8/24 9:30:28
Crochet CI实战:用一条Shell脚本构建可复现的FreeBSD 14.2自动化镜像流水线 Crochet CI实战用一条Shell脚本构建可复现的FreeBSD 14.2自动化镜像流水线【免费下载链接】crochetBuild FreeBSD images for RaspberryPi, BeagleBone, PandaBoard, and others.项目地址: https://gitcode.com/gh_mirrors/cr/crochetCrochet 是一个开源 FreeBSD 镜像构建工具只需一条 Shell 脚本就能为 RaspberryPi、BeagleBone、PandaBoard 等硬件自动生成可启动的磁盘镜像。本文带你实战 Crochet 项目自带的 CI 流水线用一条 ci/build_14.2_i386.sh 脚本从零构建可复现的 FreeBSD 14.2 自动化镜像适合想要快速入门 CI 实践和 FreeBSD 系统镜像打包的新手。为什么需要 FreeBSD 镜像自动化流水线手动打包系统镜像往往面临三个痛点不可复现手工步骤多换台机器结果就不一样耗时长buildworld buildkernel 动辄数小时重复构建成本高难定制改一个配置文件都要重新走完整流程Crochet 的解法很简洁一条脚本 一个配置文件把拉源码 → 编译 → 分区 → 打镜像全部自动化。而项目内置的 CI 目录正是这套思路的最小可运行示例。CI 实战4 步完成 FreeBSD 14.2 镜像构建打开 ci/build_14.2_i386.sh整个流水线只有 4 个关键步骤步骤命令作用1️⃣ 装依赖pkg install -y git确保构建机有 git2️⃣ 拉源码git clone -b releng/14.2 src.git /usr/src锁定 FreeBSD 14.2稳定分支这是可复现的核心3️⃣ 跑构建sh crochet.sh -c ci/configs/config_i386.sh用配置文件驱动整条构建流水线4️⃣ 清缓存rm -rf work/obj删除 obj 目录保证下次全量重建关键洞察使用-b releng/14.2锁定源码分支意味着任何人、在任何时间运行这条脚本拿到的都是同一份 14.2 稳定版源码——镜像自然可复现。最小配置解读board_setup ImageSize构建行为由 ci/configs/config_i386.sh 配置文件决定它本质上就是项目模板 config.sh.sample 的极简版。两个核心配置项board_setup GenericI386 # 第一行必须指定目标平台 option ImageSize 3900mb # 镜像大小适配 4GB 存储卡board_setup是必填项且必须是第一行名字对应 board/ 目录下的平台目录。CI 选用GenericI386通用 i386 平台其板级逻辑在 board/GenericI386/setup.sh 中定义负责 MBR 分区、UFS 文件系统创建和引导块安装。项目支持 30 种硬件平台RaspberryPi、OrangePi、BananaPi、Wandboard、VMWareGuest 等把这一行换成board_setup RaspberryPi就能构建树莓派镜像。增量构建机制让数小时的构建只花几分钟Crochet 最实用的设计藏在 crochet.sh 主脚本和work/工作目录里构建标记world 或 kernel 构建成功后会在work/目录留一个标记文件跳过重建再次运行脚本时检测到标记且构建参数未变直接跳过对应阶段全量重建删除work/obj就像 CI 脚本最后一步即可强制从头编译。# 只改镜像布局重跑 crochet 只要几分钟 sudo /bin/sh crochet.sh -c ci/configs/config_i386.sh # 源码更新了清掉缓存全量重建 rm -rf work/obj这个机制让 CI 流水线既快又干净每次跑完清 obj保证产出一致日常调试时保留缓存快速迭代。构建阶段全解析Crochet 的 strategy 流水线Crochet 内部用strategy 列表组织构建流程见 lib/strategy.sh配置文件中每个option都会向流水线注册任务然后按阶段顺序执行POST_CONFIG → CHECK → BUILD_WORLD → BUILD_KERNEL → 镜像构建/分区/挂载 → BOOT 安装 → FreeBSD installworld → 用户定制阶段常量与描述都定义在 lib/strategy.sh 中比如PHASE_BUILD_WORLD、PHASE_PARTITION_LWW、PHASE_FREEBSD_USER_CUSTOMIZATION。几个 LWWLast Write Wins阶段允许板级定义覆盖默认行为——这正是 30 多种硬件共用一套核心逻辑的原因。 顺便一提主脚本在构建开始和结束都会调用 lib/email.sh 发送状态邮件配合-e email参数长时构建不用干盯着终端等。从 CI 脚本到生产配置可选定制项一览CI 配置只用了 2 个选项而 config.sh.sample 注释里藏着完整的定制手册约 370 行文档。新手常用的几类定制类型示例选项效果 创建用户option User username生成可 SSH 登录的账号默认 root 禁止 SSH 交换文件option SwapFile 768mb自动写入 rc.conf 和 fstab 装软件包option Package sudo nginx从 pkg 仓库安装软件 时间同步option Ntpd启用 NTP 守护进程️ 压缩镜像option CompressImage xz最终镜像压缩打包 覆盖文件overlay/目录任意文件原样拷进镜像所有预置选项的源码都在 option/ 目录每个选项一个子目录如 option/SwapFile/想加自己的功能可以参考 option/Example/ 模板。新手上手清单3 条命令跑通全流程在 FreeBSD 构建机上跟着 CI 脚本即可跑通# 1. 获取 Crochet 源码 git clone https://gitcode.com/gh_mirrors/cr/crochet.git # 2. 直接执行 CI 构建脚本需要 root sudo sh ci/build_14.2_i386.sh # 3. 产物在 work/ 目录用 dd 写入存储设备即可启动⚠️ 实用提示首次构建需数小时机器会自动跳过已完成的编译阶段出问题时先查work/目录下的日志文件换硬件平台前先读对应board/平台名/README。核心文件速查文件说明crochet.sh主入口脚本解析参数、加载库、执行 strategyci/build_14.2_i386.shCI 构建脚本4 步流水线ci/configs/config_i386.shCI 专用 i386 构建配置config.sh.sample完整配置模板 定制文档lib/核心库构建、分区、引导、邮箱通知等board/30 硬件平台定义option/可插拔的构建选项总结Crochet 的 CI 实战展示了自动化镜像流水线的精髓——锁定源码分支保证可复现配置文件描述构建意图增量机制压缩构建时间。从这条 10 行脚本出发你既能快速产出 FreeBSD 14.2 镜像也能轻松扩展到任何 Crochet 支持的硬件平台。【免费下载链接】crochetBuild FreeBSD images for RaspberryPi, BeagleBone, PandaBoard, and others.项目地址: https://gitcode.com/gh_mirrors/cr/crochet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/8/24 11:56:07

和平区孩子弯腰驼背怎么纠正

“站没站相,坐没坐相”,这句话是不是经常挂在嘴边上?在和平区长白岛,很多家长都有同一个困扰:孩子写作业时脑袋快贴到桌子上,走路时肩膀内扣,看起来毫无精气神。很多家长以为“长大就好了”&…

2026/8/24 11:56:07

AI应用出海全攻略:技术选型、架构设计与实战指南

最近和不少做AI应用的朋友交流,发现一个很有意思的现象:很多开发者把目光投向了海外市场。原因很简单,国内AI应用竞争激烈,而海外市场,尤其是欧美市场,用户付费意愿强、对新工具接受度高,为独立…

2026/8/24 11:56:07

企业级AI智能体服务架构设计:从Spring AI到Golang的工程实践

在实际企业级 AI 应用开发中,我们正面临一个关键转折点。传统的单体 AI 模型调用或简单的 API 集成,已经难以支撑日益复杂的业务智能体(AI Agent)场景。当智能体需要处理多轮对话、记忆管理、工具调用、安全合规检查以及自动化工作…

2026/8/24 11:51:06

ncmdump 免费教程:NCM 转 MP3 拖拽即用,批量转换 3 步跑通

ncmdump 免费教程:NCM 转 MP3 拖拽即用,批量转换 3 步跑通 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你从网易云下载的歌,丢进车载音响或任何普通播放器,屏幕只会冷冷回你一句&qu…

2026/8/24 0:07:22

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 1:12:32

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 8:17:29

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 1:09:25

3条命令跑通LocalAI:无GPU本地AI引擎部署

3条命令跑通LocalAI:无GPU本地AI引擎部署 【免费下载链接】LocalAI LocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required. 项目地址: https://gitcode.com/GitHub_Trending/lo/LocalAI…

2026/8/24 1:09:25

AI推理性能测试怎么做:MLPerf Inference完整上手指南

AI推理性能测试怎么做:MLPerf Inference完整上手指南 【免费下载链接】inference Reference implementations of MLPerf inference benchmarks 项目地址: https://gitcode.com/gh_mirrors/inf/inference 同一个模型换一张卡,速度快多少你知道吗&a…

2026/8/23 13:29:45

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/23 6:14:43

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/23 4:22:01

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…