Chimera Linux则另辟蹊径,它的大部分用户空间源自FreeBSD,打包工具用的是Alpine Linux的apk,C库用的是musl。更令人惊奇的是,这个还在早期开发阶段的发行版,竟然支持x86-64、Arm64、PowerPC以及RISC-V等多种架构。这种广泛的平台支持,在Linux发行版中并不常见。然而,理想很丰满,现实很骨感。Chimera Linux的开...
riscv64-unknown-linux-musl-gcc 是一个交叉编译器,专门用于编译针对 RISC-V 64位架构、运行于使用 Musl C 库(而非 GNU C Library, glibc)的 Linux 系统上的程序。RISC-V 是一种开放标准的指令集架构(ISA),而 Musl 是一个轻量级、标准兼容的 C 库,旨在替代 glibc。
对于我们需要支持的大部分RISC-V变体的上游支持,并且正在积极开发中。 Glibc是上游,Musl有一个下游端口,应该很快就会上游,有一些初始的Rust端口基于我为裸机工具链做的LLVM工作,因此Linux在LLVM开发的下一阶段被阻止。还有一些Go支持暂停了一段时间,但我相信现在又有所回升。 我提到模拟是一种流行的入门方式。尽管您...
url = https://gitlab.com/qemu-project/qemu.git [submodule "musl"] path = musl url = https://git.musl-libc.org/git/musl branch = master [submodule "spike"] path = spike url = https://github.com/riscv-software-src/riscv-isa-sim.git branch = master [submodule "pk"] path = pk ...
交叉编译器采用的是算能官方提供的。这个包中包括了用于裸机的elf工具链和gnu、musl两个版本的工具链。我们使用cat /proc/version目录查看了官方镜像所使用编译器的版本,和官方提供的工具链一致,而且是musl版本的。 在主机上建立一个env.sh文件,输入如下内容: ...
近期,RISC-VSIG 在欧拉嵌入式操作系统上成功实现了 musl libc 的适配,完成了使用 musl libc 库替换 glibc 库构建镜像的工作。目前,以 musl libc 为基础库编译的镜像已在 RaspberryPi4 开发板上可用,这一成果推动了 openEuler Embedded 的多态发展。 编译镜像步骤说明: ...
export PATH="$HOST_TOOL_PATH/gcc/riscv64-linux-x86_64/bin:$HOST_TOOL_PATH/gcc/riscv64-linux-musl-x86_64/bin:$HOST_TOOL_PATH/gcc/riscv64-elf-x86_64/bin:$PATH" (左右移动查看全部内容) 然后在主机的命令行执行source env.sh以设置环境变量。
交叉编译器采用的是算能官方提供的。这个包中包括了用于裸机的elf工具链和gnu、musl两个版本的工具链。我们使用cat /proc/version目录查看了官方镜像所使用编译器的版本,和官方提供的工具链一致,而且是musl版本的。 在主机上建立一个env.sh文件,输入如下内容: ...
riscv64-linux-musl-gcc-static-o a a.c 接着反汇编: 代码语言:javascript 代码运行次数:0 复制 Cloud Studio代码运行 riscv64-linux-musl-objdump-Da>a.txt 于是得到了以下片段: 代码语言:javascript 代码运行次数:0 复制 Cloud Studio代码运行 0000000000010216:10216:1141addi sp,sp,-1610218:e406 sd ra,8...
这是一个小型 Linux 发行版互相帮助的好例子,同样基于 musl-libc 的 Adélie Linux的共同开发者Zach van Rijn授予了 Chimera 的开发人员对 Milk-V Pioneer 机器的远程访问权限: 性能还算可以接受,但远不及我最初认为的与 Cortex-A72 类似的水平;这些内核的实际性能更接近 Cortex-A55,尤其是因为我们必须禁用向量。