Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
tutorial:autorun_options:zh [2023/12/03 10:16]
hfsr [交互式Shell启动 (.shrc)]
tutorial:autorun_options:zh [2023/12/03 10:20] (current)
hfsr [引导启动脚本(/boot/)]
Line 106: Line 106:
 ====引导启动脚本(/​boot/​)==== ====引导启动脚本(/​boot/​)====
  
-此选择强烈不推荐使用,将其在此列出只是为了劝说那些不想这么做的用户放弃自己的想法。+此选择强烈不推荐使用,将其在此列出只是为了劝说那些有异议的用户放弃自己的想法。
  
 OpenOS会运行`/​boot/​`中的引导启动脚本(按照文件名排序)供其核心操作使用。虽然可以将自定义的引导启动脚本安装到内核启动脚本中,但我们很不建议这么做。 OpenOS会运行`/​boot/​`中的引导启动脚本(按照文件名排序)供其核心操作使用。虽然可以将自定义的引导启动脚本安装到内核启动脚本中,但我们很不建议这么做。
  
-安装自定义引导启动脚本(到 `/boot/` 中)会导致风险,你的引导启动脚本可能会在核心运行库还不可用时就开始运行。再当前的OpenOS版本下,我们无法保证哪怕是在你的脚本中调用 `require`的安全性,哪怕现在安全,也无法保证在未来的OpenOS更新中是否安全(因为我可能会改动引导启动顺序)。+安装自定义引导启动脚本(到`/​boot/​`中)会带来风险,你的引导启动脚本可能会在核心运行库还不可用时就开始运行。再当前的OpenOS版本下,我们无法保证哪怕是在你的脚本中调用`require`的安全性,哪怕现在安全,也无法保证在未来的OpenOS更新中是否安全(因为我可能会改动引导启动顺序)。
  
 io功能可能没完全初始化,init进程可能也未完成初始化,甚至Lua原版库都有可能未加载完成。根据你在引导启动脚本中执行的代码不同,你甚至可能无意中绕过事件调度系统,导致系统错过组件更新。是的,引导启动过程需要负责这么多事情。 io功能可能没完全初始化,init进程可能也未完成初始化,甚至Lua原版库都有可能未加载完成。根据你在引导启动脚本中执行的代码不同,你甚至可能无意中绕过事件调度系统,导致系统错过组件更新。是的,引导启动过程需要负责这么多事情。
  
-尽管说了这么多,此处还是给出了一些`/​boot`脚本的样例,它们在当下和不远的未来可能会正常工作。在你的文件名前面加上`99_`,这样它会在引导启动流程的最后加载。如果有任何事物没能按你的预期工作(例如向stdout输出,或者从stdin读取),不意味着出现了bug而是意味着不支持。换句话说,使用 `/boot/` 脚本目录的风险自负。如果你需要stdout,你可以等待`term_available`信号。再强调一次,这不是官方支持的选择。+尽管说了这么多,此处还是给出了一些`/​boot`脚本的样例,它们在当下和不远的未来可能会正常工作。在你的文件名的开头加上`99_`,这样它会在引导启动流程的最后加载。如果有任何事物没能按你的预期工作(例如向stdout输出,或者从stdin读取),不意味着出现了bug而是意味着不支持。换句话说,使用`/​boot/​`脚本目录的风险自负。如果你需要stdout,你可以等待`term_available`信号。再强调一次,这不是官方支持的选择。
  
 ```lua ```lua