自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 在鸿蒙 PC 上使用 apt 安装 Debian 软件包(非虚拟机、非容器)

PreLinux 项目实现将 Debian 发行版完整移植至鸿蒙 PC,通过改写 glibc 实现路径重定向,使 apt 等包管理器可在非 root、无虚拟机/容器环境下运行。用户可直接安装并使用 curl、python3、git 等软件,依赖链完整可用。虽受限于静态链接程序不映射、无法编译、不可移动实例等限制,不适合长期开发,但为探索鸿蒙对 Linux 生态的兼容性提供了有力验证。

2026-10-21 22:44:18 341

原创 把 glibc 移植到鸿蒙 PC 上:它能用来做什么

本文介绍了将 glibc 移植至鸿蒙 PC 的实践,通过补丁解决内核兼容性问题,实现对 Linux 原生 glibc 程序的支持。借助 Harmonybrew 可一键安装,配合 patchelf 与自签名工具,成功运行 Bun、OpenJDK 和 Node.js 等复杂应用,显著拓展了鸿蒙 PC 的生态兼容能力,使其能直接使用大量 GNU/Linux 生态软件。

2026-10-16 12:25:46 324

原创 Harmonybrew 仓库中的 gcc(GCC 16)和 llvm(LLVM 23)已经可用

鸿蒙生态长期缺乏高版本编译器,制约开源软件移植。Harmonybrew 社区成功完成 GCC 与 LLVM 鸿蒙移植,支持 GCC 13 及 LLVM 22 等版本。通过 Homebrew 安装后,编译产物可自动签名,直接在鸿蒙 PC 运行。

2026-09-18 14:21:34 270

原创 几个主流的环境管理器(rustup、uv、nvm、fnm)已经在鸿蒙 PC 上可用

在进行软件开发的过程中,开发者经常需要用到各种环境管理器来管理自己的开发环境:Rust 用 rustup,Python 用 uv,Node.js 用 nvm 或 fnm。这些环境管理器都没有官方适配鸿蒙,用户很难在鸿蒙 PC 上使用这些工具。现在,这四款环境管理器已经全部收录进 Harmonybrew 并完成了鸿蒙适配。本文介绍它们的使用方式以及适配原理。

2026-08-23 20:47:39 483 1

原创 鸿蒙 PC 底层开发技术详解(八):鸿蒙 PC 上的问题定位手段

本文档介绍了在鸿蒙PC上进行底层开发时的问题定位方法。由于安全管控限制,传统UNIX工具如strace、ltrace等不可用。作者提供了替代方案:1)使用官方签名的lldb进行调试;2)通过qemu的-strace参数模拟系统调用追踪;3)利用HiLog查看内核日志,重点关注avc、xpm、hmsecpt等安全模块日志;4)proc文件系统部分路径可用。文档详细说明了各工具的获取和使用方法,并分享了权限检查、日志过滤等实用技巧,为鸿蒙开发者提供了有效的调试手段。

2026-07-29 18:51:27 328

原创 鸿蒙 PC 上可用的 AI Agent 工具汇总(持续更新)

本文总结了主流AI编程工具在鸿蒙PC平台的获取方式,涵盖通用类和编程类工具。开源工具占多数,包括OpenClaw、Hermes Agent等,主要通过Harmonybrew、npm或应用市场安装。部分工具如Claude Code新版需要Linux兼容方案运行,而OpenCode目前只有第三方移植版本。闭源工具如Anthropic的Claude Code和Tencent的CodeBuddy Code也有相应安装说明。

2026-07-24 11:58:23 814 1

原创 在鸿蒙 PC 上使用 Claude Code(最新的 Bun 版本)

本文介绍在鸿蒙PC环境下运行Claude Code最新版本的可行方案。由于官方不再提供开源或鸿蒙适配版本,作者选择通过npm获取aarch64-linux-gnu二进制文件,利用Harmonybrew提供的glibc成功在鸿蒙系统上运行。配合DeepSeek API配置,可正常使用TUI界面进行开发辅助。

2026-07-10 12:35:30 703

原创 鸿蒙 PC 底层开发技术详解(七):二进制自签名算法的实现

本文深入分析了鸿蒙PC系统上代码签名机制的具体实现细节。基于对binary-sign-tool开源代码的研究,作者揭示了自签名模式下ElfSignInfo数据结构的完整布局和签名算法,指出其本质上是一个自洽占位机制而非传统数字签名。文章详细说明了fs-verity descriptor的256字节内存布局,包括关键的flags字段(0x10表示自签名)和signature字段的特殊处理方式(存储descriptor自身的SHA-256摘要)。

2026-07-06 21:25:28 454

