香橙派--关于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:UbuntuDescription:Ubuntu 22.04 LTSRelease:Codename:22.04jammy
    
  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 multiversedeb 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 multiversedeb 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 multiversedeb 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即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/593401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读--EFFICIENT OFFLINE POLICY OPTIMIZATION WITH A LEARNED MODEL

作者:Zichen Liu, Siyi Li, Wee Sun Lee, Shuicheng YAN, Zhongwen Xu 论文链接:Efficient Offline Policy Optimization with a Learned Model | OpenReview 发表时间: ICLR 2023年1月21日 代码链接:https://github.com/s…

什么是Maven ??? (以及关于依赖,中央仓库,国内源)

文章目录 什么是 Maven创建第一个 Maven 项目依赖管理Maven 的仓库Maven 如何设置国内源 什么是 Maven Maven :用于构建和管理任何基于java的项目的工具。**说白了就是管理 Java项目 的工具。**我们希望我们已经创建了一些东西,可以使Java开发人员的日常…

鸿蒙HarmonyOS- 弹框组件库

简介 今天介绍一个基于ArkUI框架开发的弹框组件库,该库基于ArkUI的弹框基础功能和自定义能力。针对通用的弹框业务场景,该库提供了丰富的组件弹窗功能。 包括确认输入弹窗、列表展示选择弹窗、自定义底部/顶部弹窗、自定义动画弹窗、自定义全屏弹窗、消息…

20.oracle保留小数或整数函数

oracle的函数主要有这几种 1、ceil(n)取整(大),取比真值大的最小整数,注意正负数的取值: 如ceil(251.0001)252,ceil(-251.0001)-251,ceil(-251.9999)-251; select ceil(251.0000001) from dual; 结果&…

nginx访问路径匹配方法

目录 一:匹配方法 二:location使用: 三:rewrite使用 一:匹配方法 location和rewrite是两个用于处理请求的重要模块,它们都可以根据请求的路径进行匹配和处理。 二:location使用: 1:简单匹配…

一键制作电子样册,提升企业品牌形象

​电子样册作为一种新型的宣传方式,具有许多优势。首先,它打破了传统纸质宣传册的局限性,可以随时随地展示企业的产品和服务。其次,电子样册可以通过多媒体形式展示企业的品牌形象,包括图片、视频、文字等多种形式&…

Github 2023-12-31 开源项目日报 Top10

根据Github Trendings的统计,今日(2023-12-31统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目3Swift项目1Java项目1HTML项目1Astro项目1Python项目1C项目1Dart项目1Jupyter Notebook项目1C项…

Linux/Unix/国产化操作系统常用命令(二)

目录 后CentOS时代国产化操作系统国产化操作系统有哪些常用Linux命令关于Linux的LOGO 后CentOS时代 在CentOS 8发布后,就有了一些变化和趋势,可以说是进入了"后CentOS时代"。这个时代主要表现在以下几个方面: CentOS Stream的引入…

Doris 数仓使用规范(经验版)

第一部分:字符集规范 【强制】数据库字符集指定utf-8,并且只支持utf-8。 命令规范 【建议】库名统一使用小写方式,中间用下划线(_)分割,长度62字节内【建议】表名称大小写敏感,统一使用小写方…

Unity常见错误合集

前言 在Unity开发中,会出现一些报错,这次总结一下本人在开发中的常见错误,并跟随其解决方案,以便之后好进行回顾。 编译错误 1.1 错误信息:“The type or namespace name ‘XXX’ could not be found (are you miss…

知识库:提升客服效率的利器

相信大家都有过这样的经历:在需要帮助或解决问题时,与客服沟通却遇到了冗长的等待时间、低效的回答和重复的解决方案。这些问题不仅令人沮丧,也给企业带来了巨大的挑战。然而,随着技术的发展,客服系统中的知识库正逐渐…

求一个整数二进制中1的个数(三种方法详解)

越过寒冬 前言 今天复习了一些操作符的知识,看到了这道题,并且发先有三种解题思路,觉得有趣,据记下来与诸位分享一下。 题目 写一个函数,给定一个整数,求他的二进制位中1的个数 思路1 既然是二进制位那…

UI5与后端的文件交互(二)

文章目录 前言一、开发Action1. 创建Structure2. BEDF添加Action3. class中实现Action 二、修改UI5 项目1. 添加一个按钮2. 定义事件函数 三、测试及解析1. 测试2. js中提取到的excel流数据3. 后端解析 前言 这系列文章详细记录在Fiori应用中如何在前端和后端之间使用文件进行…

判断一个数字是否为奇数或偶数:

以下实例用于判断一个数字是否为奇数或偶数: 实例(Python 3.0) # Filename : test.py # author by : www.dida100.com # Python 判断奇数偶数 # 如果是偶数除于 2 余数为 0 # 如果余数为 1 则为奇数 num int(input("输入一个数字: ")) if (num % …

python中,将csv文件转换为txt文件的几种方法

方法一、使用 csv 模块: import csv# 读取CSV文件 csv_file_path data.csv txt_file_path data_txt.txtwith open(csv_file_path, r) as csv_file, open(txt_file_path, w) as txt_file:# 创建CSV读取器csv_reader csv.reader(csv_file)# 逐行读取CSV文件&#…

Java学习苦旅(十六)——List

本篇博客将详细讲解Java中的List。 文章目录 预备知识——初识泛型泛型的引入泛型小结 预备知识——包装类基本数据类型和包装类直接对应关系装包与拆包 ArrayList简介ArrayList使用ArrayList的构造ArrayList常见操作ArrayList遍历 结尾 预备知识——初识泛型 泛型的引入 我…

Glide加载不出图片与请求浏览器资源时中文转码问题

报错代码如图:Image load failed: Failed to load resourse 首先确保你的图片 URL 地址是正确的,可以通过在浏览器中直接访问这个 URL 来测试。另外,确保 URL 地址不包含特殊字符或空格,以免影响加载。 然后确定依赖库没有问题&am…

lwip发送组播数据问题

1、今天测试组播包发现,组播数据只能在默认网卡发送成功,多次交叉测试依然这样,所以和网卡的配置无关 (我的是双网卡) 2、最后搜源码看,才发现有一段代码如下: struct netif * ip4_route(cons…

如何选择高防服务器

高防服务器是指抗DDos能力在50G以上的单个独立服务器,检查服务器可能存在的安全漏洞,提高业务的安全与稳定性,同时高防服务器也是服务器的一种。那我们该如何选择高防服务器呢,让小编来给大家谈一谈吧。 选择适合自己的防御 高防…

Ubuntu安装和配置ssh教程

在Ubuntu上安装和配置SSH(Secure Shell)是一个相对直接的过程。SSH允许您安全地访问和管理远程服务器。以下是安装和配置SSH的基本步骤: 安装SSH 打开终端: 在Ubuntu上,按下 Ctrl Alt T 打开终端。 更新软件包列表: 输入以下…