hal/samsung: test a bunch of different kernels; enable linux_latest which works if i patch it

This commit is contained in:
Colin 2024-06-10 03:48:31 +00:00
parent 49e1a85afb
commit e10dfaefe9

View File

@ -54,6 +54,29 @@
{ config, lib, pkgs, ... }:
let
cfg = config.sane.hal.samsung;
# sus commits:
# - ad3e33fe071dffea07279f96dab4f3773c430fe2 (drm/panel: Move AUX B116XW03 out of panel-edp back to panel-simple)
# says i should switch to `edp-panel`; chrome is lying about the panel.
# - discussion: <https://patchwork.freedesktop.org/patch/559389/>
# - was tested for exynos5-peach -- which worked with the patch and uses panel_simple
# - snow was *not* tested, but previously used panel_edp
linuxSourceHashes = {
"6.2.16" = "sha256-dC5lp45tU4JgHS8VWezLM/z8C8UMxaIdj5I2DleMv8c="; #< boots
"6.3.13" = "sha256-bGNcuEYBHaY34OeGkqb58dXV+JF2XY3bpBtLhg634xA="; #< boots
"6.4.16" = "sha256-hDhelVL20AMzQeT7IDVDI35uoGEyroVPjiszO2JZzO8="; #< boots
"6.5.13" = "sha256-lCTwq+2RyZTIX1YQa/riHf1KCnS8dTrLlljjKAXudz4="; #< boots
"6.6.0-rc1" = "sha256-DRai7HhWVtRB0GiRCvCv2JM2TFKRsZ60ohD6GW0b8As="; #< boots. upstream/torvalds' tag is `v6.6-rc1`
"6.6.0-rc3" = "sha256-/YcuQ5UsSObqOZ0YIbcNex5HJAL8eneDDzIiTEuMDsQ=";
"6.6.0-rc4" = "sha256-Kbv+jU2IoC4soT3ma1ZV8Un4rTQakNjut5nlA1907GQ="; #< boots. upstream/torvalds' tag is `v6.6-rc4`
"6.6.0-rc5" = "sha256-ia0F/W3BR+gD8qE5LEwUcJCqwBs3c5kj80DbeDzFFqY=";
"6.6.0-rc6" = "sha256-HIrn3fkoCqVSSJ0gxY6NO8I3M8P7BD5XzQpjrhdw//s="; #< boots. upstream/torvalds' tag is `v6.6-rc6`
"6.6.0-rc6-bi-5188" = "sha256-TmRrPy2IhnvTVlq5bNhzsvNPgRg0qk1u2Mh3q/lBask="; #< boots
"6.6.0-rc6-bi-5264" = "sha256-BXt5O9hUC9lYITBO56Rzb9XJHThjt6DuiXizUi2G6/0="; # *does not boot*. this is commit ad3e33fe071dffea07279f96dab4f3773c430fe2; actually 6.6.0-rc1, because of merge order
"6.6.0-rc7" = "sha256-u+seQp82USt63zgMlvDRIpDmmWD2Pha5d41CorwY7f8="; #< *does not boot*. upstream/torvalds' tag is `v6.6-rc7`
"6.6.0" = "sha256-iUTHPMbELhtRogbrKr3n2FBwj8mbGYGacy2UgjPZZNg="; #< *does not boot*. upstream/torvalds' tag is `v6.6`
"6.7.12" = "sha256-6Fm7lC2bwk+wYYGeasr+6tcSw+n3VE4d9JWbc9jN6fA="; #< *does not boot*
"6.10.0-rc3" = "sha256-k9Mpff96xgfTyjRMn0wOQBOm7NKZ7IDtJBRYwrnccoY="; #< *does not boot*. upstream/torvalds' tag is `v6.10-rc3`
};
in
{
options = {
@ -81,14 +104,62 @@ in
# "sbs-charger"
# "sbs-manager"
# nixpkgs.hostPlatform.linux-kernel = {
# # defaults:
# name = "armv7l-hf-multiplatform";
# # Major = "2.6"; #< default: 2.6
# baseConfig = "multi_v7_defconfig"; #< default: "multi_v7_defconfig"
# DTB = true; #< DTB: compile device tree blobs
# # autoModules (default: true): for config options not manually specified, answer `m` to anything which supports it.
# # - this effectively builds EVERY MODULE SUPPORTED.
# autoModules = true; #< N.B.: ignored by `pkgs.linux-megous`
# # preferBuiltin (default: false; true for armv7l-hf-multiplatform): for config options which default to `Y` upstream, build them as `Y` (overriding `autoModules`)
# preferBuiltin = true;
boot.kernelPackages = with pkgs; linuxPackagesFor linux-exynos5-mainline;
# boot.kernelPackages = with pkgs; linuxPackagesFor (linux-postmarketos-exynos5.override {
# linux = linux_6_6;
# # linux = linux_6_8;
# # linux = linux_6_9;
# # optimizeForSize = true;
# target = "zImage"; # <-- default
# };
# boot.kernelPackages = with pkgs; linuxPackagesFor (linux_6_1.override {
# preferBuiltin = false;
# extraConfig = "";
# structuredExtraConfig = with lib.kernel; {
# SUN8I_DE2_CCU = lib.mkForce no; #< nixpkgs' option parser gets confused on this one, somehow
# NET_VENDOR_MICREL = no; #< to overcome broken KS8851_MLL (broken by nixpkgs' `extraConfig`)
# # KS8851_MLL = lib.mkForce module; #< nixpkgs' option parser gets confused on this one, somehow
# #v XXX: required for e.g. SECURITY_LANDLOCK (specified by upstream nixpkgs) to take effect if `autoModules = false`
# #v seems that upstream linux (the defconfigs?), it defaults to Yes for:
# # - arch/x86/configs/x86_64_defconfig
# # - arch/arm64/configs/defconfig
# # but that it's left unset for e.g. arch/arm64/configs/pinephone_defconfig
# # SECURITY = yes;
# };
# });
# boot.kernelPackages = with pkgs; linuxPackagesFor linux_6_1;
# boot.kernelPackages = with pkgs; linuxPackagesFor linux-exynos5-mainline;
boot.kernelPackages = with pkgs; linuxPackagesFor (linux-postmarketos-exynos5.override {
# linux = let version = "6.6.0-rc1"; rev = "6.6.0-rc6-bi-5264"; in {
# # src = pkgs.fetchzip {
# # url = "https://git.kernel.org/stable/t/linux-6.2.16.tar.gz";
# # };
# src = pkgs.fetchFromGitea {
# domain = "git.uninsane.org";
# owner = "colin";
# repo = "linux";
# rev = "v${rev}";
# hash = linuxSourceHashes."${rev}";
# };
# inherit version;
# modDirVersion = version;
# extraMakeFlags = [];
# };
# linux = linux_6_6;
# linux = linux_6_8;
# linux = linux_6_9;
linux = linux_latest;
# optimizeForSize = true;
# useEdpPanel = true;
revertPanelSimplePatch = true;
});
# boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux-postmarketos-exynos5;
# boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_latest.override {
# structuredExtraConfig = with lib.kernel; {