WIP: feat(linux-firmware): initial packaging of linux firmware

This commit is contained in:
Lars Sjöström 2025-03-28 18:58:21 +01:00
parent d10bd7bb04
commit 2894de6b45
No known key found for this signature in database
4 changed files with 241 additions and 29 deletions

151
flake.nix
View file

@ -25,10 +25,19 @@
{
packages = {
default = patosPkgs.image;
image = pkgs.callPackage ./pkgs/image { inherit patosPkgs version updateUrl cpuArch secureBoot; };
image = pkgs.callPackage ./pkgs/image {
inherit
patosPkgs
version
updateUrl
cpuArch
secureBoot
;
};
rootfs = pkgs.callPackage ./pkgs/rootfs/mkrootfs.nix { inherit patosPkgs version; };
initrd = pkgs.callPackage ./pkgs/rootfs/mkinitrd.nix { inherit patosPkgs version; };
kernel = pkgs.callPackage ./pkgs/kernel { };
linux-firmware = pkgs.callPackage ./pkgs/linux-firmware { };
glibc = pkgs.callPackage ./pkgs/glibc { };
busybox = pkgs.callPackage ./pkgs/busybox { };
openssl = pkgs.callPackage ./pkgs/openssl { };
@ -46,38 +55,122 @@
name = "debug-tools";
version = "0.0.1";
packages = [
{ drv = pkgs.curl; path = "bin/curl"; }
{ drv = pkgs.bash; path = "bin/bash"; }
{ drv = patosPkgs.glibc; path = "bin/ldd"; }
{ drv = pkgs.keyutils; path = "bin/keyctl"; }
{ drv = pkgs.gnutar; path = "bin/tar"; }
{ drv = pkgs.binutils-unwrapped; path = "bin/strings"; }
{ drv = pkgs.strace; path = "bin/strace"; }
{ drv = patosPkgs.tpm2-tools; path = "bin/tpm2"; }
{ drv = patosPkgs.openssl; path = "bin/openssl"; }
{ drv = pkgs.cryptsetup; path = "bin/cryptsetup"; }
{ drv = pkgs.cryptsetup; path = "bin/veritysetup"; }
{ drv = pkgs.erofs-utils; path = "bin/mkfs.erofs"; }
{
drv = pkgs.curl;
path = "bin/curl";
}
{
drv = pkgs.bash;
path = "bin/bash";
}
{
drv = patosPkgs.glibc;
path = "bin/ldd";
}
{
drv = pkgs.keyutils;
path = "bin/keyctl";
}
{
drv = pkgs.gnutar;
path = "bin/tar";
}
{
drv = pkgs.binutils-unwrapped;
path = "bin/strings";
}
{
drv = pkgs.strace;
path = "bin/strace";
}
{
drv = patosPkgs.tpm2-tools;
path = "bin/tpm2";
}
{
drv = patosPkgs.openssl;
path = "bin/openssl";
}
{
drv = pkgs.cryptsetup;
path = "bin/cryptsetup";
}
{
drv = pkgs.cryptsetup;
path = "bin/veritysetup";
}
{
drv = pkgs.erofs-utils;
path = "bin/mkfs.erofs";
}
# shared lib required for cryptsetup
{ drv = pkgs.popt; path = "lib/libpopt.so.0.0.2"; }
{ drv = pkgs.popt; path = "lib/libpopt.so.0"; }
{ drv = pkgs.popt; path = "lib/libpopt.so"; }
{
drv = pkgs.popt;
path = "lib/libpopt.so.0.0.2";
}
{
drv = pkgs.popt;
path = "lib/libpopt.so.0";
}
{
drv = pkgs.popt;
path = "lib/libpopt.so";
}
# shared lib required for mkfs.erofs
{ drv = pkgs.lz4.lib; path = "lib/liblz4.so.1.10.0"; }
{ drv = pkgs.lz4.lib; path = "lib/liblz4.so.1"; }
{ drv = pkgs.lz4.lib; path = "lib/liblz4.so"; }
{
drv = pkgs.lz4.lib;
path = "lib/liblz4.so.1.10.0";
}
{
drv = pkgs.lz4.lib;
path = "lib/liblz4.so.1";
}
{
drv = pkgs.lz4.lib;
path = "lib/liblz4.so";
}
# shared lib required for binutils
{ drv = pkgs.binutils-unwrapped.lib; path = "lib/libsframe.so.1.0.0"; }
{ drv = pkgs.binutils-unwrapped.lib; path = "lib/libsframe.so.1"; }
{ drv = pkgs.binutils-unwrapped.lib; path = "lib/libbfd-2.43.1.so"; }
{ drv = pkgs.binutils-unwrapped.lib; path = "lib/libbfd.so"; }
{
drv = pkgs.binutils-unwrapped.lib;
path = "lib/libsframe.so.1.0.0";
}
{
drv = pkgs.binutils-unwrapped.lib;
path = "lib/libsframe.so.1";
}
{
drv = pkgs.binutils-unwrapped.lib;
path = "lib/libbfd-2.43.1.so";
}
{
drv = pkgs.binutils-unwrapped.lib;
path = "lib/libbfd.so";
}
# shared lib required for strace
{ drv = pkgs.elfutils.out; path = "lib/libdw-0.192.so"; }
{ drv = pkgs.elfutils.out; path = "lib/libdw.so.1"; }
{ drv = pkgs.elfutils.out; path = "lib/libdw.so"; }
{ drv = pkgs.elfutils.out; path = "lib/libelf-0.192.so"; }
{ drv = pkgs.elfutils.out; path = "lib/libelf.so.1"; }
{ drv = pkgs.elfutils.out; path = "lib/libelf.so"; }
{
drv = pkgs.elfutils.out;
path = "lib/libdw-0.192.so";
}
{
drv = pkgs.elfutils.out;
path = "lib/libdw.so.1";
}
{
drv = pkgs.elfutils.out;
path = "lib/libdw.so";
}
{
drv = pkgs.elfutils.out;
path = "lib/libelf-0.192.so";
}
{
drv = pkgs.elfutils.out;
path = "lib/libelf.so.1";
}
{
drv = pkgs.elfutils.out;
path = "lib/libelf.so";
}
];
};
};