原创 将鸿蒙 PC 注册为 GitHub Actions 自托管运行器

本文介绍了将鸿蒙PC设备接入GitHub Actions作为自托管运行器的方法。由于官方Runner依赖.NET运行时而鸿蒙系统支持不足,作者采用社区Go语言重写的github-act-runner方案。操作步骤包括下载Linux版本二进制文件、进行代码签名、注册运行器并启动Agent程序。通过一个简单的系统信息工作流验证了方案的可行性,同时提醒需要注意网络稳定性对任务执行的影响。该方案为开发者使用鸿蒙PC设备参与CI/CD流程提供了可行路径。

2026-07-03 16:50:06 395 1

原创 在鸿蒙 PC 上运行 sshd 服务并将设备分享给远程用户

摘要:本文介绍了如何在鸿蒙PC上配置和使用SSH服务端。鸿蒙PC内置SSH客户端但未提供服务端,通过安装适配版OpenSSH(使用Harmonybrew安装)并指定端口启动服务后,可实现局域网内SSH连接。针对远程访问需求,推荐使用rathole内网穿透工具,详细说明了服务端和客户端的配置步骤,最终实现通过公网IP远程访问鸿蒙PC的SSH服务。

2026-06-18 12:57:39 408

原创 在鸿蒙PC上使用pkgsrc进行包管理

本文介绍了在鸿蒙系统上使用pkgsrc进行包管理的改进方案。通过解构构建与使用过程,解决了鸿蒙PC适配的两大难题:uname返回值问题通过OpenHarmony构建解决,root权限问题通过沙箱安装路径解决。项目建立了自动化CI/CD流水线,包含Bootstrap和Bulk-build两条核心流程,支持arm64架构的软件包构建与分发。目前提供开箱即用的bootstrap kit,用户只需下载解压即可使用pkgin安装软件包。

2026-06-15 00:58:03 344

原创 在鸿蒙 PC 上操控远程 Docker

摘要:本文介绍了在鸿蒙PC上通过Docker CLI远程连接Linux服务器Docker引擎的解决方案。由于鸿蒙原生不支持容器引擎,作者采用C/S架构,在鸿蒙PC安装Docker客户端,通过SSH免密登录远程服务器。提供了两种配置方法:使用Docker Context实现持久化连接,或通过DOCKER_HOST环境变量临时连接。文章还探讨了文件挂载和端口映射的"空间错觉"问题,建议使用docker cp和SSH隧道解决。该方案支持AI Agent同时控制鸿蒙主机和远程容器,适用于混合开发场景。

2026-06-06 22:03:53 562

原创 Harmonybrew(Homebrew 的鸿蒙移植版本)已正式上线

Harmonybrew项目正式发布,将Homebrew包管理器移植到OpenHarmony平台,为鸿蒙设备提供成熟的软件管理方案。该项目基于成熟的Homebrew生态,直接继承60%以上的软件包,目前已收录3000+常用工具。安装过程简单,支持鸿蒙PC、开发板等多种设备。项目不仅提供包管理功能,还包含丰富的OpenHarmony开发教学资源,如软件移植案例、技术文档等,帮助开发者快速融入鸿蒙生态。作为开源项目,Harmonybrew致力于降低鸿蒙开发门槛,推动OpenHarmony生态发展。

2026-05-24 23:30:07 391

原创 鸿蒙 PC 底层开发技术详解(六):hmdfs 对我们的影响

鸿蒙PC的家目录(/storage/Users/currentUser)基于HMDFS分布式文件系统,支持多设备文件共享,但对底层开发存在严重限制:文件名大小写不敏感、文件属性操作不完整、不支持UDS和硬链接。开发者可改用应用私有目录(/data/storage/el2/base/files)规避限制,但会面临数据孤岛和生命周期问题。HMDFS虽强大,但不适合需要完整POSIX支持的开发场景,开发者需根据项目需求权衡选择存储路径。

2026-05-04 21:46:01 588

原创 鸿蒙 PC 底层开发技术详解(五):应用沙箱环境和非应用沙箱环境的区别

本文分析了鸿蒙系统(HarmonyOS/OpenHarmony)的应用沙箱机制及其对终端操作的影响。系统通过类似Docker容器的沙箱隔离每个应用,HiShell终端运行在这种受限环境中,导致诸多限制:挂载点隔离、DAC机制差异、SELinux管控和seccomp过滤等,使得常规UNIX命令和调试工具无法正常工作。相比之下,通过hdc shell接入的调试终端虽能脱离沙箱限制,但仍受权限约束,仅在开发板等特定环境下才能获得完全控制权。文章揭示了鸿蒙系统在安全性与功能性之间的权衡,为开发者理解系统权限模型提供

