Show HN: OSle – 一个用 x86 汇编编写的 510 字节操作系统
💾 一个微小而强大的引导扇区操作系统 shikaan.github.io/osle/
License
shikaan/osle
Folders and files
Name| Name| Last commit message| Last commit date
---|---|---|---
.github/workflows| .github/workflows
bin| bin
docs| docs
fixtures| fixtures
sdk| sdk
test| test
tutorial| tutorial
.bochsinit| .bochsinit
.bochsrc| .bochsrc
.gitignore| .gitignore
LICENSE| LICENSE
Makefile| Makefile
README.md| README.md
osle.s| osle.s
一个微小而强大的引导扇区操作系统.
osle-demo.mov
🚀 在浏览器中尝试一下! 🚀
👀 概述
OSle 是一个运行在 real-mode 的操作系统,它可以装进一个引导扇区。 它使用 x86 汇编编写,尽管它的体积很小(只有 510 字节),但它包含了一些基本的功能,例如:
- Shell : 运行命令和内置程序。
- File System : 在系统中读、写和查找文件。
- Process Management : 协作式地创建子进程。
- Userland Software : 带有 预构建的软件 和一个 SDK 来编写你自己的软件。
查看在线演示 以了解其运行情况!
📚 创建你的第一个 OSle 程序
OSle 包含一个微型的 Software Development Kit (SDK),其中包含定义和一个工具链,用于创建你自己的 OSle 程序。 按照 循序渐进的教程 编写你的第一个程序!
🛠️ 开发
要开发 OSle 和 OSle 程序,你需要以下工具:
安装说明
macOS
使用 Homebrew 安装依赖项:
brew install nasm
brew install bochs
Linux
使用本地包管理器安装依赖项,例如在 Debian 上:
apt install nasm bochs
在本地构建并运行 OSle
这些方法将编译 OSle 并使用 SDK 编译和捆绑所有预构建的程序。 使用 start
也会立即运行 bochs。
# 在 bochs 上构建并运行 osle
make start
# 或
# 构建 osle
make osle
# 使用 QEMU 运行它
qemu-system-i386 -fda osle.img
构建并运行你的 OSle 程序
# 确保你有一个可用的 OSle 镜像在 osle.img
make osle
# 编译你的源代码以生成 my_file.bin
sdk/build my_file.s
# 将 my_file.bin 捆绑到 osle.img 镜像中
sdk/pack my_file.bin
# 运行它!
qemu-system-i386 -fda osle.img
在真实设备上使用 OSle
使用 dd
将构建的镜像写入设备:
警告: 以下操作可能会损坏你的硬件。 对于 OSle 可能造成的任何损坏,我们不承担任何责任。
# 在 osle.img 生成一个 OSle 镜像
make osle
# 将其写入设备
sudo dd if=osle.img of=/dev/YOUR_DEVICE bs=512 count=1
🤝 贡献
欢迎浏览 issues 和 pull requests 以贡献或请求功能。
License
About
💾 一个微小而强大的引导扇区操作系统 shikaan.github.io/osle/