3、获取Buildroot:从官方Git仓库克隆Buildroot、了解版本分支(LTS与最新版)、切换到指定版本

好,咱们正式开始动手。上一章我们把环境搭好了,这一章就来拿Buildroot的源码。

说白了,Buildroot就是一个Git仓库。你把它克隆下来,然后选一个你想要的版本,就这么简单。但这里头有几个坑,我当年刚接触时踩过,今天一并告诉你。

3.1 从官方Git仓库克隆

官方仓库地址是:https://git.buildroot.net/buildroot。我个人习惯用HTTPS方式克隆,因为不需要配置SSH密钥,省事。

打开终端,执行:

git clone https://git.buildroot.net/buildroot

嗯,这里要注意。这个仓库大概有几百兆,如果你的网络不太好,可能会卡住。我曾经在客户现场,网络慢得像蜗牛,等了快半小时才克隆完。所以建议你找个网络好的时候干这事。

克隆完成后,你会看到一个 buildroot 目录。进去看看:

cd buildroot
ls -la

你会看到一堆文件和目录,比如 MakefileConfig.inpackage/board/ 等等。别慌,这些我们后面会一一讲到。

小提示:如果你只想下载某个特定版本,不想克隆整个历史,可以用 git clone --depth 1 --branch <版本号> 来浅克隆。这样只下载最新代码,速度快很多。

3.2 了解版本分支:LTS与最新版

Buildroot的版本策略很有意思。它有两种主要分支:LTS(长期支持)最新版

咱们先看看有哪些版本。执行:

git tag | tail -20

你会看到类似这样的输出:

2024.02
2024.02.1
2024.02.2
2024.05
2024.05.1
2024.08
2024.11
2025.02

这里头,2024.02.x 系列就是LTS版本。为什么?因为每年2月发布的版本会被标记为LTS,官方会持续维护两年左右,修bug、打补丁。而其他月份发布的版本(比如2024.05、2024.08)属于最新版,功能更新快,但维护周期短。

我个人的建议是:

  • 做产品、做项目:用LTS版本。稳定,少踩坑。
  • 学习、尝鲜:用最新版。能体验新特性。

你想想看,如果你的产品要卖两年,结果用的版本只维护半年,后面出了安全漏洞你怎么办?所以LTS版本就是干这个用的。

版本类型 发布月份 维护周期 适用场景
LTS 每年2月 约2年 产品开发、长期项目
最新版 5月、8月、11月 约6个月 学习、原型验证

3.3 切换到指定版本

好,现在假设我们决定用LTS版本 2024.02.x 系列的最新补丁版本。怎么切?

先看看 2024.02.x 有哪些小版本:

git tag | grep "2024.02"

输出大概是这样:

2024.02
2024.02.1
2024.02.2
2024.02.3
2024.02.4
2024.02.5
2024.02.6
2024.02.7
2024.02.8
2024.02.9
2024.02.10
2024.02.11
2024.02.12

嗯,到2024.02.12了。我们就切到这个版本:

git checkout 2024.02.12

执行完后,你的工作目录就变成了 2024.02.12 版本的代码。你可以用 git status 确认一下,会看到 HEAD detached at 2024.02.12

注意:切换到某个tag后,你会处于“分离头指针”状态。这意味着你在这个状态下做的任何修改,如果没保存到新分支,切换版本后就会丢失。所以如果你要修改代码,记得先创建一个分支:git checkout -b my-branch

我曾经有一次,在分离头指针状态下改了配置文件,然后直接切到另一个版本,结果改的东西全丢了。从那以后,我每次切版本前都会先确认一下有没有未提交的修改。

3.4 本章知识体系

下面这张图帮你理清本章的核心逻辑:

获取Buildroot:版本选择与切换流程 git clone 官方仓库 选择版本类型:LTS vs 最新版 LTS版本(每年2月) 维护约2年,适合产品 最新版(5/8/11月) 维护约6个月,适合学习 git checkout 2024.02.12 git checkout 2024.11 ⚠ 分离头指针状态 → 记得先创建分支再修改代码

3.5 避坑指南

最后,分享几个我踩过的坑:

  • 不要用master分支:master分支是开发分支,代码可能不稳定。我见过有人直接用master编译,结果编译到一半报错,查了半天发现是代码还没合入。
  • 版本号要写全:比如 2024.022024.02.12 是不同的。前者是初始发布版,后者是打了12个补丁的版本。我建议直接用最新的补丁版本。
  • 切换版本后清理一下:有时候旧版本的配置会残留。执行 make clean 或者直接删掉 output/ 目录,避免干扰。

好了,现在你已经拿到了Buildroot的源码,并且知道怎么选版本、怎么切换。下一章我们就要开始配置了——嗯,那才是真正有意思的部分。


专注资料整理