add qemu user emulation
This commit is contained in:
parent
f04d990860
commit
a655283b60
@ -7,6 +7,7 @@
|
||||
./large-sw.nix
|
||||
./uefi.nix
|
||||
./fstrim.nix
|
||||
./qemu-user.nix
|
||||
];
|
||||
|
||||
environment.etc."lvm/lvm.conf".text = ''
|
||||
|
29
qemu-user.nix
Normal file
29
qemu-user.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
arm = {
|
||||
interpreter = "${pkgs.qemu}/bin/qemu-arm";
|
||||
magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00'';
|
||||
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\x00\xff\xfe\xff\xff\xff'';
|
||||
};
|
||||
aarch64 = {
|
||||
interpreter = "${pkgs.qemu}/bin/qemu-aarch64";
|
||||
magicOrExtension = ''\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00'';
|
||||
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\x00\xff\xfe\xff\xff\xff'';
|
||||
};
|
||||
riscv64 = {
|
||||
interpreter = "${pkgs.qemu}/bin/qemu-riscv64";
|
||||
magicOrExtension = ''\x7fELF\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf3\x00'';
|
||||
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\x00\xff\xfe\xff\xff\xff'';
|
||||
};
|
||||
in {
|
||||
boot.binfmtMiscRegistrations = {
|
||||
inherit arm;
|
||||
inherit aarch64;
|
||||
inherit riscv64;
|
||||
};
|
||||
nix.extraOptions = ''
|
||||
extra-platforms = armv6l-linux armv7l-linux aarch64-linux riscv64-linux i686-linux
|
||||
'';
|
||||
nix.sandboxPaths = [ "/run/binfmt" "${pkgs.qemu}" ];
|
||||
}
|
Loading…
Reference in New Issue
Block a user