add output for u-boot

pull/2/head
Daniel Barlow 2023-12-29 17:07:47 +00:00
parent dc42969ef6
commit 0bf98c5243
6 changed files with 14 additions and 8 deletions

View File

@ -13,5 +13,6 @@
# USE_OF = "y";
};
hardware.ram.startAddress = lim.parseInt "0x40000000";
system.outputs.u-boot = pkgs.ubootQemuAarch64;
};
}

View File

@ -5,5 +5,6 @@
OF = "y";
};
hardware.ram.startAddress = lim.parseInt "0x40000000";
system.outputs.u-boot = pkgs.ubootQemuArm;
};
}

View File

@ -5,5 +5,6 @@
kernel.config = {
CPU_BIG_ENDIAN = "y";
};
system.outputs.u-boot = pkgs.ubootQemuMips;
};
}

View File

@ -60,6 +60,9 @@ in
Combined kernel and FDT in uImage (U-Boot compatible) format
'';
};
u-boot = mkOption {
type = types.package;
};
manifest = mkOption {
type = types.package;
internal = true;

View File

@ -42,7 +42,7 @@ in {
ln -s ${o.mbrimage} ./mbrimage
cat > run.sh <<EOF
#!${pkgs.runtimeShell}
${pkgs.pkgsBuildBuild.run-liminix-vm}/bin/run-liminix-vm --arch ${pkgs.stdenv.hostPlatform.qemuArch} --u-boot ${pkgs.ubootQemuArm}/u-boot.bin --phram-address 0x${phram_address} --disk-image ${o.mbrimage} /dev/null /dev/null
${pkgs.pkgsBuildBuild.run-liminix-vm}/bin/run-liminix-vm --arch ${pkgs.stdenv.hostPlatform.qemuArch} --u-boot ${o.u-boot}/u-boot.bin --phram-address 0x${phram_address} --disk-image ${o.mbrimage} /dev/null /dev/null
EOF
chmod +x run.sh
'';

View File

@ -1,7 +1,7 @@
{
liminix
}:
let check = deviceName : ubootName : config :
let check = deviceName : config :
let derivation = (import liminix {
device = import "${liminix}/devices/${deviceName}/";
liminix-config = { pkgs, ... } : {
@ -10,7 +10,7 @@ let derivation = (import liminix {
};
});
img = derivation.outputs.tftpboot;
uboot = derivation.pkgs.${ubootName};
uboot = derivation.outputs.u-boot;
pkgsBuild = derivation.pkgs.pkgsBuildBuild;
in pkgsBuild.runCommand "check" {
nativeBuildInputs = with pkgsBuild; [
@ -35,13 +35,13 @@ run-liminix-vm \
expect ${./script.expect} 2>&1 |tee $out
'';
in {
aarch64 = check "qemu-aarch64" "ubootQemuAarch64" {};
arm = check "qemu-armv7l" "ubootQemuArm" {};
armZimage = check "qemu-armv7l" "ubootQemuArm" {
aarch64 = check "qemu-aarch64" {};
arm = check "qemu-armv7l" {};
armZimage = check "qemu-armv7l" {
boot.tftp.kernelFormat = "zimage";
};
mips = check "qemu" "ubootQemuMips" {};
mipsLz = check "qemu" "ubootQemuMips" {
mips = check "qemu" {};
mipsLz = check "qemu" {
boot.tftp.compressRoot = true;
};
}