热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Etcherforarm64(鲲鹏、飞腾)

操作系统:UbuntuKylin优麒麟20.04LTS适用架构:arm64由于目前Etcher官方没有发布arm64(鲲鹏、飞腾)版本,因此,在该架构的电脑上,使用起来就不太方便。

Etcher for arm64(鲲鹏、飞腾)

操作系统:Ubuntu Kylin 优麒麟 20.04 LTS

适用架构:arm64

由于目前Etcher官方没有发布 arm64(鲲鹏、飞腾)版本,因此,在该架构的电脑上,使用起来就不太方便。这里提出几种解决办法。

开始之前

Python 有两个分支,Python 2 和 Python 3。 从 Ubuntu 20.04 开始,Python 3 被包括在基础的系统安装之中。Python 2 在通用源仓库中可用。我们鼓励用户切换到 Python 3。

一、已编译好的版本

有大佬在树莓派上做的移植。经过测试,在鲲鹏上也可以运行。

https://github.com/futurejones/balena-etcher-arm/releases

二、自行编译

 高级别的 Etcher 概述

请务必查看我们的 ARCHITECTURE.md 指南,该指南旨在解释所有组件是如何组合在一起的。

开发

所需环境

通用环境

NodeJS(至少版本6.11)
Python 2.7
jq
curl
npm(版本6.7)
git

添加软件仓库

sudo add-apt-repository universe

执行安装命令完成所需软件的安装。

sudo apt install git npm nodejs jq curl python2 python3 python3-pip

使用curl命令来下载 get-pip.py 脚本:

curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py

一旦源仓库被启用,以 sudo 用户身份使用 python2 运行脚本来为 Python 2 安装 pip:

sudo python2 get-pip.py

Pip 将会被全局安装。如果你仅仅想为当前用户安装,不要使用sudo运行上面的命令。这个脚本还将会安装setuptools 和 wheel,它们允许你安装源码版本。

这里会收到提示:

DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support

(弃用:Python 2.7在2020年1月1日到达了它的生命尽头。请升级您的Python,因为Python 2.7不再维护。pip 21.0将在2021年1月放弃对Python 2.7的支持。有关pip中Python 2支持的更多详细信息,请访问http://pip . pypa . io/en/latest/development/release-process/# Python-2-support)

打印 Pip 版本号,验证安装过程:

pip2 -V

安装一些依赖的软件包。

sudo pip2 install -r requirements.txt

您可能需要使用sudo或管理员权限运行此程序。

Linux环境

libudev-dev for libusb

安装命令

sudo apt install libudev-dev

克隆项目

git clone --recursive https://github.com/balena-io/etcher

cd etcher

安装npm依赖项

注意:请使用以下命令来安装 npm 依赖项,而不是简单地运行 npm install,因为我们需要做额外的配置,来确保为 Electron 正确地编译了本地依赖项,否则应用程序可能无法成功运行。

make electron-develop

运行应用程序

图形用户界面

#构建图形用户界面

make webpack

#启动Electron

npm start

测试

要运行测试套件,请运行以下命令:

npm test

鉴于这个应用程序的性质,并不是所有的东西都可以进行单元测试。例如:

在真实的原始设备上运行的写入。
平台不一致。
风格改变。
插图。

我们鼓励我们的贡献者在发送请求之前尽可能多地在操作系统上测试应用程序。

当您发送请求时,测试套件由 CI(配置项)服务器自动运行。

我们还依靠各种 make 目标来执行一些常见任务:

make lint:运行 linter。

make sass:编译SCSS文件。

我们使用 EditorConfig(编辑器配置)来传达缩进、行尾和其他文本编辑默认值。我们鼓励您在自己选择的文本编辑器中安装相关插件,以避免在审查过程中不得不解决任何问题。

更新依赖关系

如果我们使用 npm shrinkwrap,我们必须采取额外的步骤来确保 NPM-shrinkrap.JSON 文件在我们更新依赖项时得到正确更新。

使用以下步骤确保一切顺利进行:

运行 make electron-develop,以确保您没有在开发过程中可能带来的无关依赖,或者您运行的是较旧的依赖,因为您来自另一个分支或引用。

安装新版本的依赖项。例如:npm install --save @。这将更新npm-shrinkwrap.json文件。

同时提交package.json和npm-shrinkwrap.json。

区分二进制文件

二进制文件在 .gitattributes 文件中有“binary”标记,但也有一个 diff=hex 标记,它允许您查看二进制文件的hexdump样式的diffs,如果您将以下内容添加到全局或存储库本地git配置中:

$ git config diff.hex.textconv hexdump

$ git config diff.hex.binary true

和全局,分别是:

$ git config --global diff.hex.textconv hexdump

$ git config --global diff.hex.binary true

如果你的平台上没有 hexdump,你可以试试hxd,它也快一点。

提交指南

有关如何编写提交消息的完整指南,请参见 COMMIT-GUIDELINES.md

发送 pull(拉取)请求

发送请求时,请考虑以下准则:

写一个简洁的提交消息解释你的改变。
如果适用,在提交正文中写入更多描述性信息。
提到操作系统以及您在其中测试更改的相应版本。
如果您的更改影响了应用程序的视觉效果,请考虑附加一个屏幕截图。
请参考您的请求修复的问题,这样当您的请求被合并时,它们会自动关闭。
写一个描述性的请求标题。
可能时挤压提交,例如,提交审阅更改时。

在合并请求之前,必须满足以下条件:

linter没有发出任何警告。
所有的测试都通过了。
编码风格符合项目惯例。
您的更改被确认在我们支持的操作系统的最新版本中有效。

如果你有任何问题或需要任何帮助,请不要犹豫,与我们联系!

参考文件

《如何在 Ubuntu 20.04 上安装 Python Pip》https://www.itcoder.tech/posts/how-to-install-pip-on-ubuntu-20.04/

《Etcher 构建指南》https://github.com/balena-io/etcher/blob/master/docs/CONTRIBUTING.md


推荐阅读
  • 本文介绍了如何在不同操作系统上安装Git,以及一些基本和高级的Git操作,包括项目初始化、文件状态检查、版本控制、分支管理、标签处理、版本回退等,并简要提及了开源许可协议的选择。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • Ubuntu系统下的GIF动画录制解决方案
    在撰写文章或教程时,GIF动态图能够有效地传达信息。对于Windows用户而言,ScreenToGif是一款非常实用的工具。而在Ubuntu系统中,用户同样拥有多种选择来创建GIF动画,本文将重点介绍两款录屏工具——Byzanz和Peek。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • Git版本控制基础解析
    本文探讨了Git作为版本控制工具的基本概念及其重要性,不仅限于代码管理,还包括文件的历史记录与版本切换功能。通过对比Git与SVN,进一步阐述了分布式版本控制系统的独特优势。 ... [详细]
  • 本文档提供了在Windows 10操作系统中安装Python 3及Scrapy框架的完整指南,包括必要的依赖库如wheel、lxml、pyOpenSSL、Twisted和pywin32的安装方法。 ... [详细]
  • 页面预渲染适用于主要包含静态内容的页面。对于依赖大量API调用的动态页面,建议采用SSR(服务器端渲染),如Nuxt等框架。更多优化策略可参见:https://github.com/HaoChuan9421/vue-cli3-optimization ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • Node.js在服务器上的多种部署策略
    本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 16.04 系统上配置 Qt 5.5 的交叉编译环境,特别针对 i.MX6 平台进行了优化设置。内容涵盖从基本的软件安装到高级配置的全过程。 ... [详细]
author-avatar
jiajian123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有