OrangePi 学习摘录

简介: OrangePi 学习摘录

1. 参考

淘宝

香橙派官网

Orange-Pi-3B

Orange-Pi-CM4

基于docker构建香橙派zero系统构建环境

2. 开发板 Orange-Pi-CM4 预览

3. 烧录 Linux 镜像到 TF 卡中

  1. 首先通过 USB2.0 公对公数据线连接好开发板与 Windows 电脑,开发板 USB2.0 烧录口的位置如下图所示

  1. 确保 TF 卡插槽没有插入 TF 卡
  2. 然后按住开发板的 MaskROM 按键不放,MaskROM 按键在开发板的位置如下图所示:

  1. 然后给开发板接上 Type-C 接口的电源,并上电,然后就可以松开 MaskROM 按键了

  1. 如果前面的步骤顺利,此时开发板会进入 MASKROM 模式,在烧录工具的界面上会提示 “发现一个 MASKROM 设备”

4. 制作桌面版镜像

制作RK3568 ubuntu20.04桌面版镜像

Rockchip RK3399 - 移植ubuntu 20.04.4根文件系统

qemu/chroot

qemu+chroot构建arm aarch64虚拟机

# 1、x86环境安装qemu-user-static
sudo apt-get install qemu-user-static

# 2、准备arm linux根文件系统
# arm linux根文件系统可以直接下载干净的版本
# 或者从运行的arm单板上进行备份获取。
# arm 单板上备份根文件系统命令:
sudo tar -cvpzf rootfs.tgz --exclude=/proc --exclude=/mnt --exclude=/sys --exclude=/rootfs.tgz /

# 解压根文件系统命令:
tar -xvpfz rootfs.tgz -C ./

# 3、构建虚拟机
# 创建rootfs目录,在rootfs下执行根文件系统解压命令,解压完成后,copy qemu执行命令到arm文件系统中
sudo cp /usr/bin/qemu-arm-static usr/bin/
sudo cp /usr/bin/qemu-aarch64-static usr/bin/

# 在rootfs录下创建proc、sys、host目录
# 在rootfs所在目录下创建ch-mount.sh文件
# ch-mount.sh

#!/bin/bash
function mnt() {
    echo "MOUNTING"
    sudo mount -t proc /proc ${2}proc
    sudo mount -t sysfs /sys ${2}sys    
    sudo mount -o bind /dev ${2}dev
    sudo mount -o bind /run ${2}run 
    sudo mount --bind / ${2}host
    #sudo mount -vt tmpfs shm ${2}dev/shm
    #sudo mount -t /dev/shm ${2}dev/shm
    sudo chroot ${2}
}

function umnt() {
    echo "UNMOUNTING"
    sudo umount ${2}proc
    sudo umount ${2}sys
    #sudo umount ${2}dev/shm
    sudo umount ${2}dev
    sudo umount ${2}run
    sudo umount ${2}host
}

if [ "$1" == "-m" ] && [ -n "$2" ] ;
then
    mnt $1 $2
elif [ "$1" == "-u" ] && [ -n "$2" ];
then
    umnt $1 $2
else
    echo ""
    echo "Either 1'st, 2'nd or both parameters were missing"
    echo ""
    echo "1'st parameter can be one of these: -m(mount) OR -u(umount)"
    echo "2'nd parameter is the full path of rootfs directory(with trailing '/')"
    echo ""
    echo "For example: ch-mount -m /media/sdcard/"
    echo ""
    echo 1st parameter : ${1}
    echo 2nd parameter : ${2}
fi

# 执行ch-mount.sh,创建虚拟机
sudo ./ch-mount.sh -m rootfs/

# arm虚拟机准备完毕,可以在虚拟的arm环境上进行相应的操作,创建用户、编译arm版本、......

# 4、卸载虚拟机
# 在虚拟机环境中执行exit退出。然后执行命令卸载挂载的相关文件。
sudo ./ch-mount.sh -u rootfs/

ubuntu_x86_64上运行arm64的程序

x86-64 linux chroot 到 arm64 chroot 环境中

x86主机下运行ARM64程序的两种方式

5. Armbian

Armbian

Armbian 快速入门指南

Igor

Armbian 清华源镜像

6. 编译

代理

export http_proxy=http://192.168.1.3:7897
export https_proxy=http://192.168.1.3:7897

Rockchip RK3566 - orangepi-build脚本分析

Support for OV9281 camera on OrangePi-5

uboot分区介绍

uboot与分区表

[经验] 瑞芯微在开源支持中使用GPT作为其主要分区表

从零开始移植最新版本(2023.10)主线Uboot到Orange Pi 3(全志H6)

