Buddy_Zhang1 发表于 2017-12-02 11:42

Welcome to BiscuitOS

本帖最后由 Buddy_Zhang1 于 2017-12-16 16:31 编辑

大家好:
终于又回到 ChinaUnix 啦,这次给各位喜欢 Linux 内核的小伙伴带来了一份礼物。
长话短说,我和我的小伙伴经过八个月的开发,基于 Linux0.11 内核制作了一个完整的 Distro: BiscuitOS
为什么说这是给内核开发者的一份礼物呢?
对于学习 Linux 内核的小伙伴会遇到同一个问题,那就是现代版的内核实在是太大,无法顾及每个子系统,
也许你熟练某一个子系统,但对于其他子系统云里雾里,没有一个整体的架构感。于是 BiscuitOS 就诞生了!

BiscuitOS 是一款基于 Linux0.11 内核的发行版,我们从编译到内核实现,再到 rootfs 的制作,甚至 utils-linux 的制作
都提供了一套实现机制,这会让你 top to down 的完全了解一个发行版的操作系统是如何制作和运行的。

用户手册: https://github.com/BiscuitOS/Documentation/tree/master/Usermanual

不多说,直接上图:


BiscuitOS 的特点
Kernel 部分
1. 完整的内核机制,Linux 具有最小的代码数,2 万行左右。麻雀虽小,各种内核机制都支持
2. 支持 Intel 32 位保护模式,地址总线 32bit,与现代 32 操作系统无异
3. 完整的中断机制,包括缺页中断等,给想研究中断机制的小伙伴一个最好的实践平台
4. 支持字符设备,并实现 console 输入输出
5. 支持内存管理,支持机制的内存管理
6. 支持文件系统,提供了 ramdisk 和 harddisk 根文件系统
7. 支持多任务调度,完整的段和系统门机制
8. 支持块设备,包括硬盘,软盘和 ramdisk
9. 支持 POIX 系统调用
10. 支持 gdb 调试内核
11. 支持完整的 Kbuild系统与 Kconfig 语法
12. 支持链接脚本
13. 支持 qemu 运行系统
14. 支持页表管理机制
15. 支持 GNU as 和 ATT 汇编,已经弃用 as86 汇编

Rootfs 部分
1. 支持 MINIX V1 版本的文件系统
2. 支持 Legacy MINIX 版本的文件系统
3. 提供 MINIX 文件系统制作工具及源码(对想了解文件系统如何制作和内核如何构建文件系统的小伙伴有帮助)

Userland 部分
1. 提供基础 linux 的 utils 二进制工具
2. 提供 gcc1.4 glibc gdb 等 GNU 工具
3. 提供用户程序编译环境

其它部分
1. 实现现代的 Kbuild 编译系统,构建一套完整的编译体系
2. 提供一套定制的 buildroot,让小伙伴可以定制自己的发行版
3. 提供一套完成的补丁机制,小伙伴可以按照标准的内核补丁机制提交你的 patch
4. 如果你发现系统中没有你需要的命令,请不要慌张,你可以自己动手开发一个,trust U

如何参加我们的开源项目呢?
这是我们的开源信息,一起加入我们吧!
* 开源 github
https://github.com/BiscuitOS/BiscuitOS.git维护者:

进程子系统: BuddyZhang <buddy.zhang@aliyun.com>
文件子系统: Rock Lee <rockdotlee@gmail.com>
内存子系统: BuddyZhang <buddy.zhang@aliyun.com>
设备驱动子系统: BuddyZhang <buddy.zhang@aliyun.com>





Buddy_Zhang1 发表于 2017-12-02 11:43

Reserverpage

Buddy_Zhang1 发表于 2017-12-02 11:43

Reserverpage

nswcfd 发表于 2017-12-11 11:24

好久不见了, 一回归就是重磅作品,赞&#128077;

nswcfd 发表于 2017-12-11 13:33

必须赞一下啊,从来没有在5s之内编译完linux内核的;P

有个依赖建议在README.md里面声明一下,mkfs.minix,有些老系统缺少对minix文件系统的支持。

Buddy_Zhang1 发表于 2017-12-12 11:28

本帖最后由 Buddy_Zhang1 于 2017-12-12 11:31 编辑

回复 5# nswcfd

我在内核代码里添加了对 1991 年时候的 minixfs 文件系统的支持,也提供了现代版本工具 mkfs.minix -1 制作出来的文件系统支持

你的建议我会在下一次更新的时候添加上去

zhaohuig 发表于 2017-12-14 19:56

非常感谢楼主, 让我们这些内核新手有了一个实践的平台, 给你个大大的赞啦。
自己按照readme里的教程执行make start时失败,
折腾一番后 qemu-system-x86_64 -m 512 -kernel /root/git/BiscuitOS/kernel/arch/x86/kernel/BiscuitOS/root/git/BiscuitOS/output/BiscuitOS-0.11.img -vnc 0.0.0.0:1000-s -S 引导成功

接下来就是自己慢慢研究了。。

Buddy_Zhang1 发表于 2017-12-16 16:31

回复 7# zhaohuig

Hi 中文用户手册: https://github.com/BiscuitOS/Documentation/tree/master/Usermanual

Buddy_Zhang1 发表于 2017-12-16 16:32

BiscuitOS 中文用户手册
https://github.com/BiscuitOS/Documentation/tree/master/Usermanual

zhaohuig 发表于 2017-12-18 12:35

回复 8# Buddy_Zhang1
再次感谢:D!


页: [1] 2
查看完整版本: Welcome to BiscuitOS