more ctf stuff
This commit is contained in:
51
2025/google/misc-bpfbox/flake.nix
Normal file
51
2025/google/misc-bpfbox/flake.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
description = "bpfbox";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-25.05";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs }:
|
||||
let
|
||||
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
||||
lib = pkgs.lib;
|
||||
init = pkgs.buildGoModule {
|
||||
name = "init";
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
src = ./init;
|
||||
};
|
||||
initrdEnv = pkgs.buildEnv {
|
||||
name = "initrd-env";
|
||||
paths = with pkgs; [
|
||||
pkgsStatic.busybox
|
||||
bpftrace
|
||||
init
|
||||
];
|
||||
pathsToLink = [
|
||||
"/bin"
|
||||
];
|
||||
};
|
||||
kernel = pkgs.linuxPackages.kernel;
|
||||
initrd = pkgs.makeInitrdNG {
|
||||
name = "initramfs";
|
||||
contents = [
|
||||
{ source = "${initrdEnv}/bin"; target = "/bin"; }
|
||||
{ source = ./flag.txt; target = "/flag.txt"; }
|
||||
{ source = "${initrdEnv}/bin/init"; target = "/init"; }
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
packages.x86_64-linux.default = pkgs.stdenvNoCC.mkDerivation {
|
||||
name = "bpfbox";
|
||||
phases = [ "installPhase" ];
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp ${initrd}/initrd.gz $out/
|
||||
cp ${kernel}/bzImage $out/
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user