Skip to content

Commit

Permalink
docs: nixos - how to build image
Browse files Browse the repository at this point in the history
  • Loading branch information
ryan4yin committed Mar 6, 2024
1 parent 18e7100 commit a8a5e6c
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion linux/nix/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
1. 如果使用本地工具链(x86_64-linux)来运行 `make-disk-image.nix`,流程很顺畅,但在 `chroot` 阶段会报错,目前怀疑是无法在 `x86_64-linux` 的系统上 `chroot``aarch64-linux` 的 rootfs.
1. 如果使用模拟工具链(即在 qemu-aarch64)来运行 `make-disk-image.nix`,那么:
1. 会导致在运行时疯狂报错 ` Cannot allocate memory`,即使给 `make-disk-image.nix` 传递的参数设置了 8G 内存,还是同样的错误。
1. 我在想,这里是不是虚拟化了两层,模拟工具链本身会使用 qemu-aarch64 跑个虚拟环境,而该虚拟环境中的 `make-disk-image.nix` 也会使用它原生的 QEMU 再跑一个虚拟环境,但我传递的内存参数只能给到里面嵌套的这个环境,没给到外面这个 qemu-aarch64,从而导致内存不够用。
1. 我在想,这里是不是虚拟化了两层,模拟工具链本身(即 binfmt_misc 内核模块)会使用 qemu-aarch64 跑个虚拟环境,而该虚拟环境中的 `make-disk-image.nix` 也会使用它原生的 QEMU 再跑一个虚拟环境,但我传递的内存参数只能给到里面嵌套的这个环境,没给到外面这个 qemu-aarch64,从而导致内存不够用。
1. 所以解决方法是,我要看看怎么给我本机(NixOS)的 aarch64 模拟工具链设置 QEMU 环境默认的内存大小。
1. TODO 进行中。

Expand Down

0 comments on commit a8a5e6c

Please sign in to comment.