当前位置: 首页 > news >正文

移植bash到openharmony

1.交叉工具链

下载地址:

http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist

进入ohos-sdk-full,下载一个sdk版本,这里下载的版本是version-Master_Version-OpenHarmony_5.0.0.35-20240805_020232-ohos-sdk-full.tar.gz。

解压

tar -xf version-Master_Version-OpenHarmony_5.0.0.35-20240805_020232-ohos-sdk-full.tar.gz
cd ohos-sdk
cd linux
unzip native-linux-x64-5.0.0.37-Canary2.zip -d /home/ufo/arm/rk/openharmony/tools/native-5.0

配置环境变量

export OHOS_SDK=/home/ufo/arm/rk/openharmony/tools/native-5.0 # 此处是我的ohos_sdk解压目录,请替换为你自己的解压目录
export AR=${OHOS_SDK}/llvm/bin/llvm-ar
export AS=${OHOS_SDK}/llvm/bin/llvm-as
export LD=${OHOS_SDK}/llvm/bin/ld.lld
export RANLIB=${OHOS_SDK}/llvm/bin/llvm-ranlib
export STRIP=${OHOS_SDK}/llvm/bin/llvm-strip
export CC=${OHOS_SDK}/llvm/bin/clang
export CXX=${OHOS_SDK}/llvm/bin/clang++
export NM=${OHOS_SDK}/llvm/bin/llvm-nm
export OBJDUMP=${OHOS_SDK}/llvm/bin/llvm-objdump
export OBJCOPY=${OHOS_SDK}/llvm/bin/llvm-objcopy
export CFLAGS="-fPIC -D__MUSL__=1 --target=aarch64-linux-ohos"
export CXXFLAGS="-fPIC -D__MUSL__=1 --target=aarch64-linux-ohos"

使用过其他版本的native,例如version-Master_Version-OpenHarmony_4.0.10.5-20230824_120941-ohos-sdk-full_monthly.tar.gz,但是编译出来的bash程序运行有问题,会报Signal 11错误。

2.下载bash源码

Index of /gnu/bash

版本使用bash-5.2.32

3.交叉编译bash源码
tar -xf bash-5.2.32.tar.gz
cd bash-5.2.32
./configure --prefix=${PWD}/_install --host=aarch64-linux --target=aarch64-linux-ohos --enable-static-link --enable-history --without-bash-malloc
make -j$(nproc)
make install

编译成功后在bash-5.2.32源码的_install/bin目录下生成可以执行文件bash。

4.测试

把bash-5.2.32源码下的_install/bin/bash文件复制到板卡

hdc shell mount -o rw,remount /
hdc file send Z:\bash /bin/
hdc shell chmod +x /bin/bash

执行测试

hdc shell
#
# bash
bash-5.2#

相关文章:

移植bash到openharmony

1.交叉工具链 下载地址: http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist 进入ohos-sdk-full,下载一个sdk版本,这里下载的版本是version-Master_Version-OpenHarmony_5.0.0.35-20240805_020232-ohos-sdk-full.tar.gz。 解…...

git stash详细教程

git stash详细教程 基本命令: git stash: 保存当前未提交的更改,并恢复到干净的工作目录。git stash list: 列出所有的 stash。git stash show: 显示最新 stash 的简要内容。git stash show -p: 显示最新 stash 的详细内容。 应用和删除: git stash apply: 应用最新…...

UDP网络攻击

UDP(User Datagram Protocol)作为一种无连接的网络传输协议,以其速度快和资源消耗小的特点,在多种网络服务中发挥着重要作用,UDP的无连接特性也使其成为DDoS攻击的优选协议。 UDP攻击概念 UDP攻击是一种网络攻击手段…...

漏洞扫描的重要性,如何做好漏洞扫描服务

随着互联网技术的飞速发展,网络安全问题已成为不容忽视的重大挑战。其中,系统漏洞威胁作为最常见且严重的安全危险之一,对组织和个人的信息资产构成了巨大威胁。下面我们就来了解下漏洞扫描的好处、漏洞扫描的操作方法以及如何做好网络安全。…...

unity程序简易框架

