This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
tutorial:custom_oses:zh [2023/12/03 10:49] hfsr [编写自制操作系统] |
tutorial:custom_oses:zh [2023/12/03 10:53] hfsr [什么可用?] |
||
---|---|---|---|
Line 5: | Line 5: | ||
引导启动 | 引导启动 | ||
------- | ------- | ||
- | 现在唯一内置的是用来启动BIOS的“机器”。这个“机器”包装器是一个不可编辑的 Lua 脚本,负责创建沙箱和与“主机”端的东西(即 Java / Scala)的特别底层的交互。打开计算机电源后,将加载并运行该脚本。在建立完成沙箱环境后,它会查找 EEPROM,并尝试将其数据作为 Lua 脚本运行。如果失败,计算机将崩溃。否则,将运行该 BIOS。对于提供的 Lua BIOS(使用 EEPROM +手册制作),它将执行以前由机器本身完成的操作: | + | 现在唯一还内置的是用来启动BIOS的“机器”。这个“机器”包装器是一个不可编辑的Lua脚本,负责创建沙箱和与“主机”端事物(即Java / Scala)的特别底层的交互。电脑上电后,将加载并运行该脚本。在建立完成沙箱环境后,它会查找EEPROM,并尝试将其数据作为Lua脚本运行。如果失败,计算机将崩溃。否则,将运行该BIOS。对于模组提供的Lua BIOS(使用 EEPROM +手册制作),它将执行以前由机器本身完成的操作: |
- 1.它将查找先前由`computer.setBootAddress`设定的地址对应的文件系统(可通过`computer.getBootAddress`读取此地址)。 | - 1.它将查找先前由`computer.setBootAddress`设定的地址对应的文件系统(可通过`computer.getBootAddress`读取此地址)。 | ||
- | - 2.在该文件系统上,它尝试加载并执行名为 `init.lua` 的文件。 | + | - 2.在该文件系统上,它尝试加载并执行名为`init.lua`的文件。 |
- | - 3.如果成功了,则由用户脚本接管控制权。如果失败,它将遍历所有当前文件系统,再次执行步骤2,直到成功为止。 | + | - 3.如果成功了,那么任务完成,由用户脚本接管控制权。如果失败,它将遍历所有当前文件系统,再次执行步骤2,直到成功为止。 |
- | - 4.如果没有找到可用的 `init.lua` 脚本。计算机将崩溃并显示 `no bootable medium found` 错误. | + | - 4.如果没有找到可用的`init.lua`脚本。计算机将崩溃并显示`no bootable medium found`错误. |
- | 但是,由于您可以随心所欲地对 EEPROM 进行编程,因此您也可以从网络设备启动。 | + | 但是,由于您可以随心所欲地对EEPROM进行编程,因此您也可以从网络设备启动。 |
什么可用? | 什么可用? | ||
----------------- | ----------------- | ||
- | Wiki 上记录了一些库,它们实际上是 OpenOS 的一部分,所以当你实现自己的操作系统时这些库无法使用。最值得注意的是,这包括 `io`,`package` 和 `filesystem` 库。有关 init 脚本中可用内容的明确参考,请查看系统内核或[[https://github.com/MightyPirates/OpenComputers/blob/master-MC1.12/src/main/resources/assets/opencomputers/lua/machine.lua|你当前OpenComputer模组版本对应的machine.lua脚本](英文)。 以下列表不能保证完整性与/或时效性! | + | Wiki 上记录了一些库,它们实际上是 OpenOS 的一部分,所以当你实现自己的操作系统时这些库无法使用。最值得注意的是,其中包括`io`、`package`和`filesystem`库。要获取init脚本中可用内容的明确参考,请查看系统内核代码或[[https://github.com/MightyPirates/OpenComputers/blob/master-MC1.12/src/main/resources/assets/opencomputers/lua/machine.lua|你当前OpenComputer模组版本对应的machine.lua脚本](英文)。 以下列表不能保证完整性与/或时效性! |
```lua | ```lua |