Compare commits

..

4 Commits

Author SHA1 Message Date
ssrlive
6c82abd1e6 Merge 88e473433b into 9b0a0a3fbb 2024-04-10 12:46:09 +02:00
Philipp Oppermann
9b0a0a3fbb Add bootloader v0.9 note to Chinese translation 2024-04-10 12:46:02 +02:00
Philipp Oppermann
54010c3653 Merge pull request #1309 from phil-opp/bootloader-version-note
Add a note that only `bootloader v0.9` is compatible
2024-04-09 11:29:01 +02:00
Philipp Oppermann
b8be0c5a5d Add a note that only bootloader v0.9 is compatible 2024-04-09 11:27:15 +02:00
2 changed files with 4 additions and 0 deletions

View File

@@ -406,6 +406,8 @@ Instead of writing our own bootloader, which is a project on its own, we use the
bootloader = "0.9" bootloader = "0.9"
``` ```
**Note:** This post is only compatible with `bootloader v0.9`. Newer versions use a different build system and will result in build errors when following this post.
Adding the bootloader as a dependency is not enough to actually create a bootable disk image. The problem is that we need to link our kernel with the bootloader after compilation, but cargo has no support for [post-build scripts]. Adding the bootloader as a dependency is not enough to actually create a bootable disk image. The problem is that we need to link our kernel with the bootloader after compilation, but cargo has no support for [post-build scripts].
[post-build scripts]: https://github.com/rust-lang/cargo/issues/545 [post-build scripts]: https://github.com/rust-lang/cargo/issues/545

View File

@@ -368,6 +368,8 @@ pub extern "C" fn _start() -> ! {
bootloader = "0.9" bootloader = "0.9"
``` ```
** 注意:** 当前环境仅兼容 `bootloader v0.9` 版本。较新的版本需考虑使用其他的构建工具,否则会导致构建出现未知错误。
只添加引导程序为依赖项,并不足以创建一个可引导的磁盘映像;我们还需要内核编译完成之后,将内核和引导程序组合在一起。然而,截至目前,原生的 cargo 并不支持在编译完成后添加其它步骤(详见[这个 issue](https://github.com/rust-lang/cargo/issues/545))。 只添加引导程序为依赖项,并不足以创建一个可引导的磁盘映像;我们还需要内核编译完成之后,将内核和引导程序组合在一起。然而,截至目前,原生的 cargo 并不支持在编译完成后添加其它步骤(详见[这个 issue](https://github.com/rust-lang/cargo/issues/545))。
为了解决这个问题,我们建议使用 `bootimage` 工具——它将会在内核编译完毕后,将它和引导程序组合在一起,最终创建一个能够引导的磁盘映像。我们可以使用下面的命令来安装这款工具: 为了解决这个问题,我们建议使用 `bootimage` 工具——它将会在内核编译完毕后,将它和引导程序组合在一起,最终创建一个能够引导的磁盘映像。我们可以使用下面的命令来安装这款工具: