如何开始编写在arm架构上运行的操作系统?如果可能的话,我想写一个引导程序和我自己的内核。任何人都可以帮助我开始吗?为arm架构编写操作系统
回答
我会先熟悉一下已经存在的东西 - Linux是一个好的开始。查看rPi发行版中使用的引导程序 - 例如,在Debian Squeeze中使用的是uBoot和BareBox。另一种选择是CFE - 它在BSD许可下,在调试/早期开发期间很好。
另一件事就是看看ucLinux和ucLibC系统,以及buildroot和OpenWRT--所有这些都是为了将其挤压到一个小型系统上而设计的。当然 - 构建你自己的内核 - 你会想要深入得多 - 花费时间理解MMU的,流程管理/多任务处理,中断等等。编程微控制器的良好背景知识,汇编语言和CPU/SOC架构知识将是必不可少的。有了ARM系列,您将需要了解支持的各种指令集,以及哪些芯片具有MMU,FPU和类似功能。
祝你好运 - 这听起来像一个有趣的项目。
Grub可能是一个非常糟糕的地方,因为它是一个x86引导加载程序,围绕着大脑死亡,现在非常过时(但仍然使用)的PC体系结构预引导环境和BIOS。它的很大一部分与ARM SoC系统无关。 [uBoot](http://www.denx.de/wiki/U-Boot)和[Barebox](http://barebox.org)是ARM引导加载程序 - 后者更具可破解性。顺便提一句,任何ARM设备上都没有微码。 – marko
感谢Marco的纠正。我会将更正编辑为答案 - 我知道Grub和Lilo,以及一些我不打算透露的内部引导程序。至少起点已经导致了一些讨论。 –
如果他们构建在x86平台上,GRUB和Multiboot标准是最好的选择,但对于ARM来说,uBoot和Barebox是很好的建议。 – Linuxios
- 1. 为x86架构开发操作系统
- 2. 开放源代码云操作系统/操作系统架构
- 3. 操作系统架构检测脚本
- 4. 为ARM架构编译Ada
- 5. 用UEFI编写操作系统
- 6. 如何编写操作系统
- 7. 编写定制的Android操作系统
- 8. 使用C++编写操作系统
- 9. 关于编写操作系统
- 10. 库编译为体系结构x64,具有ARM架构错误
- 11. 系统架构
- 12. 是否可以为手机编写操作系统?
- 13. Windows操作系统体系结构书
- 14. Firefox操作系统体系结构
- 15. 为ARM体系结构编译libcivil
- 16. 预定义为iPhone操作系统和Mac操作系统
- 17. 不同体系结构的操作系统汇编语言
- 18. 移动操作系统及其编写的编程语言
- 19. 操作系统
- 20. CPU温度的Linux操作系统/英特尔64位架构
- 21. 这是确定操作系统架构的好方法吗?
- 22. 如何在Google Dart中查找操作系统架构?
- 23. 在64位架构上的32位操作系统
- 24. 当前操作系统和架构的BCPL编译器/解释器?
- 25. 数据库架构作为Skype作为管理系统
- 26. Android操作系统中的多操作系统引擎构建失败
- 27. 根据操作系统或框架跳过方法的编译
- 28. 操作系统独立构建路径
- 29. 自定义Android操作系统构建
- 30. UNIX操作系统结构层功能
如果您有与编程相关的具体和可回答的问题,您应该以* some *方式开始,然后在本网站上发帖。祝你的操作系统顺利! – dasblinkenlight
另请参阅[如何开始为ARM处理器编写我自己的移动操作系统?](http://stackoverflow.com/questions/9954184/how-can-i-get-started-on-writing-my-own -mobile-os-for-arm-processors) – Justin