香橙派--关于jammy-xfce-arm64.f12a43b3e629442a073a7236bf9166ce.tar.lz4的rootfs定制与镜像制作

使用 x64 的 Ubuntu22.04 电脑编译

  1. Linux SDK,即 orangepi-build,支持在安装有 Ubuntu 22.04 的电脑上运行,所以下载 orangepi-build 前,请首先确保自己电脑已安装的 Ubuntu 版本是 Ubuntu22.04。查看电脑已安装的 Ubuntu 版本的命令如下所示,如果 Release 字段显示的不是 22.04,说明当前使用的 Ubuntu 版本不符合要求,请更换系统后再进行下面的操作。

    复制代码
      lsb_release -a

    得到如下输出

    复制代码
     No LSB modules are available.
     Distributor ID:
     Ubuntu
     Description:
     Ubuntu 22.04 LTS
     Release:
     Codename:
     22.04
     jammy
  2. 如果电脑安装的是 Windows 系统,没有安装有 Ubuntu 22.04 的电脑,可以考虑使用 VirtualBox 或者 VMware 来在 Windows 系统中安装一个 Ubuntu 22.04 虚拟机。但是请注意,不要在 WSL 虚拟机上编译 orangepi-build,因为 orangepi-build 没有在WSL 虚拟机中测试过,所以无法确保能正常在 WSL 中使用 orangepi-build。

  3. Ubuntu 22.04 amd64 版本的安装镜像下载地址为:

    复制代码
     https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/22.04/ubuntu-22.04.3-desktop-amd64.iso

    或者

    复制代码
     https://repo.huaweicloud.com/ubuntu-releases/22.04/ubuntu-22.04.3-desktop-amd64.iso
  4. 在电脑中或者虚拟机中安装完 Ubuntu 22.04 后,请先设置 Ubuntu 22.04 的软件源为清华源,不然后面安装软件的时候很容易由于网络原因而出错

    a. 替换清华源的方法参考这个网页的说明即可

    复制代码
     https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

    b.注意 Ubuntu 版本需要切换到 22.04

    c.需要替换的/etc/apt/sources.list 文件的内容为

    复制代码
     sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

    再执行

    复制代码
     sudo vim /etc/apt/sources.list

    然后按照下面修改:

    复制代码
     # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
     deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
     # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
     deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
     # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
     deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
     # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
     deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
     # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
     # 预发布软件源,不建议启用
     # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
     # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

    d.替换完后需要更新下包信息,并确保没有报错

    复制代码
     sudo apt update

    e.另外,由于内核和 U-boot 等源码都是存放在 GitHub 上的,所以编译镜像的时候请确保电脑能正常从 GitHub 下载代码,这点是非常重要的。

从 github 下载 orangepi-build

linux sdk 其实指的就是 orangepi-build 这套代码,orangepi-build 是基于 armbian build 编译系统修改而来的,使用 orangepi-build 可以编译出多个版本的 linux 镜像。

首先下载 orangepi-build 的代码,命令如下所示:

复制代码
sudo apt-get update
sudo apt-get install -y git
git clone https://github.com/orangepi-xunlong/orangepi-build.git -b next

注意,Orange Pi 5 开发板是需要下载 orangepi-build 的 next 分支源码的,上面的 git clone 命令需要指定 orangepi-build 源码的分支为 next。

编译 ,运行 build.sh 脚本,记得加 sudo 权限

复制代码
 sudo ./build.sh

按照提示一步一步把所有的都编译完即可。

定制rootf

rootfs压缩包在

复制代码
orangepi-build/external/cache/rootfs/jammy-xfce-arm64.f12a43b3e629442a073a7236bf9166ce.tar.lz4

解压根文件系统

复制代码
cd external/cache/rootfs/
mkdir rootfs
sudo tar -I lz4 -pxf  jammy-xfce-arm64.f12a43b3e629442a073a7236bf9166ce.tar.lz4 -C rootfs

挂载rootfs

复制代码
sudo chroot rootfs

然后在这个虚拟机里面进行一系列操作就可以了

可以参考我这个博客:

复制代码
https://blog.csdn.net/weixin_43269994/article/details/135201633?spm=1001.2014.3001.5502

操作完后执行:

复制代码
sudo umount rootfs

然后执行:

复制代码
cd rootfs

然后执行

复制代码
sudo tar -I lz4 -pcf   ../jammy-xfce-arm64.f12a43b3e629442a073a7236bf9166ce.tar.lz4 *

至此,定制完成

回到主目录执行build.sh即可

相关推荐
RainCity2 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
LinXunFeng9 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
闪闪发亮的小星星13 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq13 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
阿米亚波13 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
自传.13 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
.千余13 天前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
自传.13 天前
尚硅谷 Vibe Coding|第二章 AI编程工具生态 学习笔记
笔记·学习·ai编程·尚硅谷·vibe coding
秋波。未央13 天前
Java Agent 开发 · Day 1 学习笔记(含作业完整标准答案)
java·笔记·学习
中屹指纹浏览器13 天前
2026指纹浏览器字体指纹、字体渲染偏差检测与全维度虚拟字体池搭建方案
经验分享·笔记