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

相关推荐
梁小憨憨1 小时前
zotero扩容
人工智能·笔记
Hello_Embed1 小时前
STM32HAL 快速入门(十九):UART 编程(二)—— 中断方式实现收发及局限分析
笔记·stm32·单片机·嵌入式硬件·学习
笑鸿的学习笔记2 小时前
JavaScript笔记之JS 和 HTML5 的关系
javascript·笔记·html5
用户931356002746 小时前
文件包含漏洞
笔记
lingggggaaaa6 小时前
小迪安全v2023学习笔记(七十九讲)—— 中间件安全&IIS&Apache&Tomcat&Nginx&CVE
笔记·学习·安全·web安全·网络安全·中间件·apache
我登哥MVP6 小时前
Java File 类学习笔记
java·笔记·学习
天天开心a10 小时前
OSPF基础部分知识点
网络·笔记·学习·智能路由器·hcip
致***锌13 小时前
期权平仓后权利金去哪了?
笔记
LiuYaoheng13 小时前
【Android】View 的基础知识
android·java·笔记·学习
星梦清河14 小时前
宋红康 JVM 笔记 Day14|垃圾回收概述
jvm·笔记