会自动的帮你构建一整套的环境包括opensbi、linux、rootfs等等。但是也需要做好编译很久的准备,因为会从外网下载一些软件包。我机器上遇到一编译kernel就卡住不动,内存耗尽的情况,所以我通过make menuconfig配置,将Linux的kernel不选择编译进去。 经过一段漫长的时间的等待之后,终于编译完成了,可以在output/images中看到编...
但是,Linux社区最近发生的事情,却让全世界技术爱好者感到心寒,让所有采用Linux的厂商感到心惊肉跳。因为俄乌冲突,Linux社区粗暴地赶走了所有的俄罗斯开发者,引发众怒,而在众多的西方Linux维护者看来,这一切都合情合理,因为Linux内核也要合规要求。事情的起因是10月18日,Linux内核维护者Greg Kroah-Hartman在一封...
RISC-V Linux启动,经历了两次页表创建过程,第一次使用C函数setup_vm()创建临时页表,第二次使用C函数setup_vm_final()创建最终页表。 具体细节参考代码中的注释,下面的代码省略了一些不重要的部分。 setup_vm() asmlinkage void __init setup_vm(uintptr_t dtb_pa) { uintptr_t va, pa, end_va; uintptr...
RISC-V Linux的汇编启动部分比较简单,不算复杂。有两个部分比较核心:页表创建和重定向。页表创建是用C语言写的,今天先分析汇编部分,先带大家分析整体汇编启动流程,然后分析重定向。 注意:本文基于linux5.10.111内核 好文推荐: 万字讲解你写的代码是如何跑起来的? 什么是Linux内核,如何搞懂Linux内核?(Linux内核学习...
【Linux社区粗暴赶走俄罗斯核心开发者:开源成笑话】 Linux一直都可以说是开源的代名词,也是Windows、Mac之外最重要的第三股力量,我国的众多“国产操作系统”都是基于Linux内核而来。 可以说,Linux构成了整个开源世界的重要基石。 但是,Linux社区最近发生的事情,却让全世界技术爱好者感到心寒,让所有采用Linux的厂商感到心惊...
RISC-V软件系列:Linux内核的编译与运行 RISC-V是一种开源的指令集架构(ISA),它以其模块化、可扩展和开源的特性吸引了广泛的关注。在RISC-V平台上运行Linux内核可以充分利用该架构的优势,并享受Linux社区提供的丰富软件生态。本文将指导读者完成RISC-V平台上Linux内核的编译和运行过程。 一、RISC-V架构简介 RISC-V...
RISC-V,这个一度被寄予厚望的开源架构,现在却遭遇了“退货”。Chimera Linux,一个挺有意思的Linux发行版,宣布放弃支持RISC-V了。理由嘛,简单粗暴:太慢,影响开发。这事儿,就像是你在电商平台上买了个“物美价廉”的宝贝,结果到手一看,性能还不如你几年前淘汰的旧货。理想很丰满,现实很骨感,开源情怀...
linux 根文件系统 1、下载RISC-V工具链 自己下载工具链源码进行编译容易配错选项,我们使用编译好的工具链即可。 网址: 这个网站提供了一些已经编译好的工具链,我们从中下载即可。 arch选择riscv64-lp64d,libc选择glibc,然后点击下载。 stable是稳定版,bleeding-edge是最新的,可根据需要选择,这里我们选择bleeding-edge...
我们对 RV 架构的支持实际是早于 loong64 的,中科院 PLCT 团队在我们做主线化支持之前就已经做好了一套非常早期的版本,并且可以启动到桌面,然而那时我们获得的硬件是全志 D1,当时我拿了一个回去玩,跑起了 Linux 之后就再也不想动它,让它吃灰去了,因为性能实在是太弱了,和同样价格的 rk3566 相比,无论是性...
Linux Kernel 6.10 为 RISC-V 架构添加了 Rust 语言支持,为 EROFS 文件系统添加了 Zstandard 压缩支持,以及为 x32 子架构带来影子堆栈支持,进一步完善 TPM 总线加密和完整性保护,并初步支持设置数据包转发控制协议(PFCP)过滤器。Linux 6.10 还为 PowerPC BPF JIT 编译器添加了 kfuncs 支持、用于将跟踪环...