59 lines
1.4 KiB
Nix
59 lines
1.4 KiB
Nix
# This "device" generates images that can be used with the QEMU
|
|
# emulator. The default output is a directory containing separate
|
|
# kernel ("Image" format) and root filesystem (squashfs or jffs2)
|
|
# images
|
|
{
|
|
system = {
|
|
crossSystem = {
|
|
config = "armv7l-unknown-linux-musleabihf";
|
|
};
|
|
};
|
|
|
|
# this device is described by the "qemu" device
|
|
description = ''
|
|
== QEMU ARM v7
|
|
|
|
This target produces an image for the
|
|
https://www.qemu.org/docs/master/system/arm/virt.html[QEMU "virt"
|
|
platform] using a 32 bit CPU type.
|
|
|
|
ARM targets differ from MIPS in that the kernel format expected by QEMU
|
|
is an "Image" (raw binary file) rather than an ELF file, but this is
|
|
taken care of by `+run.sh+`. Check the documentation for the `+QEMU+`
|
|
(MIPS) target for more information. '';
|
|
installer = "vmroot";
|
|
|
|
module =
|
|
{ config, lim, ... }:
|
|
{
|
|
imports = [
|
|
../../modules/arch/arm.nix
|
|
../families/qemu.nix
|
|
];
|
|
kernel = {
|
|
config = {
|
|
PCI_HOST_GENERIC = "y";
|
|
ARCH_VIRT = "y";
|
|
|
|
VFP = "y";
|
|
NEON = "y";
|
|
AEABI = "y";
|
|
|
|
SERIAL_AMBA_PL011 = "y";
|
|
SERIAL_AMBA_PL011_CONSOLE = "y";
|
|
};
|
|
};
|
|
boot.commandLine = [
|
|
"console=ttyAMA0"
|
|
];
|
|
hardware =
|
|
let
|
|
addr = lim.parseInt "0x40008000";
|
|
in
|
|
{
|
|
loadAddress = addr;
|
|
entryPoint = addr;
|
|
};
|
|
};
|
|
}
|