问题标签 [fuchsia]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
installation - 更新项目或包时出现致命错误导致Jiri hooks无法运行 - Fuchsia 源码下载
我正在尝试安装 Fuchsia 源代码,但在获取 CIPD 包时它给了我错误。
我在此 stackoverflow 帖子中尝试了解决方案,但收到了错误消息。这里
我才刚刚开始,对此了解不多。我会很感激我能得到的任何帮助。
fuchsia - 查找要在其上运行 Fuchsia 的目标计算机列表
到今天为止,有没有人找到可以将 Fuchsia 定位到的当前机器列表?(作为实验,我在我的 Linux 笔记本电脑上做了一个通用的 Fuchsia 完整构建。)但是,现在我想进行下一步,尝试将它部署在一些硬件上并看看。
我正在考虑笔记本电脑(chromebook)或平板电脑的思路。
我只找到了 Google 的“fuchsia.dev”网站及其文档。但是我找不到任何讨论 Fuchsia 的论坛。[这里微不足道的 25 到 30 的帖子并不能表明他们有太多的热情。] 有人知道这样的论坛吗?如果没有这样的论坛和一些具体的经验,我开始相信 Fuchsia 还没有准备好进行任何实验。
fuchsia - Fuchsia OS fx mkzedboot 无法正常工作
我完全构建了紫红色 - 并想用它来刷一个 USB 设备。
正确的命令应该是
fx mkzedboot /dev/sdb
似乎只复制了 22MB - 对吗?可能是什么问题呢?
assembly - 这个 start.S 文件上 Zircon (Fuchsia) 内核上运行的第一个代码在哪里?
我正在阅读 Zircon 内核(Fuchsia OS)的 start.S 汇编代码:
https://fuchsia.googlesource.com/fuchsia/+/master/zircon/kernel/arch/arm64/start.S
有这样一行:
我认为这是在内核上执行的第一件事。然而,为了它是真实的,_start
应该是全球性的。我无法确定是不是。
还有另外一行:
这暗示了类似的事情。
什么在FUNCTION
上FUNCTION(_start)
?我尝试搜索“程序集功能宏”,但没有找到与此相关的内容。
看起来这是第一次运行代码,但我无法确定它在哪里分支到真正的内核代码(C++ 代码),所以我很怀疑。
linker - Zircon 内核映像如何链接?(link.ld 脚本在哪里)
我正在阅读 Zircon 源代码:https ://fuchsia.googlesource.com/fuchsia/+/master/我正在尝试查找内核映像的链接方式。也就是start函数放在哪里?
例如,在 raspberry pi 上,kernel.img 启动函数放置在0x80000
如下链接脚本中:https ://github.com/bztsrc/raspi3-tutorial/blob/master/01_bareminimum/link.ld
有板目录:https ://fuchsia.googlesource.com/fuchsia/+/master/boards/对某些板有一些依赖关系。它添加了一些需要的驱动程序。但是,我找不到每个板发生链接的任何地方。
如果我想支持一个新的董事会怎么办?假设我想将 Zircon 移植到树莓派上,所以我需要将 start.S,特别是start
它上面的函数,从 .s 开始0x80000
。我将如何指示 Zircon 构建系统执行此操作?
kernel - 内核中 MMU 上下文中的 PMM 竞技场是什么(锆石/紫红色)
我试图了解 ARM64 中 Zircon 的(Fuchsia OS 内核)如何分配页面,所以我找到了 mmu.cpp https://fuchsia.googlesource.com/fuchsia/+/4277d3203daa0fc5e4dd1625cf96891dd9882f44/zircon/kernel/arch/arm64/mmu .cc#328
但它只是这样做:
pmm_alloc_page
来自这里:https ://fuchsia.googlesource.com/fuchsia/+/4277d3203daa0fc5e4dd1625cf96891dd9882f44/zircon/kernel/vm/pmm.cc#61
此处定义的 pmm 节点:https ://fuchsia.googlesource.com/fuchsia/+/4277d3203daa0fc5e4dd1625cf96891dd9882f44/zircon/kernel/vm/pmm_node.h说:
我在谷歌上找不到 PMM 区域,也没有在 Fuchsia 文档上找到。有人可以向我澄清这些概念吗?
我想了解如何在 Zircon 内核上的 ARM64 中处理 MMU
arm - ARM 中 TPIDR_EL0/TPIDR_EL1 等线程 ID 寄存器的用途是什么?
根据ARM 文档,线程 ID 寄存器像TPIDR_EL0
or TPIDR_EL1
,
提供用于存储软件线程和进程 ID 的位置,以用于操作系统管理。这些寄存器对处理器行为没有影响。
为什么有人想将线程 ID 存储在一个特殊的寄存器中?ARM 处理器是否需要线程在内存中具有特殊的结构,就像 MMU 一样?线程对 ARM 来说是不是特别的东西,是 ARM 期望在某个地方找到的东西?或者我可以在不使用这个寄存器的情况下(有效地)实现线程吗?
我问是因为我在 Fuchsia OS 的 Zircon Kernel 上找到了这段代码:
在启动时它会创建一个线程并将其指针存储在tpidr_el1
time - 为什么 Fuchsia 不限制对时钟的访问以防止不受信任的进程执行定时攻击?
定时攻击是指恶意代码通过测量其他更受信任的进程对私有数据执行已知操作所需的时间来找出它不应该拥有的一些信息。
对象能力模型的拥护者通常认识到,您可以通过默认不提供时钟来减少定时攻击,要求进程具有时钟能力,否则拒绝他们以任何方式测量时间的流逝。鉴于 Fuchsia 是一种非常具有对象能力的操作系统,为什么默认情况下时钟可用?
base64 - base64 无法识别 Windows 10
我想下载 Fuchsia 的源代码。
我输入-s "https://fuchsia.googlesource.com/fuchsia/+/HEAD/scripts/bootstrap?format=TEXT" | base64 --decode | bash
了在fuchsia.dev上找到的 curl 。
我有''base64'' is not recognized as an internal or external command, operable program or batch file.
我下载了base64工具但没有成功。
我应该怎么做才能使这个命令起作用?
fuchsia - Fuchsia Emulator 开始读取 SDK 版本出错
所以我正在尝试运行我的紫红色模拟器,但我一直遇到同样的问题。我在 Ubuntu v20.04 的 Virtualbox VM 上运行。我根据 fuchsia.dev 网站上的入门说明设置并构建了 core.qemu-x64。但是,每当我fx vdl start -N
在 fuchsia 目录中运行时,我只会得到“[info] Waiting for emulator to start...”,它会无休止地重复。查看日志它显示错误消息“读取 sdk 版本错误:没有这样的文件或目录(操作系统错误 2)”。这似乎是模拟器无法启动的原因。在网上看,这个版本的 Ubuntu 如何解决某些导入似乎是一个问题。
有没有办法可以启动模拟器来告诉我这个错误来自哪个文件,以便我可以手动解决它?否则,是否有其他解决方案可以解决此问题?
感谢您的任何意见,如果我可以提供任何其他信息,请告诉我。