2026-05-04 00:39:00 848

原创 鸿蒙 PC 底层开发技术详解(四):代码签名机制对我们的影响

在鸿蒙 PC 的 HiShell 环境中运行二进制文件时,系统会强制校验该文件及其加载的所有 `.so` 库的代码签名。若签名无效,系统将拦截运行并报错 `permission denied`。

2026-05-03 21:42:37 697

原创 鸿蒙 PC 底层开发技术详解(三):鸿蒙 PC 上的工具链

鸿蒙PC开发工具链分为OpenHarmony SDK和HarmonyOS SDK两套系统。前者由开源社区维护,后者由华为维护并包含前者功能。尽管HarmonyOS SDK中的毕昇编译器性能更优,但开发者多选择OpenHarmony SDK,主要因其分发便利、更新及时且功能足够。工具链提供交叉编译和原生编译两种形态,分别支持在外部设备和鸿蒙PC本机上进行开发。

2026-05-03 16:06:38 630

原创 鸿蒙 PC 底层开发技术详解(二):OpenHarmony、HarmonyOS 与 GNU/Linux 的关系

OpenHarmony:非 GNU 系的 Linux 发行版;HarmonyOS:OpenHarmony 的商业发行版。

2026-05-02 18:32:12 1055 1

原创 鸿蒙 PC 底层开发技术详解(一):编译运行第一个 C/C++ 程序

本系列文章将深入探讨鸿蒙 PC 在文件系统、应用沙箱以及代码签名等层面的底层技术细节。在讨论技术细节之前,我们需要先掌握这项最基础的技能*如何在鸿蒙 PC 本地环境下编译并运行一个简单的 C/C++ 程序。

2026-05-02 00:35:48 326 1

原创 在OpenHarmony设备上使用pkgsrc进行包管理

本文详细记录了在OpenHarmony设备上运行 pkgsrc 的过程,包括环境配置、工具准备、pkgsrc 安装与使用等步骤。通过这一实验,验证了 pkgsrc 在鸿蒙系统上的可行性,为开源软件在鸿蒙生态中的移植提供了参考。

2026-02-14 12:00:00 824

原创 Ports软件组织模式与跨平台包管理神器pkgsrc

本文探讨了软件仓库的一种架构——Ports 组织模式。这是一种以构建脚本为本体、实时定义软件生产逻辑的架构。文章详细拆解了其从源码构建到二进制“缓存”的进化过程,并重点解析了具备极致可移植性的跨平台神器 pkgsrc。

2026-02-13 12:41:17 1031

原创 Linux包管理器生态漫谈

本文系统梳理了 Linux 软件包管理的演进脉络,从早期的源码编译痛点出发,深入解析了传统包管理器(如 APT、Pacman)的依赖管理逻辑,并对比探讨了以 Nix 和 Flatpak 为代表的新一代包管理器在沙箱隔离、原子更新及跨发行版分发上的设计创新。

2026-02-12 12:31:19 1597 1

原创 让ohos-sdk实现自动代码签名的小技巧

我这里提供一个技巧,可以让鸿蒙的编译工具链在编东西的时候直接自动对产物打上代码签名,省去人工操作的繁琐。

2026-01-11 22:19:21 851

原创 Python/Java/JS语言调用C/C++库的底层原理

我将对这块内容做一个科普,并通过“造轮子”的方式,用 100 行代码自己实现一个运行时,带大家体会其中的原理。

2025-12-30 18:49:54 1613

原创 操作系统是如何支持JIT技术的

所谓 JIT 技术,说的是即时编译技术(英文全称为 Just-in-Time Compilation)。

2025-12-25 12:05:32 1068

原创 C语言程序调用syscall的几种方式

众所周知,操作系统的大部分关键能力都是实现在内核中。那么操作系统是如何把内核的能力提供给应用程序使用呢?是通过一个叫做“系统调用”(system call,简称 syscall)的机制。

2025-12-24 10:01:57 820

原创 Linux man pages的使用

man page 是 Unix 和类 Unix 操作系统上的一种软件文档形式。涵盖的主题包括程序、系统库、系统调用,有时还包括本机系统详细信息。

2025-12-23 09:53:45 925

原创 在鸿蒙PC上使用CodeArts IDE进行前端开发

现在的鸿蒙PC已经能具备基本的前端开发能力,只是使用体验还不完美,需要我们自己动手实施一些规避处理方案。

2025-12-22 14:23:29 1522

原创 介绍一个容器化的鸿蒙环境

这个鸿蒙容器使我们能够使用 Linux 服务器来运行和测试我们的命令行程序,而不用依赖 OpenHarmony 物理设备。

2025-11-23 19:04:51 1077

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除