一个用 Zig 语言构建嵌入式应用的工具箱,提供硬件抽象层与芯片、板级支持。
sypstraw/rpi4-osdev
一套逐步教程,教你为树莓派 4 编写直接运行在裸机上的操作系统。
- Star
- 3,775
- Fork
- 283
- 未关闭 Issue
- 0
- 最近提交
- 2个月前
这是什么?
这是一个在树莓派 4 上从零编写裸机操作系统的教程项目。裸机编程指代码直接运行在硬件上,没有现成操作系统作为底层支撑,因此教程会带你完成启动 CPU、驱动显示输出、与外设通信等通常由系统在开机时处理的底层工作。
开始前需要准备一台带 HDMI 输出的树莓派 4 和 micro-SD 卡,先刷入 Raspbian 验证硬件是否正常。编译环境方面,项目介绍了在 Linux 或 WSL 下使用 Arm GCC 交叉编译工具链,以及在 macOS 上使用 Clang/LLVM 的方法,也支持直接在树莓派上编译。
教程按章节循序渐进,从引导启动(bootstrapping)开始,采用 CC0 公共领域协议发布。作者说明部分代码参考并借鉴了 Zoltan Baldaszti 的树莓派 3 裸机教程。
核心功能
- 01讲解在树莓派 4 硬件上启动并运行自定义代码的完整流程。
- 02介绍使用 Arm GCC 或 Clang/LLVM 为 Cortex-A72 进行交叉编译。
- 03说明环境准备步骤,包括 SD 卡准备和串口调试。
- 04内容按章节循序渐进,从引导启动开始。
- 05采用 CC0 协议发布,材料可自由复用。
适用场景
- 学习计算机如何启动,以及操作系统如何在没有现成系统支撑时直接操作硬件。
- 入门树莓派上的 ARM64 裸机编程。
- 以本教程为基础,开发自己的树莓派 4 玩具内核。
快速上手
- 1
在 Ubuntu/WSL 上安装 GNU make
sudo apt install make - 2
在 macOS 上用 Homebrew 安装 LLVM
brew install llvm - 3
从 Arm GNU 工具链页面下载并解压 AArch64 ELF 裸机 gcc 交叉编译器
- 4
阅读教程并进入 part1-bootstrapping
使用前须知
- 需要一台树莓派 4 以及串口 TTL 线等额外硬件。
- 教程仅针对树莓派 4,不是通用操作系统。
收录于专题
标签
常见问题
- rpi4-osdev 是什么?
- 一套逐步教程,教你为树莓派 4 编写直接运行在裸机上的操作系统。 这是一个在树莓派 4 上从零编写裸机操作系统的教程项目。裸机编程指代码直接运行在硬件上,没有现成操作系统作为底层支撑,因此教程会带你完成启动 CPU、驱动显示输出、与外设通信等通常由系统在开机时处理的底层工作。
- rpi4-osdev 可以免费使用吗?用的什么许可证?
- rpi4-osdev 以 CC0-1.0 许可证开源。用于商业产品前,请先确认许可证条款。
- rpi4-osdev 还在维护吗?
- 半年内有更新。rpi4-osdev 最近一次提交是在 2026年9月3日。
- rpi4-osdev 适合用来做什么?
- 学习计算机如何启动,以及操作系统如何在没有现成系统支撑时直接操作硬件。 入门树莓派上的 ARM64 裸机编程。 以本教程为基础,开发自己的树莓派 4 玩具内核。
- rpi4-osdev 怎么安装和运行?
- 在 Ubuntu/WSL 上安装 GNU make: sudo apt install make 在 macOS 上用 Homebrew 安装 LLVM: brew install llvm 从 Arm GNU 工具链页面下载并解压 AArch64 ELF 裸机 gcc 交叉编译器 阅读教程并进入 part1-bootstrapping
- 在哪里获取 rpi4-osdev?
- 源代码和安装说明在 GitHub 上:https://github.com/sypstraw/rpi4-osdev
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
面向树莓派等 ARM 设备的脚本式应用商店,自动安装 apt 中找不到的软件。
基于两块树莓派 Pico 的硬件 KVM 切换器,可用一套键鼠在两台电脑间切换,支持鼠标跨屏移动切换。
面向单板电脑的轻量级 Debian 系统,提供菜单工具用于配置和一键安装常用软件。
基于 Arduino 与树莓派的开源四足机器人框架,用于编程机器狗和机器猫的步态与舵机控制。
用于在 ESP32 开发板和 Raspberry Pi 等 Linux 设备上自制 Muse 小工具的开源 SDK 与固件。