香橙派--关于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即可

相关推荐
Heartache boy38 分钟前
野火STM32_HAL库版课程笔记-手动建立工程模板与CubeMX后续用法(重要)
笔记·stm32·单片机·嵌入式硬件
Ztopcloud极拓云视角5 小时前
Gemini 3.1 Pro vs GPT-5.4 Pro:API成本1/3、性能差多少?选型实测笔记
人工智能·笔记·gpt·ai·语言模型
鱼鳞_8 小时前
Java学习笔记_Day22
java·笔记·学习
自小吃多9 小时前
TMC220X芯片 串口工具连接交互
笔记·嵌入式硬件
ZhiqianXia9 小时前
PyTorch学习笔记(6) : torch.autograd
pytorch·笔记·学习
网络工程小王9 小时前
【提示词工程和思维链的讲解】学习笔记
人工智能·笔记·学习
后藤十八里9 小时前
极验4消消乐验证码逆向笔记
笔记·爬虫·python
圣光SG10 小时前
项目分析与程序设计 学习笔记
笔记·学习·学习笔记·程序设计·项目分析
升职佳兴10 小时前
Excel:VLOOKUP 学习笔记 · 完整版
笔记·学习·excel
南境十里·墨染春水10 小时前
C++笔记 Lambda表达式
开发语言·c++·笔记