草庐IT

【docker】x86主机在docker中运行arm64镜像

一、背景1、在x86搭建arm64ros的开发环境。2、宿主机:虚拟机x86_ubuntu183、设备:jetsonagxxavier(jetpack4.6.1)jetson已安装各种软件环境二、docker环境搭建打包jeston文件系统把U盘插到jetson,然后执行打包命令。--exclude是排除不需要打包的文件sudotar-cvpf/U盘路径/jetson.tar--directory=/--exclude=proc--exclude=sys--exclude=dev--exclude=run--exclude=boot--exclude=media/.2、x86加载docker文

[Day 1] OpenHarmony介绍

系列文章目录文章目录系列文章目录前言一、OpenHarmony&HarmonyOS二、技术架构1.内核层2.系统服务层3.框架层(重点)4.应用层(重点)三、系统类型及特性1.系统类型2.特性(重点)三、OpenHarmony开发的两种类型2.1设备开发2.2应用开发(重点)总结与课后作业前言之前和一些市场朋友沟通,他们会有一些概念上的问题,比如OpenHarmony是不是等于HarmonyOS,鸿蒙究竟是不是传闻中的安卓套壳呢?本系列文章呢也是作为科普向文章,以我个人的理解带大家了解一些相关知识,从而调起大家自主学习的兴趣,共同学习进步。一、OpenHarmony&HarmonyOS我们首先

ARM汇编

一、ARM编程-工作模式ARMCortex-A系列处理器支持如下八种工作模式:用户模式(usr):User模式操作系统之上应用程序代码运行本模式系统模式(sys):System模式操作系统内核源码里各个系统调用函数体内代码所处的工作模式管理模式(svc):Supervisor模式开机或复位运行的代码软中断异常的处理代码中断模式(irq):Interrupt模式中断是一种硬件通知机制中断异常的处理代码所处的工作模式快速中断模式(fiq):Fast-interrupt模式快中断也是一种硬件通知机制,但对它的响应速度,要比中断异常更快快中断异常的处理代码所处工作模式未定义模式(und):undefi

搭建QEMU+ARM64+Ubuntu模拟环境

QEMU是一个强大的模拟器,可以模拟各种CPU裸机,也可以模拟包括CPU在内的一些系统级组件。QEMU和KVM结合,还可以在主机上运行性能接近主机的虚拟机。本文记录了我在Ubuntu18.04上用QEMU搭建ARM64+Ubuntu20.04虚拟机的过程。1.安装aarch64交叉编译环境 sudoaptinstallgcc-aarch64-linux-gnuUbuntu18.04上安装的arm64编译器版本为7.5.02.编译Linux内核下载Linuxkernel 5.10.146代码 wgethttps://cdn.kernel.org/pub/linux/kernel/v5.x/lin

常用的linux+arm编译运行方法

常用的linux+arm编译运行方法文章目录常用的linux+arm编译运行方法一、准备工作:二、编译工作:三、运行工作总结一、准备工作:1、通过vmware搭建虚拟机ubuntu18.04运行环境。2、安装交叉编译工具链gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz。3、安装mobaxterm。4、安装winscp或者Vmwaretools共享文件夹。二、编译工作:1、编写CmakeLists.txt进行程序的整体编译指令:2、把交叉编译工具链放到指定目录下:/opt/prebuilts/gcc/linux-x86/aarch

【网课平台】Day15.Devops:持续集成与持续交付

文章目录一、Devops1、什么是Devops2、什么是CI/CD3、Devops方案参考二、人工部署1、项目打jar包2、生成镜像、创建容器三、自动化部署1、代码提交到git2、修改pom.xml文件3、前端部署一、Devops1、什么是Devops一个软件的生命周期包括:需求分析阶、设计、开发、测试、上线、维护、升级、废弃。详细如下:产品人员进行需求分析设计人员进行软件架构设计和模块设计每个模块的开发人员并行开发,设计接口、进行编码,并进行单元测试开发完毕,将代码集成部署到测试服务器,测试人员进行测试测试人员发现bug,提交bug、开发人员修改bugbug修改完毕再次集成、测试测试完毕,项

【保姆级教程】Docker服务在双架构(X86和ARM)编译统一实践

在现代计算机系统中,X86和ARM64是两种常见的处理器架构。为了满足不同架构的需求,Docker镜像也需要支持双架构编包形式。本文将介绍Docker镜像双架构编包统一的实践  一、Docker镜像编包   在Docker镜像中,通常使用多阶段构建来实现。在第一阶段,构建出对应架构服务的二进制文件;在第二阶段,运行对应架构的二进制文件,下面是两个基于Debian的Dockerfile文件示例,分别用于构建X86架构和ARM64架构的Docker镜像:1.X86架构的Dockerfile文件示例:FROMdebian:latestASbuilderRUNapt-getupdate&&apt-ge

代码随想录day6|哈希表理论基础、有效的字母异位词、两个数组的交集、快乐数、两数之和

哈希表理论基础当需要判断一个元素是否在一个集合中,哈希表的时间复杂度只有O(1)。哈希表有一个映射的操作,当映射的元素在同一个索引下标的位置,就会引发哈希碰撞。哈希碰撞的两种解决方法:拉链法线性探测法  同时,哈希表还有常见的三种数据结构:分别是数组、集合set、映射map。有效的字母异位词这道题目有效考察了数组在哈希表中的应用这道题的思路是定义一个数组,用来记录字符串t和s在数组中字符出现的次数。比如说字符串s中有a出现,数组0号位置就加一,数组t中有a出现,数组0号位置就减一,这样一来到最后,如果数组中所有的元素都是0,就可以知道这两个字符串是异位词。classSolution{publi

ARM64 寄存器、常用汇编指令收集

寄存器ARM64有34个寄存器,包括31个通用寄存器、SP、PC、CPSR。寄存器位数描述x0-x3064bit通用寄存器,如果有需要可以当做32bit使用:WO-W30FP(x29)64bit保存栈帧地址(栈底指针)LR(x30)64bit通常称X30为程序链接寄存器,保存子程序结束后需要执行的下一条指令SP64bit保存栈指针,使用SP/WSP来进行对SP寄存器的访问。PC64bit程序计数器,俗称PC指针,总是指向即将要执行的下一条指令,在arm64中,软件是不能改写PC寄存器的。CPSR64bit状态寄存器x0-x7:用于子程序调用时的参数传递,X0还用于返回值传递x0-x30是31个

Windows:Arm,我们不合适

整理|郭露出品|CSDN(ID:CSDNnews)(图源自ICphoto)由于联邦贸易委员会在去年对于反垄断严加打击,在上个月彭博社发布一篇报道后,有传言称英伟达正准备放弃以400亿美元收购Arm。倘若英伟达和Arm合并,将创造出仅次于英特尔的第二个半导体巨头,并在移动和嵌入式处理器领域成为高通和三星的强力对手。除此之外,两者合并后还可能成为微软下一代基于Arm的Windows笔记本电脑的硅供应商等。因此,许多行业观察家可能想知道:Arm在桌面计算领域的未来是否全是苹果?就目前而言,只有苹果公司通过将其Mac平台过渡到M1,在自己设计的基于Arm的芯片上取得了成功。苹果M1Mac的成功证明,A