WIP: Add TACUDA package #18
@ -46,5 +46,8 @@ let
 | 
				
			|||||||
  latest = pkgs.linuxPackages_latest;
 | 
					  latest = pkgs.linuxPackages_latest;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
in {
 | 
					in {
 | 
				
			||||||
 | 
					  imports = [
 | 
				
			||||||
 | 
					    ./lttng.nix
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
  boot.kernelPackages = lib.mkForce kernel;
 | 
					  boot.kernelPackages = lib.mkForce kernel;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										36
									
								
								xeon08/kernel/lttng.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								xeon08/kernel/lttng.nix
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					{ config, pkgs, lib, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					let
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # the lttng btrfs probe crashes at compile time because of an undefined
 | 
				
			||||||
 | 
					  # function. This disables the btrfs tracepoints to avoid the issue.
 | 
				
			||||||
 | 
					  lttng-modules-fixed = config.boot.kernelPackages.lttng-modules.overrideAttrs (finalAttrs: previousAttrs: {
 | 
				
			||||||
 | 
					    patchPhase = (lib.optionalString (previousAttrs ? patchPhase) previousAttrs.patchPhase) + ''
 | 
				
			||||||
 | 
					      substituteInPlace src/probes/Kbuild \
 | 
				
			||||||
 | 
					        --replace "  obj-\$(CONFIG_LTTNG) += lttng-probe-btrfs.o" "  #obj-\$(CONFIG_LTTNG) += lttng-probe-btrfs.o"
 | 
				
			||||||
 | 
					    '';
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					in {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # add the lttng tools and modules to the system environment
 | 
				
			||||||
 | 
					  boot.extraModulePackages = [ lttng-modules-fixed ];
 | 
				
			||||||
 | 
					  environment.systemPackages = with pkgs; [
 | 
				
			||||||
 | 
					    lttng-tools lttng-ust babeltrace
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # start the lttng root daemon to manage kernel events
 | 
				
			||||||
 | 
					  systemd.services.lttng-sessiond = {
 | 
				
			||||||
 | 
					    wantedBy = [ "multi-user.target" ];
 | 
				
			||||||
 | 
					    description = "LTTng session daemon for the root user";
 | 
				
			||||||
 | 
					    serviceConfig = {
 | 
				
			||||||
 | 
					      User = "root";
 | 
				
			||||||
 | 
					      ExecStart = ''
 | 
				
			||||||
 | 
					        ${pkgs.lttng-tools}/bin/lttng-sessiond
 | 
				
			||||||
 | 
					      '';
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # members of the tracing group can use the lttng-provided kernel events
 | 
				
			||||||
 | 
					  # without root permissions
 | 
				
			||||||
 | 
					  users.groups.tracing.members = [ "arocanon" ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user