1. 框架基本结构 2. 单例模式基类模块 2.1 BaseManager.cs using System.Collections; using System.Collections.Generic; using UnityEngine;public class BaseManager<T> where T:new() {private static T instance;public static T GetInstance(){if (instance == …...

Go小技巧易错点100例(十六)

本期看点&#xff1a; 正文开始&#xff1a; 切片的长度和容量 在Go语言中&#xff0c;切片&#xff08;slice&#xff09;是一个引用类型&#xff0c;它是对底层数组的抽象表示&#xff0c;提供了动态长度的、灵活的序列类型。切片包含三个重要的属性&#xff1a;指向底层数…...

通过Golang实现中间人攻击,查看和修改https流量包

要查看和修改 HTTPS 流量包&#xff0c;需要使用一个能够执行 中间人攻击&#xff08;Man-in-the-Middle, MITM&#xff09; 的代理工具。这个工具将拦截并解密 HTTPS 流量&#xff0c;然后允许查看和修改流量包的内容&#xff0c;再将其重新加密并发送到目标服务器。 完整的 …...

MySQL 安装与配置指南

MySQL 是一种广泛使用的关系型数据库管理系统&#xff0c;为各种应用程序提供高效的数据存储和管理解决方案。本文将介绍如何在不同的操作系统中安装 MySQL&#xff0c;以及如何进行基本的配置&#xff0c;以确保数据库系统的最佳性能和稳定性。 一、环境准备 1.1 系统要求 …...

android13布局查看工具 无源码查看布局 在线查找ui布局id

总纲 android13 rom 开发总纲说明 目录 1.前言 2.工具介绍 2.1工具1 2.2工具2 2.3工具3 2.4工具4 3.彩蛋 1.前言 Android 13提供了一些工具来帮助开发人员查看和优化应用的布局。方便的让我们找到具体应用的布局文件等信息。 2.工具介绍 2.1工具1 老版本DDMS&#x…...

【自动化测试必学语言】python:UnitTest框架

目录 介绍 框架 什么是UnitTest框架&#xff1f; 为什么使用UnitTest框架? UnitTest核心要素&#xff08;unitest 的组成部分&#xff09; 1.TestCase&#xff08;最核心的模块&#xff09; 2.TestSuite 3.TestRunner 4.TestLoader 5.Fixture TestCase&#xff08…...

大话LLM之向量数据库

向量数据库是一种专门设计的存储系统&#xff0c;旨在高效处理和查询高维向量数据&#xff0c;通常用于人工智能和机器学习应用中&#xff0c;以实现快速准确的数据检索。 好的&#xff0c;今天我们就来聊聊人工智能和向量数据库的事儿。现在人工智能发展得特别快&#xff0c;特…...

EmguCV学习笔记 C# 2.2 Matrix类

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV学习笔记目录 Vb.net EmguCV学习笔记目录 C# 笔者的博客网址&#xff1a;VB.Net-CSDN博客 教程相关说明以及如何获得pdf教…...

[Windows CMD] 查看网络连接状态 netstat -na | findstr “TCP“

在 Windows 系统中&#xff0c;我们可以使用 netstat 命令来查看网络连接状态&#xff0c;并使用 findstr 命令来过滤出 TCP 和 UDP 的连接。 查看所有网络连接的状态 netstat -na netstat -na: 显示所有网络连接的状态&#xff0c;-n 表示显示数字地址而非域名&#xff0c;…...

「OC」视图控制器的懒加载策略

「OC」视图控制器的懒加载策略 文章目录 「OC」视图控制器的懒加载策略懒加载懒加载的优点常见的懒加载实现方法使用懒加载的注意事项 控制器的懒加载参考资料 懒加载 懒加载&#xff08;Lazy Loading&#xff09;是一种设计模式&#xff0c;其核心思想是在需要时才进行对象的…...

android studio 中 .gitignore 文件改动后 忽略的文件夹或文件无效

问题原因&#xff1a;已跟踪文件的缓存问题&#xff1a; 如果之前已经跟踪了这些文件&#xff08;即它们已经被 Git 加入到版本控制中&#xff09;&#xff0c;即使你在 .gitignore 文件中添加了忽略规则&#xff0c;Git 仍然会显示这些文件。你需要先从 Git 中移除这些文件&am…...

鸿蒙 next 实现摄像头视频预览编码(一)

鸿蒙 next 即将发布&#xff0c;让我们先喊3遍 遥遥领先~ 遥遥领先~ 遥遥领先~ 作为一门新的系统&#xff0c;本人也是刚入门学习中&#xff0c;如果对于一些理解有问题的&#xff0c;欢迎即使指出哈 首先这里要讲一下&#xff0c;在鸿蒙 next 中&#xff0c;要实现摄像头预览…...

YOLO-V3

一、概述 最大的改进就是网络结构&#xff0c;使其更适合小目标检测特征做的更细致&#xff0c;融入多持续特征图信息来预测不同规格物体先验框更丰富了&#xff0c;3种scale&#xff0c;每种3个规格&#xff0c;一共9种softmax改进&#xff0c;预测多标签任务 先验框&#xf…...

golang提案,内置 Go 错误检查函数

先来狠狠吐个槽 要吐槽 Go1 的 error &#xff0c;那咱得先整明白大家为啥都猛喷它的错误处理做得不咋地。在 Go 语言里头&#xff0c;error 本质上其实就是个 Error 的接口&#xff1a; type error interface {Error() string }实际的应用场景如下&#xff1a; func main()…...

零售业务产品系统应用架构设计(三)

智慧物业依据《住房和城乡建设部等部门关于推动物业服务企业加快发展线上线下生活服务的意见建房〔2020〕99号》,推动物业管理公司广泛运用5G、互联网、物联网、云计算、大数据、区块链和人工智能等技术,建设智慧物业管理服务平台,对接城市信息模型(CIM)和城市运行管理服务…...

【GD32】从零开始学GD32单片机 | PMU电源管理单元+深度睡眠和待机例程(GD32F470ZGT6)

1. 简介 PMU电源管理单元通俗讲就是用来管理MCU的电源域的&#xff0c;它主要有两个功能——电压监测和低功耗管理。在GD32中一共有3个电源域——VDD/VDDA域、1.2V域和备份域。 VDD/VDDA域主要供PMU控制器、ADC、DAC等外设使用&#xff1b;1.2V域就是大部分外设都会使用的电源域…...

数模小白别慌!手把手教你用Python和MATLAB搞定国赛美赛(附2022年M奖/省一代码)

数模竞赛入门指南&#xff1a;从零到获奖的Python与MATLAB实战路径 数学建模竞赛对于初学者而言&#xff0c;往往像一座难以攀登的高山。第一次面对赛题时&#xff0c;那种无从下手的迷茫感我至今记忆犹新——三个队友围着一道看似简单的题目&#xff0c;却连该用什么工具、从哪…...

梦幻动漫魔法工坊快速上手:无需代码,网页端直接生成动漫图像

梦幻动漫魔法工坊快速上手&#xff1a;无需代码&#xff0c;网页端直接生成动漫图像 你是否也曾幻想过&#xff0c;用几句话就能召唤出脑海中的梦幻场景&#xff1f;一个可爱的猫耳少女&#xff0c;在樱花树下回眸&#xff1b;或是奇幻的魔法森林里&#xff0c;精灵在月光下起…...

智能硬件适配引擎:让黑苹果EFI配置从技术难题到即插即用的革新方案

智能硬件适配引擎&#xff1a;让黑苹果EFI配置从技术难题到即插即用的革新方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 当你第三次尝试启动黑苹…...

DDrawCompat终极指南:让Windows 11完美运行经典DirectX老游戏

DDrawCompat终极指南&#xff1a;让Windows 11完美运行经典DirectX老游戏 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd…...

JC_Button按键库深度解析:嵌入式消抖与状态机设计

1. JC_Button 库深度解析&#xff1a;面向嵌入式工程师的按键消抖与状态机设计实践在嵌入式系统开发中&#xff0c;机械按键的抖动&#xff08;Bounce&#xff09;是硬件与软件协同设计中最基础、却极易被低估的挑战之一。一个未经处理的按键信号&#xff0c;在按下或释放瞬间会…...

嵌入式硬件设计核心要点与实战技巧

嵌入式硬件设计关键要点解析1. 嵌入式系统硬件架构概述嵌入式系统的硬件架构以CPU为核心&#xff0c;所有外围设备都围绕CPU进行配置。这种架构最显著的特点是硬件可裁剪性&#xff0c;设计者可以根据具体应用需求灵活调整系统组成。在典型的嵌入式硬件设计中&#xff0c;需要重…...

Ollama API 实战:5分钟搞定本地大模型聊天机器人(Python版)

Ollama API 实战&#xff1a;5分钟搞定本地大模型聊天机器人&#xff08;Python版&#xff09; 在AI技术快速发展的今天&#xff0c;本地运行大型语言模型已成为可能。Ollama作为一个轻量级框架&#xff0c;让开发者能够轻松在本地计算机上部署和运行各种开源大模型。本文将带你…...

OneButton库详解:嵌入式单按键多态交互设计与实现

1. OneButton 库深度解析&#xff1a;面向嵌入式系统的单按钮多态交互设计与工程实现1.1 库定位与工程价值OneButton 是一个轻量级、无依赖的 Arduino 兼容库&#xff0c;专为解决嵌入式系统中单物理按键承载多重用户意图这一经典工程难题而设计。在资源受限的 MCU&#xff08;…...

Qwen3.5-35B-A3B-AWQ-4bit图文对话教程:如何利用上下文长度4096做长图分析

Qwen3.5-35B-A3B-AWQ-4bit图文对话教程&#xff1a;如何利用上下文长度4096做长图分析 1. 引言&#xff1a;当AI学会“看图说话” 想象一下&#xff0c;你拿到一张复杂的流程图、一张信息密集的仪表盘截图&#xff0c;或者一张包含大量文字和图表的长图。你不仅想知道图上有什…...

3分钟让静态图像“活“起来:AI肖像动画技术全解析

3分钟让静态图像"活"起来&#xff1a;AI肖像动画技术全解析 【免费下载链接】LivePortrait Bring portraits to life! 项目地址: https://gitcode.com/GitHub_Trending/li/LivePortrait 静态图像如何突破二维平面的限制&#xff0c;展现动态生命力&#xff1f…...