R818-Linux .ko文件生成和自动加载

设备树插件dtbo介绍与应用

U-Boot/Linux设备树简明使用手册

Linux之设备树解耦架构解读-V1.0

第三篇 香橙派的外设开发基础(中)— 串口篇


使用 Whiptail:Linux终端下的对话框工具

目录
相关文章
|
人工智能 自然语言处理 监控
从编排流程到设计环境:我们为什么彻底重构 Agent 的开发方式
JVS Crew是阿里云企业级AI智能体平台,摒弃传统编排范式,首创“环境范式”:智能在模型,执行在沙箱。通过Harness四层架构,实现安全隔离、动态决策、全链路可观测与渐进式交付,让Agent越用越聪明。
|
前端开发 Java 数据安全/隐私保护
Docker Desktop 启动报错 Unexpected WSL error 问题解决
Docker Desktop 启动报错 Unexpected WSL error 问题解决
|
网络协议 Java
【工具】Mermaid + 大模型画流程图
最近看面试文章关于TCP三次握手和四次挥手的文章,时常会看到有类似的图去描述这样的过程。当然觉得这样的图还是蛮规范的,属于流程图的一种,是否有工具可以自动生成呢?但没有细想,昨天刷V2EX看到也有老哥发出了这样的问题。于是顺着评论区大佬的回答,我GET到了一个工具Mermaid 这里三次握手的图取自小林coding的文章
2323 0
|
Ubuntu 安全
Ubuntu 安全重启 / Ubuntu 系统死机解决方法
初装Ubuntu双系统时,经常会遇到各种各样的问题导致系统崩溃、卡死、黑屏等情况,新手或者小白可能直接选择长按电源键强制重启了
5924 0
|
安全 机器人 测试技术
带你读《无人机网络与通信》之一:无人机系统概述
本书针对无人机系统两个关键问题—通信组网和管控体系做了比较全面和深入的描述和探讨,特别是以大量笔墨分析了现有无线通信解决方案,对比了不同通信协议,得出了很有价值的研究结论。无人机的跨越式发展将涉及公共安全管理的问题,构建管控体系是当务之急,分级管理以及制定相应的适航标准是一件大事情,本书对此也进行了系统的、建设性的讨论。未来,高档无人机和无人机集群将对环境具有更强的感知能力和自适应能力,还有对任务的自规划和学习、调整能力,本书讨论的内容将为它们的发明、部署和监督提供宝贵的信息。
|
人工智能 运维 自然语言处理
电力+AI,「国网云智」重构电网运维的"超级大脑"
在深夜,当城市楼宇渐入梦乡时,在国网信通公司云运营中心还有一批运维工程师默默守护着大家微弱的灯光、此起彼伏的沟通声、咔咔的键盘敲击声响彻着每个工位。 当某系统的异常警报亮起时,工程师迅速利用「国网云智」定位问题,屏幕上即刻弹出详尽的排查方案及解决方案;而另一侧的监控员框选闪烁的告警区域,系统已自动锁定故障点,并在生成检修方案上标注了对应的工具清单和操作优先级。
1294 0
|
12月前
|
存储 算法 芯片
实现p10点阵屏16 32单屏汉字静态、左滚显示,数字静态显示
实现p10点阵屏16 32单屏汉字静态、左滚显示,数字静态显示
325 0
|
前端开发 JavaScript API
如何使用 Canvas 实现复杂的动画效果?
【10月更文挑战第24天】使用Canvas实现复杂的动画效果,需要综合运用JavaScript、数学知识以及对Canvas API的深入理解。
775 63
|
机器学习/深度学习 自然语言处理 算法
调研180多篇论文,这篇综述终于把大模型做算法设计理清了
《A Systematic Survey on Large Language Models for Algorithm Design》综述了过去三年大型语言模型(LLMs)在算法设计中的应用。LLMs通过自然语言处理技术,助力生成、优化和验证算法,在优化、机器学习、数学推理等领域展现出广泛应用前景。尽管存在资源需求高、结果不确定等挑战,LLMs仍为算法设计带来新机遇。论文地址:https://arxiv.org/abs/2410.14716。
609 14
|
Ubuntu 开发工具 C++
Ubuntu 22.04上编译安装c++ libconfig library
通过本文的介绍,我们详细讲解了如何在Ubuntu 22.04上编译和安装libconfig库,并通过编写和运行一个简单的测试程序来验证安装是否成功。libconfig库的安装过程相对简单,主要包括环境准备、下载源码、编译和安装几个步骤。希望本文对您在项目中使用libconfig库有所帮助。
944 13