va a ciapa i ratt
This commit is contained in:
parent
fac91af11a
commit
8346c9f02c
43 changed files with 909 additions and 446 deletions
|
@ -15,6 +15,7 @@
|
|||
"ccr"
|
||||
"@wheel"
|
||||
];
|
||||
netrc-file = "/etc/nix/netrc";
|
||||
# Disabled all the substituters, this should be managed at flakes level
|
||||
# trusted-public-keys = [
|
||||
# "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
# config,
|
||||
pkgs,
|
||||
lib,
|
||||
fleetFlake,
|
||||
# lib,
|
||||
# fleetFlake,
|
||||
...
|
||||
}: {
|
||||
security.polkit.enable = true;
|
||||
|
@ -28,19 +29,78 @@
|
|||
];
|
||||
};
|
||||
|
||||
boot.kernelParams = [
|
||||
"intel_iommu=on"
|
||||
"iommu=pt"
|
||||
# boot.kernelParams = [
|
||||
# "intel_iommu=on"
|
||||
# # "iommu=pt"
|
||||
# "i915.enable_guc=3"
|
||||
# "i915.max_vfs=7"
|
||||
# ];
|
||||
|
||||
# boot.blacklistedKernelModules = ["i915"];
|
||||
|
||||
# boot.kernelModules = [
|
||||
# # "vfio-pci"
|
||||
# "i915"
|
||||
# ];
|
||||
|
||||
# boot.extraModulePackages = [
|
||||
# (config.boot.kernelPackages.callPackage ./i915-sriov-dkms.nix {} )
|
||||
# ];
|
||||
|
||||
# boot.initrd.availableKernelModules = [
|
||||
# "i915"
|
||||
# ];
|
||||
|
||||
# boot.initrd.kernelModules = [
|
||||
# "i915"
|
||||
# ];
|
||||
|
||||
# hardware = {
|
||||
# firmware = [
|
||||
# ((
|
||||
# pkgs.runCommandNoCC
|
||||
# "adls_dmc_ver2_01.bin"
|
||||
# {}
|
||||
# "mkdir -p $out/lib/firmware && cp ${./adls_dmc_ver2_01.bin} $out/lib/firmware/adls_dmc_ver2_01.bin"
|
||||
# )
|
||||
# // {
|
||||
# # compressFirmware = false; # TODO can I re-enable compression?
|
||||
# })
|
||||
# ];
|
||||
# };
|
||||
|
||||
# hardware.enableAllFirmware =
|
||||
# builtins.trace "${
|
||||
# (config.boot.kernelPackages.callPackage ./i915-sriov-dkms.nix {})
|
||||
# }"
|
||||
# true;
|
||||
|
||||
# boot.kernelModul = ''
|
||||
# echo "vfio-pci" > /sys/bus/pci/devices/0000:00:02.0/driver_override
|
||||
# echo 7 > /sys/devices/pci0000:00/0000:00:02.0/sriov_numvfs
|
||||
# modprobe -i vfio-pci
|
||||
# modprobe -i i915
|
||||
# '';
|
||||
|
||||
boot.kernelPatches = [
|
||||
# {
|
||||
# name = "i915";
|
||||
# patch = null;
|
||||
# extraStructuredConfig = {
|
||||
# INTEL_MEI_PXP = lib.kernel.module;
|
||||
# DRM_I915_PXP = lib.kernel.yes;
|
||||
# PMIC_OPREGION = lib.kernel.yes;
|
||||
# };
|
||||
# }
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = ["vfio-pci"];
|
||||
boot.initrd.preDeviceCommands = ''
|
||||
echo "vfio-pci" > /sys/bus/pci/devices/0000:00:02.0/driver_override
|
||||
modprobe -i vfio-pci
|
||||
'';
|
||||
# boot.kernel.sysctl = {
|
||||
# "devices/pci0000:00/0000:00:02.0/sriov_numvfs" = 7;
|
||||
# };
|
||||
|
||||
# -vnc :0 \
|
||||
# -audiodev alsa,id=snd0,out.try-poll=off -device ich9-intel-hda -device hda-output,audiodev=snd0 \
|
||||
# -device vfio-pci,host=00:02.0 \
|
||||
|
||||
systemd.services.vm-mara = let
|
||||
start-vm = pkgs.writeShellApplication {
|
||||
|
@ -52,14 +112,14 @@
|
|||
|
||||
qemu-system-x86_64 \
|
||||
-enable-kvm \
|
||||
-cpu host,kvm=off \
|
||||
-smp 2 \
|
||||
-m 4096 \
|
||||
-cpu host,kvm=on,hv-vendor_id="GenuineIntel" \
|
||||
-smp 4 \
|
||||
-m 8192 \
|
||||
-nic user,model=virtio-net-pci,hostfwd=tcp::3389-:3389,hostfwd=tcp::47989-:47989,hostfwd=tcp::47990-:47990,hostfwd=tcp::47984-:47984,hostfwd=tcp::48010-:48010,hostfwd=udp::47998-:47988,hostfwd=udp::47999-:47999,hostfwd=udp::48000-:48000,hostfwd=udp::48002-:48002,hostfwd=udp::48003-:48003,hostfwd=udp::48004-:48004,hostfwd=udp::48005-:48005,hostfwd=udp::48006-:48006,hostfwd=udp::48007-:48007,hostfwd=udp::48008-:48008,hostfwd=udp::48009-:48009,hostfwd=udp::48010-:48010 \
|
||||
-cdrom /var/lib/vm-mara/virtio-win.iso \
|
||||
-device nec-usb-xhci,id=usb,bus=pci.0,addr=0x4 \
|
||||
-device usb-tablet \
|
||||
-device vfio-pci,host=00:02.0 \
|
||||
-vnc :0 \
|
||||
-nographic \
|
||||
-drive file=/var/lib/vm-mara/w10.qcow2
|
||||
'';
|
||||
|
|
53
modules/vm-mara/i915-sriov-dkms.nix
Normal file
53
modules/vm-mara/i915-sriov-dkms.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
{
|
||||
stdenv,
|
||||
kernel,
|
||||
fetchFromGitHub,
|
||||
runCommand,
|
||||
...
|
||||
}: let
|
||||
m = stdenv.mkDerivation rec {
|
||||
name = "i915-sriov-dkms";
|
||||
version = "4d89a1d5ba8c66308e3276c5297eda838c70cc31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "strongtz";
|
||||
repo = "i915-sriov-dkms";
|
||||
rev = version;
|
||||
sha256 = "sha256-LNKDNi7oEhO3FY47oKYbg8wt+268GlBVxQpHdNLNrwM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||
|
||||
setSourceRoot = ''
|
||||
export sourceRoot=$(pwd)/source
|
||||
'';
|
||||
|
||||
makeFlags =
|
||||
kernel.makeFlags
|
||||
++ [
|
||||
"-C"
|
||||
"${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||
"M=$(sourceRoot)"
|
||||
"KVER=${kernel.version}"
|
||||
];
|
||||
|
||||
# installPhase = ''
|
||||
# install -D i915.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/i915/i915.ko
|
||||
# '';
|
||||
|
||||
installFlags = ["INSTALL_MOD_PATH=${placeholder "out"}"];
|
||||
|
||||
installTargets = ["modules_install"];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# meta.priority = -10;
|
||||
};
|
||||
in
|
||||
m
|
||||
# in runCommand "test" {} ''
|
||||
# # mkdir -p $out/lib/modules/6.1.30/kernel/drivers/gpu/drm/i915
|
||||
# mkdir -p $out/lib/modules/6.1.30/extra
|
||||
# cp ${m}/lib/modules/6.1.30/extra/i915.ko.xz $out/lib/modules/6.1.30/extra/foo.ko.xz
|
||||
# ''
|
||||
|
|
@ -25,17 +25,17 @@
|
|||
initial-config = fleetFlake.inputs.nixos-generators.nixosGenerate {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
fleetFlake.inputs.nixos-vscode-server.nixosModule
|
||||
# fleetFlake.inputs.nixos-vscode-server.nixosModule
|
||||
({
|
||||
modulesPath,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
services.vscode-server = {
|
||||
enable = true;
|
||||
enableFHS = true;
|
||||
};
|
||||
# services.vscode-server = {
|
||||
# enable = true;
|
||||
# enableFHS = true;
|
||||
# };
|
||||
system.build.qcow = lib.mkForce (import "${toString modulesPath}/../lib/make-disk-image.nix" {
|
||||
inherit lib config pkgs;
|
||||
diskSize = 50 * 1024;
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
oneplus6t = "O6/tKaA8Hs7OEqi15hV4RwviR6vyCTMYv6ZlhsI+tnI=";
|
||||
rock5b = "bc5giljukT1+ChbbyTLdOfejfR3c8RZ4XoXmQM54nTY=";
|
||||
pbp = "jvfAfQ2ykBndpnoLQTBJzDOhpjMOtIyCufEw+BxMxSc=";
|
||||
babbo = "mb1BsvGurWVA6s3uXP1hdEi3YPpzM0vtXD/7Vfsw2HI=";
|
||||
};
|
||||
mkPeer = hostname: {
|
||||
publicKey = publicKeys."${hostname}";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue