From 0d0e9b6e52da97231ec843d70df4540b76cf5af3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Tue, 12 May 2026 09:35:08 +0200 Subject: [PATCH 01/15] novacustom/firmware-transition.md: note on problems with recent Heads on MTL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/unified/novacustom/firmware-transition.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/unified/novacustom/firmware-transition.md b/docs/unified/novacustom/firmware-transition.md index a7d449f5..0cfe7d4f 100644 --- a/docs/unified/novacustom/firmware-transition.md +++ b/docs/unified/novacustom/firmware-transition.md @@ -86,6 +86,18 @@ and the other way around. Your device should reboot into UEFI firmware. + !!! warning "PLEASE NOTE:" + + There is an [issue](https://github.com/Dasharo/dasharo-issues/issues/1837) with + transitioning between the **v0.9.1 release of Heads on V5x0TU** laptops and UEFI firmware, + where the flash attempt fails and ends in recovery shell. in such case + please run the command: + ``` + flashprog -p internal:boardmismatch=force -w /media/novacustom_${MODEL}_mtl_igpu_v0.9.1_heads.rom + ``` + Where `${MODEL}` is `v56x` or `v54x`. + + > When reverting to UEFI, it's not possible to restore EFI boot manager entries > that were added before installing Heads. Therefore, you may need to re-create > your boot entries manually, or find your boot loader using `Boot From File` From 047048a53e97446730757375d0f05b5e43ebf354 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Tue, 12 May 2026 10:12:11 +0200 Subject: [PATCH 02/15] novacustom_v5*0tu/releases_heads.md: fix FTP link paths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/variants/novacustom_v540tu/releases_heads.md | 8 ++++---- docs/variants/novacustom_v560tu/releases_heads.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/variants/novacustom_v540tu/releases_heads.md b/docs/variants/novacustom_v540tu/releases_heads.md index 1637834f..fa3d79a6 100644 --- a/docs/variants/novacustom_v540tu/releases_heads.md +++ b/docs/variants/novacustom_v540tu/releases_heads.md @@ -104,10 +104,10 @@ using [this key](https://github.com/3mdeb/3mdeb-secpack/blob/master/customer-key - [Intel microcode version MTL C0 0x00000025 0x25 19/03/2025](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/microcode-20251111/intel-ucode/06-aa-04) + [License](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/blob/microcode-20251111/license) -[novacustom_v54x_mtl_igpu_ec_v0.9.1.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v5x0_mtl/novacustom_mtl_igpu/novacustom_v540tu_mtl/heads/v0.9.1/novacustom_v54x_mtl_igpu_ec_v0.9.1.rom.sha256 -[novacustom_v54x_mtl_igpu_ec_v0.9.1.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v5x0_mtl/novacustom_mtl_igpu/novacustom_v540tu_mtl/heads/v0.9.1/novacustom_v54x_mtl_igpu_ec_v0.9.1.rom.sha256.sig -[novacustom_v54x_mtl_igpu_v0.9.1_heads.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v5x0_mtl/novacustom_mtl_igpu/novacustom_v540tu_mtl/heads/v0.9.1/novacustom_v54x_mtl_igpu_v0.9.1_heads.rom.sha256 -[novacustom_v54x_mtl_igpu_v0.9.1_heads.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v5x0_mtl/novacustom_mtl_igpu/novacustom_v540tu_mtl/heads/v0.9.1/novacustom_v54x_mtl_igpu_v0.9.1_heads.rom.sha256.sig +[novacustom_v54x_mtl_igpu_ec_v0.9.1.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v54x_mtl_igpu/heads/v0.9.1/novacustom_v54x_mtl_igpu_ec_v0.9.1.rom.sha256 +[novacustom_v54x_mtl_igpu_ec_v0.9.1.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v54x_mtl_igpu/heads/v0.9.1/novacustom_v54x_mtl_igpu_ec_v0.9.1.rom.sha256.sig +[novacustom_v54x_mtl_igpu_v0.9.1_heads.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v54x_mtl_igpu/heads/v0.9.1/novacustom_v54x_mtl_igpu_v0.9.1_heads.rom.sha256 +[novacustom_v54x_mtl_igpu_v0.9.1_heads.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v54x_mtl_igpu/heads/v0.9.1/novacustom_v54x_mtl_igpu_v0.9.1_heads.rom.sha256.sig ## v0.9.0 - 2025-03-20 diff --git a/docs/variants/novacustom_v560tu/releases_heads.md b/docs/variants/novacustom_v560tu/releases_heads.md index be56a02d..a4ebff1b 100644 --- a/docs/variants/novacustom_v560tu/releases_heads.md +++ b/docs/variants/novacustom_v560tu/releases_heads.md @@ -97,10 +97,10 @@ using [this key](https://github.com/3mdeb/3mdeb-secpack/blob/master/customer-key - [Intel microcode version MTL C0 0x00000025 0x25 19/03/2025](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/microcode-20251111/intel-ucode/06-aa-04) + [License](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/blob/microcode-20251111/license) -[novacustom_v56x_mtl_igpu_ec_v0.9.1.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v5x0_mtl/novacustom_mtl_igpu/novacustom_v560tu_mtl/heads/v0.9.1/novacustom_v56x_mtl_igpu_ec_v0.9.1.rom.sha256 -[novacustom_v56x_mtl_igpu_ec_v0.9.1.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v5x0_mtl/novacustom_mtl_igpu/novacustom_v560tu_mtl/heads/v0.9.1/novacustom_v56x_mtl_igpu_ec_v0.9.1.rom.sha256.sig -[novacustom_v56x_mtl_igpu_v0.9.1_heads.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v5x0_mtl/novacustom_mtl_igpu/novacustom_v560tu_mtl/heads/v0.9.1/novacustom_v56x_mtl_igpu_v0.9.1_heads.rom.sha256 -[novacustom_v56x_mtl_igpu_v0.9.1_heads.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v5x0_mtl/novacustom_mtl_igpu/novacustom_v560tu_mtl/heads/v0.9.1/novacustom_v56x_mtl_igpu_v0.9.1_heads.rom.sha256.sig +[novacustom_v56x_mtl_igpu_ec_v0.9.1.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v56x_mtl_igpu/heads/v0.9.1/novacustom_v56x_mtl_igpu_ec_v0.9.1.rom.sha256 +[novacustom_v56x_mtl_igpu_ec_v0.9.1.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v56x_mtl_igpu/heads/v0.9.1/novacustom_v56x_mtl_igpu_ec_v0.9.1.rom.sha256.sig +[novacustom_v56x_mtl_igpu_v0.9.1_heads.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v56x_mtl_igpu/heads/v0.9.1/novacustom_v56x_mtl_igpu_v0.9.1_heads.rom.sha256 +[novacustom_v56x_mtl_igpu_v0.9.1_heads.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_v56x_mtl_igpu/heads/v0.9.1/novacustom_v56x_mtl_igpu_v0.9.1_heads.rom.sha256.sig ## v0.9.0 - 2025-01-30 From a272d678a9767ed44874ecf55eaff4c0aae82939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Tue, 12 May 2026 10:35:00 +0200 Subject: [PATCH 03/15] novacustom/building-manual.md: update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/unified/novacustom/building-manual.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/unified/novacustom/building-manual.md b/docs/unified/novacustom/building-manual.md index 821322f6..1ade6f20 100644 --- a/docs/unified/novacustom/building-manual.md +++ b/docs/unified/novacustom/building-manual.md @@ -354,17 +354,17 @@ === "V540TU 14th Gen" ```bash - git checkout novacustom_v54x_mtl_v0.9.0 + git checkout novacustom_v54x_mtl_heads_v0.9.1 ``` === "V560TU 14th Gen" ```bash - git checkout novacustom_v56x_mtl_v0.9.0 + git checkout novacustom_v56x_mtl_heads_v0.9.1 ``` === "NV4x 12th Gen" ```bash - git checkout novacustom_nv4x_adl_v0.9.2 + git checkout novacustom_nv4x_adl_heads_v0.9.3 ``` 3. Start the build inside the docker container: @@ -426,7 +426,7 @@ ``` This will produce a Dasharo binary placed in - `build/x86/novacustom-nv4x_adl/dasharo-novacustom-nv4x_adl-novacustom_nv4x_adl_v0.9.2.rom`. + `build/x86/novacustom-nv4x_adl/dasharo-novacustom-nv4x_adl-novacustom_nv4x_adl_heads_v0.9.3.rom`. ## Install Dasharo firmware From b6a1a8473ae9ce244b533a5b35d092898e549676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Tue, 12 May 2026 10:41:43 +0200 Subject: [PATCH 04/15] nv4x_adl/openness-score.md: add v0.9.2 heads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- ...4x_adl_v0.9.2_heads.rom_openness_chart.png | Bin 0 -> 28846 bytes ....2_heads.rom_openness_chart_full_image.png | Bin 0 -> 33018 bytes .../novacustom_nv4x_adl/openness-score.md | 68 ++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.2_heads.rom_openness_chart.png create mode 100644 docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.2_heads.rom_openness_chart_full_image.png diff --git a/docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.2_heads.rom_openness_chart.png b/docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.2_heads.rom_openness_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..5f4a549457206c2cd8f2bdccb585f8b4ca3546b9 GIT binary patch literal 28846 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A#=yW}dhyN^1_lPJ64!{5;QX|b^2DN4 z2H(Vzf}H%4oXjMJvecsD%=|oKJwpRM1098ol9GaAD}DW3xC*`eqICT!MG-{|3=EtF z9+AZi4E%{8%(%jSc_srxft06#J^B+1U8gQZYW>KAg#iMig zc78thW>fWyB6qbG0R<%`C8f=Z(|0j|7+P^W4K6M&E@^Fy6FNFNPMk4d5E2v=oGHoX z0FpL7%;4eT;*ydk!O+>!(Q$@{SwT=xaN^8F1{EbGB_m^=h7>U=^Squ@Q?!;fFTykgrf&Nj&uN->&wB~>6$FqvUV(#EQ@ch^cM zaubWPdmjr!kEAi1qod=Ff`?64o=#-6EPErN=07jy0mF`@qg*k&%hsNFt)yhcIxR@t z;n~vC*Vk4AE^hnw@yExi+S=%d{dIfGezkIo z8zdZHn4%fXrZtsIPEM}k_uK6szq|~d`%_p*$RO>E#E)OUoK}V$x_ehPf6qs@b8{>w zXGeywi*cN+=9`e4%d4-ie`c1c_w%1$zLeB_JSx5-Zm*S$j7&mua`S}?0Wwx49?N4> zQdClmB-75%>;3up`QiKb<-L{)g|CZYWcc&#c0LC$Z)?w5HzJU9QjY;NIS9ke31%xo~Ps^$J-P!ukLA{r{iVXliS7 z3#<7ww70Y8&l>|3&K`|eCFcr{`$+#a&L>NdQWQ!TG_IHzx^`5xm|14tcf{&KC&%pt=rnD ztsjod*Dol1d@SS6j*Wi1w`?)-nPVZy$jBI=HTA={Z^zu_Yg@K#*-~@;ZKS&YJeS#K zxeuN^VUd=W4p|w*dcWqg@4{{QefIzV2%BbKYw=pzw12<-G~MWF?~AUlk6&M#J9qBf zi;La+ZSFHyT2_D4iQ1mWTU}j!$k+b zX@$g^sI6WM0?Ym8p8EXLy8Imn!y@nLdbct+r=J&FxNu?8sVSOCKR-Q9`tstU)7r4^ zsI6I?y>5$hudfc*Ul^cqCWR(^7+sH*Dve!o6mCvuYuDDh9x4)=?QjO^T;em?8A ztBVTxJ*<*iCQ7z7+09T#~`)k=DIXXm5I{&s>|Q@ucrR8d!d zUe%j@ZH?x$v$NIhem)Ui7`D1~{rdGCot+oAX`lFJS^sa(i<_I5Z<|;8`dTLlA31WQ zW_#@ae}7y1`~BBl*HBS$30V^ncxJA3c+Iz)=}rp+I;=`xb#Mx+byR(Q)tSHlZ&;6% zsn>}VBg29R4s-3SOI|4KDt)cC@87TNjVULEE^f^ZXLRV1Huqb8_tDXARt7;SDXo2f zzeRui_xn9}dV2c9_wV(kOtY5cPMZ+tv#>#q20>TyZrka92sD zVePLH!_rqFpmHN{sh8--KjDYBWL|FZQ4_wqyIj0mT>sj)pMSDvPxqd#$0;o>{qW^W z&1HUbwbIVaQ2g`fPfO5B5p};g7q*?Q{LjM5nz{Y)hlht-WAwy%rOmGVoEyKpZ0&@T zDT_i^hb0|sVoiE>X6B*m*TXHWtX{2228Ev2QlY6@p+fol|84`h^2MERlCmpvaqn|=n~cLnrWQg1xi3|ywY4Veblz) z-(Qz&o_L5waq`I{6BM0~bct#onPXY(a(b!@+1 z7j3Qkocr*-dvP{(eU<;s2D)AgLxCU;7k=VdHs6e!vm6SJ=-a{1c@j?FF0moM+= z>bf-Z-ePzDhYubsxckkL@xtlT-baof&%T{|Z%-tH!2O!fy#h`hU%r$)eD_XID}0?! zP*Bj8w{<_CiZeQZ>a*5+cJcLpw=#UVbYYJ2eufv%o~b1zCvUxcykB0Qq2s}WgozU; zE}VOBbGrY+01cO{tW{-Eaqkb7->Yp&_y>#hPPH}PZz|CpCbN_{{kJDv%!E&JV z^)=3&F?#=gJm#NkH(f7Qi=kt&d;hcDbu(wqJaqoN|BoL(o^ZvUZ(H1ycb`wziesvm zYTn&lOXrq7Jtdl$n7B}wL0MV3wY9bN$EVZ!rPC@uK5|XW%$%A1>$6qK3k4CbRt|pt z>wdfI|L@zdd9yGm$@!iB*|Q>U?=HUwvrMz6F({P1xuMu1prokiXklg5rRd!DLg)Fz z!|jI-9&}8v`v31QD}!O`DUrF`LRW{0UR@o2-R@lF`W-uVbi8T_2XtSV{mY=pr~l8Rp~2+hI0>N-QC^i*i;IAe}BI|^MCEHFBk2?G(=W} zt`^I?w`b+tw8X@Pw(b6lFDh7BNzI%&b4B1{w|VVTtjpi=n46oweay};_u$UXVhMu; zhBwHceF0QVb^-r zH*aRjm%qHkI&a>*TVH?ve!u_YkB`Yb(q=x-{~X$udwWsM&rdhDW>1gXc7FAXTU)hd zWMsDVXJ22(%kbjza(*3M-O^>tmoI-Uv#IWz?TiT%8dj{(XlZLxvb2;;Oia90TL0^d zW*d*>qRa8`@9ll~ysU&uf-S^#Oy5Ec`Iy10ApZapof>&sdDL-_V&dwJBzFwA60J8y9;XM zmu?I7`+xr0g!o?nc{YwYIXctyK6BUSN#1|8nds)@_Lzm^fsLd$II%&&RH(dmpZ>`!R_xSC#!pS zdY=5c>zV2MudlBwwm2jtB&^%DK5p-?L$l`FR5m?%@}%bV#SD|3=ag&qsYOReS5#GH z-OsjcT$Oow+0Iut_t)32s|wMYdQLv`#PjcRm3zXA4kh^AmNw6G;AlK=|KH~NCUw6# z95$b&{AL=lZrr$0BYK-oQ&ZE2hwbvOdP)|AXc-ni^LcY~GrOwS6ojwqS|%QrSQk;Z@7SE&>&yM+zr4S1f4*{6$jTs{t)lIJ;=WJc zE1#5{d~rpf@{QZKlTS_2{P6vIyVue~GmXQ`uf_z!-tixe?I^J{UUaiXtMFk@%*u73EN%v_QPd=`^5YE zYJdFsd>+)w0QG@ZL~YG#e63a`%F~b{aBXcgJHsvht21Uu$k zha&#|{yfrVJcrwO4?jNMAGkKkwC3m2=~j#z6t?Bv?J`O|mGJx9TdQjB;(xp9CFSMi z8BP@2?AoxwV8^aqhmIXnyZ`g=-@k>Qo_MCDq&%@+)7jt8U-$QGxQdF(i#M!iELCO( zJJ;R0b0;A^y?xCZ9h3ZfdmLVW{Zl6H^x#;p^sNOy-c&u8Id`V;?Jd){pIdL*1>Ns` z^x@&*ieFzex8>jOYvYy9TJG-R@?y*B$mP=Jc?&!ztKE7zbLPyBo}Me5m;e3yXHoyp zW|nDo*o&{9zkg?Eh}l)5dH?#_1-HYO205+`d;atHmp^;{{re~2bm07X|J}HQDM@B~OQUsb{JeQ zwlv+Ed6^Al(ycSI&H0UHzFE5P`k_NibFIsdZOgq~@bc2qnDh3PpH!}I*_wU*)tvb| zOJ9fCRD5vQy++D3>%iT+vfk76uHJlC{q4=ctEhN z{PEFItG8KKRxpZ-i?4~;$TV~2%v&#|&2mnZ&e#~eJ#R<(d%3VR5fig3H8nN$ZT`fr zjWYf5^Jn6}KR?$y=RH@4@`_q#vWsCbY zD=Rzyt~fbK^~9MoSN2_x+LpsvU0q%C^=i1)+oC65|6LU?FE2OAyCZRWn(pCdcK)~> zZ=P@OUb|M8iHT{;e)*FpPkQ+JUd?>`{yo37_3rRrZ?8R-l(Jn472`?`#T@kTSNk~|j z`^xd_@%6pe)nkKbPxvAaz7Uj6^tKVPrM zbMW%I1_cR$@)sz}zP-KOeRtX03rjqOYks|4-qF+JQcz$3DkfyD%M#AaFuY}}qHmOZ zj7P?*gkx*=^Z1VdIrbcyOSx;>!!cXXoel zH#9KtNE)&HDDOXUW~MPH>6>I-;jpd#c4V=8|A({Y_YYjZE}ne6Pxs5Wm2rEm7#>{q zw|DKAvrR}%Z7q9yYi|MnD!Z$z!}tYrGRDPK?-FW%}pu-_mbizP`OJKHEJ1*zWiHx}Dqk7S{d!b>h@1r-%p% zv;2EKwZFf;F>+tnB_|G$yhXi!sfD>Y_mA(J6HiW3eQ|rc{;JT`ZF06%2hN`5-JXB{*t*!=0sHIz+Wc?0G~KmZ zY@uT_8wVHHAyA|&^O3Zv`oeL%U;g;r-Q|V<{!}tJ9PJXlxT7#RWPP0MxpU`!{C>ZG zW9jR#9tlGxh7afM|7Tp^oOHAc3(7j*IHOzkEv@6pUCs&@3e5Cl?ePI9x zKR^G+W77E@`TKslrFTq}DSv-YRMxsoq_3|J)HE-7dn@$L{`zMs(tZ4Mp|gop?~hlj*MmB}0a{ZRWnEqM zXnK6z$?}egf7%K_$;$Qbudl69YsJ2O`?e@{ciE#;Q?*%dg`GTk^3i2~dr)zB=+r5% zii(O3z1UqZcot8bFhSv1pRBgmG#$+~Yu30VBrE_m@Jrj61^@FgPrff;*)L}+bhw>g z{NBBLx1O40U-JPC0^L?imzW`6_rtMA-ac-}?%mv5qjYa=%Ux|;s&UJl%Z|~8&yUXJ%fBVd}3azNDApAzYkp%BFHVKQ?c}I z^^+5VfqSb;L7lvrMyW?GE%iQnq*J)Kmsz7l;P$p$VO}W{0W&kRL&uJ}fm-Q2@^&#X zyUX4#HJxu+?6xK6X3&jWx45#ivoC@=)o*SX&NZ{V{r|*7<)jxE7J?jcm$A)AyXvmYIbPE@7uFs<3>R~KE6d|Z*L`ies)&>?mU-Y3c~0ATY9^=toL1f5tJ+D zT9uyqJVF0u)ZQvnHa?k-;N^Z#cZ*Ny_|pEIK}c}#vMX1v#I(0vUl-f`;>C-Y?M=!` zMl3e$6FOd)&b26HNi+&pJk}$5%lfo{prp_|X2^hk1t0oIzKhHGi6>L6n$_0F z?Ugc`>GM2KY>Bp!k&w|$p3Uj!r|lA1d$^t7S#9#e4-XFqO?OHukYMQSI=M0VxIyM6 zm6Lh7X&gpIMxf%hnVT!9ySMk~g@w)!pFLxfmXB~}Pbr)E8o0%D zF6{iSlgck~cUx|B&HumOB@B~T($3CmJ>Dy{*qz^Jjzyq2onJ2D-JPAFV)5F#*wu66w&g_j$XE(lm%nq_UH10V-2FjIy+Dnq znwpv|m)m%y+n$}Bo&4;~%pWfn_jkR$clwxyrKRMxYuAFNJAU!n!9Jnu%o5MZ3X@M3 zJU+(DBVoYM*Vk82P;lTtBlE;LbJpZepEC%?mdo`bZ zr)UPNoqu{|ZFKnaYk{l7);e8Y=KJv7JHDkson4~ZNhc?%R-W6PeqIh#?Uj|4ZP>ou z{p>8$(tQQBwY7!`2O45No95lIxGpOPtyK=*x+Uf3=Lecn*|y$uvf9JL{PrviKYspn zRGa*APH@bNv$Vb#}H7S-S0 zaK|rx{&bG<*2>Rmpmw-M=qiyAEzwz~*=?ZVsN1~~hD_VGZL?aR+&9m*`q1IS%#o3i zR+sI6J`tXx9nM$#>&r>gegP)mStgCMXG?=Rk#pzGo7cBsfx?g9zr|lnNb9?~Iel^5 z-YU>AeAHUEudl9dEPZ_~=Iy0Rmki3@MC{nP^WeF2eEEC7ioLtHH~PWTC+V-Rfd&>W zik^6^dp=D!nr)^}oA-3R%-hp60-e(P=gyujy{q(fo2+%&lPZ3j*FQc!K5^!ZOTV0L z$+G7*_jVLM=6?O<^XJQ)^*_Gx8&WGdVYTX`K$Nu?k>Lw znj*My1Js&LKHhh>_;&36I@!6_>*mBUQ@MN||DC0nM)jE%kC-8@9Oi_qUF|KD`fS>RKi%^WA)wX+Lj!4I1H^YgH=LEv_%t z%+4>yaKv4{c1iB_{q^;X4ka%yx#~o1@%Zxkx<7+}tX0W{ZIQdn)-ovk`}JCXZmNr$ z+p}Gr)n{j!9&KP`292m6X=3Ge=@!#vVc1yk&}nXE_}VDd6r-6dVs>rGVuTnk8>y< z`T6;|>-l-MtPF2|NjLtVa@5pRlm7bgWskhG~CVJD=>OeQ8%$hl_uHc2;<@ny=8cYu6Tq zt&O@>w*UXX-3$|6AN%U*=?SXPK$ThgualG2K_l45`(%X$1qFA;87sEzsQkQa!`7{! zHp&&h-%lp{gT}|*`(!jfSaB$VrfiOENIZPxP%HP*J3EVA*G6q+Vfc7jfB%auuP-m} zXHcm6`bt$yFGjpw&Z4CZ3VJa+CcH1&_y1otqr;zXxAUzoPo6Z1g&}ZV%uc4O zzxQwot8p+q`uF!Y>pb=6rE8lTHq3{tYSjlKQt(o%0w zD1qlJ=2!-UrdUjJZUmf2F#-)q`uq-1ENKQW zm*-BOGe_stG+pfwt*M~0@W`K^pIyJcy1I4!(}m9MEdowUmM-PAx3>q)FB#_EGTB)4 z)XT8)QwnH!SWr^(=b^9JS5`~})#G`2c}Y)BOia4DDfQ9v`E^1kPo7-l)XD{FiuK4^ zhk+)Xl}t=R7z92)KYxB}t&@|J%h4`TP%s|_4dIJ$wXO(W-Z#S_v1vv4`guRT-OfL{ zB5*M%dYIYybUu7j*V18g&@!@Q{P1@B{cAJtZA^B5_~?;Ri@>8hJByhbBy1`+_{}bS zeC%b-#-m4%axM+h1a+S0mVrXdXr|AdU8UaEx|Wuf;kvrf+eA`NO}S{-*V`*vR#paT zL@24Mx-MVqw)o<|-3u5u)c*cv75}R8=dai6Kl2E(-et4=${=vOPxi9k?d|#V85FK$ zZ9P{Ou`Orjx#{taPgo9ciE4Fh*<$kcOa8u}ZVUqA`f(zU?&m&v`c&1b{M{Pk|Ig0O zW(7|#@v{P8UrM0zH!Z^*R@%8zSf2tL1 zZDT{$#YCFq-U_kSP2X)Vf2r#0tFN~h12`0`zP-`BbN8-mTH3O*Tg~kJEiroH!OMIu z`fc90@#I%)r51tRWp9NTj@;W@{WsOB+DJ@#Ocn;xVbr1j@DXaD$KF4qvTt7PT5 zFLP4Y$M27`*0r^b1=WwBHsp^V6?5M{hR#ytVx6TZ*(NyA?xTQ#=+5%{wc*bTGcq(l zL$W`9RJ^&jSDN9&zu)g)Z~6J4nV*4SciCGehPMmnpPg;~_~z{EIk&cOmcF{;2pU$t zd?jn^xBG>Kg&kd8PK(`o3qC*deVaIsnVnBTQITF5+nmpR3AgMq2TcP;&uDFHd-X+i^2rNZ zv%^7->g?>iRW{o!w`uxxaVe9G1#`Dmea(v5Qz2-aey-+aQ9GY3Xha#5V?d3TKY#yz zyc!-ay6a#1eP%;L!;bE5=ZuUM=caD8yj=?#^#9x^X}k^2UUNO-^TLFRuRnuAr#sl3m@uy~47xz4z;W^WNQ6>g?pi zv}n;H0a4M`<^JfPPl>ynorIO`AS^c^M3vkq3=T$9env`@glE z!jO=g+q=-Y{neFc4<0Zu+}NHUKX1AIo}QqUM-DVHmo9sIZ?CkRoE&I6wrtkasiJPZ zQmsdh9En-Z2(5=+NA|tDyIWaR)wTLwSW=Qw+53CF>tc6jIhWMb*c|JZ@8`Gw zV-Q~Z^XI$W?(oVQaafqi;K1wJCby@#gMsaqaMRE(HYz3!k0+xas@3 zUTJfMmIKe{*YklV1?Fh?7oTIknqe}-JYSB9nR#J|*27n?xXjJXV|ElMUeA^k5SZ|~ zfBW-zZ+mVMFETv=dK@Krw$? z&BjLN>?~8z#LKgDbGu`Ampwet$Sh%9rt{&wxL4wn@avz&EkafVFkW95d-zzd^u+~^ z%sIEW@$yQUXj}=9V!iu$#{F+PC(86zG<^wO?kD@>*RQPj{<+rWph8}K!uff&(l1}W zd~t8DwUV;3prqu=y(g5^)Yv9Yoao{2e?9Wp!^7=c8(%y++TFVDZ@>M&1JU_=S*Lon z9_%`%$RoR4>r*zWu)+%0|Yj-ON2{O9$6%sQf@%Q?Hjs+4Dlcx0d z^P5QVu8ZHl?r*mwgPd(u%Z(cmbG1csb8vBD_+*>UdE(FZgKLH9m zU0q(#NaeZsTcCDWWZt>B`QFp@p5FTWO-EgQxy|vnyGvh(ty?`QHz()9-s}>P;#M^75w=eRXtoGyG?)N3jjvqUA=<3zb-#3mQ zXP>SY+a%!h{JYNn>qZ(H9FC5TKi+IUU-0IJ;g$9A^4`<+j&8}k%(d6f&dzQ}!9%BY z*Y$ODe16+ZRD2}oFezlVSuO*^=jZ3I&$KIl7sKFids}Ylvhw%$WWT?^fBe)`?ZSV5 ze#XQvv#fWu{~cZ&6BDye|G$`S)PZy7_%1K^zb=<``r{kW+yrQe)Va7-@pV60%irC( zIP>|-%ge3$MY&kD!q#vovKSc|HPkaJ{rmf=YHn_V$FB1CeOtDetcl#rR{i~*>-N06 zCG+G>vqb9td~}~XKlSu9Mg}$>i3a)lKZ132b+^7bxA8Q(Ek0O&zqbA9>FI|rT@q?$ z2R`F)vzI_7~#BBU>J+n-+7lp5nD<~>D^z-v`(CCBg z;p`6&4&K;RsvWg8t2OWLE=3y~nb+6XpD(=^(JiL?;Nio@UteD@cIgz_QT0_zOfRNm zTkh>c=g#pl1njLUWjL^Weq9%6;P})juD7?gYJV{^P`SD))Y-v-!S3&u;3Z3!KIM7> z64;t`wPe}Tp4y0&L8>J$E;w4(UR@P>V{5i}*!sBMpru}n|NGY7Sne;c6S;}ya2v07 zfN$>YZJ-AI#Z{r&UtV41?w7Yew#cpTir+;s{zq_1YR4c^c|G&SW)vpW( z;_Lsm*8Tl;@aR$2v$ISOxA97sObcHhx3}i_{TkVBF8%!;b2 zq`SLHcd}*vd%OL&;8z_t$|2I~xCe08Iu=(~WLp zWM+Ht<>loMU%wu`wl=!(%ZtD>^X=n*|MpKQShA02rcd}e0|WngHWz39`!hjGQc^PM z)02~+MK=+Vk(~MY`G$3We$=$vzqq@5JA=Y3^Za?wKZ6SD6+uh80#=5AR%xA?V;TJC zef|H_#S;DV>;FYwSsm`b;%Zi6e!hOz)m5r>KOVBrH7kC0Mldce&S_;x*RQXyyFr!I zbpwOb({w@0aYXd=^qf|PaDjS~58LItcI>d2yAQN_Y|oxOEiroaOLHGQeyn_JTkh=a zxr|Sws^7aFUi(BnU1G-b_LC=GW?x+uy7Sr3FPHsU83Y9c0v4n`3B5koy1b>ixjEzd zy4ZE!KvM>0W@e8-9i_Pb_xpbPv9Pg$M%PbG*VhkQ8@067-cDOp)fF_huw%y#4ryuW zi|b;o3!k5p-OIx~`SF29W~PP-CsQ7sn`>RUt+TIBteK5hNKa4i(5+ihCRtZJKx;X} zt>xwAA3lD(*f{sa}iSZmw=jZ0yk&7Z-0m{O}16bMfbAz8}Bc&gZVLuU{Cn zvSst;%^8=Lbb{tKN`IY_{Pgr^=1<(th_pKjaz{Cn={ z9<$25{2gB$)hgOFL2JY#A6i0JmOp0@n%Vf}%a`f*!mk`W=%{}QCr`zZ&DKYKax6d`oy%4Isn4$BGgO3l7-+a5j zhs>sGg*Gi;p1$#FNW{vOD}Q`GZy$eSna@lk*P^ShHs{^j^YhZ}*QOa46t3&C^-f)w zQ?7JLpAEVQzT2S#`|5X!md+1C%}$VI=I7>Gr(ZJ_n8^(b0MIUgFHDk>l0nlQmXw3G z45Ya%zL;=rO(X{gM?=s`mzS58etbGT{@KlMCnhR`7MxA-Qnj(Q1r72j7#j!w{&Q_@ zw4jIx%ho7fadB~z{ChH*AmW$xCAu6_&|rzL)H# zolJ??l)?#0nP(QEh|#dp0H+7Z~{EY#bsYBG#3Ce|Oh;wpp%0!U2Xg zvAe|*6B8wjQaD1iMAdv}wXpNcfhv<3rrBavWp6rKT3G&kJT5Qb#K2&dbE83j-w!5G z!F+X9XyLavk)ZizGcz;Lbg_`IFevvv>NUT2;MdpJf`WpL7ZjNZQP#ogWI^G@$AeLZc%h7AJW-`%}D^WK_BV{nyn zz173ZhQ-GvMQvT&-mWcMOiZ$`t#QbGeQhoGOrK?Q!}izJs;H?wdUtm>2Opo?=Cre* z>T_M}Zjk3XIy)H|R8&<#Et6(8-lnx{*M3XCwIvg@%=26PQZLaJAzHcrOJ85Rx^iLA zQm6Mt=A)En)Sj4)CS&n`|YEn-Jl8ko10Qg zuYEr;QTf(aRU;FKE3ag2z4vR=h7AWAnb|>Y>^JxK%X5qAfSWs$)%_3Mx+TT1A?YaB zm36V!*K1g}R)5cX%PL{Hm0!+ALN|Kbk#(`VLCau#=G(~@KRa{q#6)H8E6Zc_uFEYu zH}SfwoSB)KRe$`Jw?e|gpmkiAm-|1D+CS&;WtX{L?+bttM!>@Bbk1FUaQl>1E9HeAyuyhDJLiGsQj$P z#Kcrm_vg=_Eq~*86fmw_x$@RO|2Y;5gPZ&N`^)U~_4VJDQvA?-Sen;e*XUH-+WbA zL8XlG!l0F)zRcsr{dR|LZOs;xlj{>!_XEvxp1xXkV?!cn_{6PGrgOsvgEu!eG7GEw zf%YEo?~Li2tnU8^)DgX3|G)S4_Wb1E-`-Yydcvs{vVwtOhE1i>GXME~`TPHh{r~fs zUoUP?N9gLX#CLagGBm{Pt#VYGoOoh_;*O%HT%e(no14@3m&hLLk!-I0{Y_Cxi7EZu zoP!IU+qayqi9E}2VM}K4n&|C(^?yFHgADrj_qTY)`X@&^g+CtVw@&~ikgBg*AeouQ z=}Zi#rs;Oy+grUjet#V(bd;2oK3tElPyF@e<&CY`;fnF9i;|SSdUm+Dgw$->wCMi4INt;qncd>Gdz0k=%+{UY_7LX`4seceKmq#jK&7WkZhqTBbRLyQ;OCX-*bpI!BsW!C=ZZ8qcD z@r=b;S~VtD^g~gI@`1Zz_x!H$bh)GmfF{Nzr%w5zbEn7a$XRvIoA&?zSu1IAc4p3G zec@=OrEU2qCRgyqyuZQ^^12TQZTnEVv2iKu`4ftZ9)UK?v1u!NH+O%3^r1Y(#LxBE zgHL-cY&!f~SJq}lMxJ=^IH}p8JbKFK4bHyt=^@&0S+*{E(5xmbD9XmHASl`M;|kB5 zeWHtbYsB9jQ!;f{E{&YDVbcV~6Q>!sp5C!w+kE4!A6AFMPHryi@UWL)==3n^e-vE! z=vnZbuAXD}CmQ~E9?0~irfS~F4HHfWtXyK7_0wu`nWXrYPo-_mTc=)06`VLRi9uyi zQt8h+nYz87B=*PEws?Pk?DMW5uW;hYhEHS|XiteDb#MOAR3U?PLcBBiNI z1uY~$iu~5IJ+eMr{&8GR*A>;7D*EoG_f|wO>1s`N$h8-b_>h&XRK>{Vpmb@sPVa$} zv;8-|e#HD{_aA}4&X+;cQ^I0$L^48eGQVx|UbJn#af(r!qtd0L3?433#cvat_Ssi* z@7A+RcwsCc_f2aH=cgmlimHN--fEOux}+#bFm%4yx+FC%@%vHsi26rne)qd3?vkl$ zZjMbUd%y6dC3@{$4cj+M)n@%(5Y3x!aZ_W7UVBHE1hazR)7OPg zTGM3sj(=CrSJu63^ZrC)-jr!YC2L-_KJ;aJ@HR)c)Y2uyMS`JIWBPH{4}z!NY~8?n}@$F77X@Uw4;FPiU2$REhTurgSU$nMN^A~F##5FGM%3yEedhnu+_J@Isn`bcL_*ZusJ9RmwhYavAbW$IsM&H?^v#x69w|! zYi@2d(wbT_VV8)~DRyRsiJV=YUdPYuO}z2tyR6(hRnLeMsW0NMi_34(;Feyx^vY9# zi^UQQojzyeug`zbeD-V-CQa3U zPdxatCR9rJc4*6~F6Uzcl1w1S6g)0ua{F7r7cTc9#@;9<)%!+L;`%I&=tF+5f;!H~ zF)K`*7+wEJY}wmghoW~(3=D`o`SIs$(Tlsc^OHK}lJ3@|3>*ZLtR$wfmRo zwXV2ui={H5YPnWHz~{0em!Jd&6(cA2e3yrR&p!X4F;Bc|!pBcVA&+m*Q(W=xu}-O` zOIkbQgcBVpnJj5oKG{v#WXG0ND?S|MS`ASBt@a)qbo&qE!) z_-dt6O_!?h^Y>Y~t3#VN_d0=`%EYWNQE-Rw+#bhlzlZbPJAg{0KPuKBp1(KPVb z*|1kZ9X=rMH2$_Wl6t?!x_7zfOOTo;GHcgvSmR%MMei}lShZfp2`3uV>2a!vFEB{_xuN5O^_XYcQ* z&qQC+t1 zcu||fqVS^(9wBGe-RXB_0y{G$ zHoVervtOk2Nkx%&Z`hmzwR}tbLKJu!TwHZbmARX*|LL{9_$Nt8%d7vi-}a@Md|a8?#ztyJ`~vQqJIdaV%ghWUA5EYJ!9D> zM*h@&W4P>Jk?Sj?4jw6Hg+Rf`S`()K)>4Y4k}hePUpIQJv6j;;m2_e2W}L8sLuSV( zj^G{aO&&p$%i<1Bte@u*%Qn$5i9zMkX72K2!&mK_A82~GTsn1$qvu8e+jY55d5SLQ zlNnSlE#7T-vZDIyeQ=2;qQo>|!nDrq;qwm(-z%Q&0V)*cElEv#c=zk_%KCUE=3;#_ zR_AN~dPDvtx-B`%;ITwKxGe7A(&~>v(;ZzZEy~r!=Kn461Ub2F=@nLinN70K-z6SC zc{^yj<57)=Z}L>;-0eNH<4t1Sni%iH8{_;}{LN-yFiMhBcy^)OV|O*Hk~VYJ{#ONc zk7XlnSUkPGTuoPUWBnTUPhTHjP&w}SFpkadY`fFT$gtaL@1B$$`M;Hy;X%M|<2Tu* zm+YpO{g+zwUBAtJ|IP^~b-N1Q_Flerxjb-t54TmgzG|ta%cRMiiWRG@E@toeXd(Dk z{9osi61g}d^^@j)PHK}6Us|ccpz!gM|-y zZ8r(cKeYJ0%!!mr`I^d2$!bRP?lcvjPTa7e)a}w!=MMX=%&P4AZA<5BUy^r!@NidQ z!Rt?~3M}(-W;6BI6)!CK+!I6=dDuFKXq={JviC?LE|36lRMW)}8Ol&t0F3YSkgV&m}WX#7KoTiZ3lFQ>HF`W$#NS7!O-Gt%c7RjPca zi51n{S!MHTO5s8F+2<9t3}atSS}|jZedm$GrH>ViE-MDFczEw)uttpc;X}6=jkHCR z_|`WiFRp7~Na|n1*1{IqX;}G9H9X2Wa+A%YzTB3n-R3$uG80R_mM^)>-@J6PI>Uie zSEc)Se?Ppq>^vhwU+=HOr>;u(o7HhGKgK*!sF1DDeLwq?X$5(9B3kcH9o=QybCSRQ zuG{0Hyo|_`&aZ+xR1Ow1bbfhJSfh0;$ErQ~q5o37)~?1ArySD$2xnZHG_mHbzskJ( z{X%=w93DnVX$qzb?5#I6N|t9dlFZREb8@?qt6_8c(9)+LY<{2asBBnXz0dL1T<-=S zzSeg8HFNe%`1XNqPn*u!;(159*(cWgwTOx0JHA)+{h`hGV^UOYT(9VFe)#oV`Gm-* zrUTCsPtP~^$N2`6PSIzRpuBl*Zf~5IxXd}aSpL}IQ#(a+nrA(as`EM$nc{N4Idq`r& zUnjqv(KPMbx`M2Ke2c!FX+Lv_OE34hQ{GaYX}O7Sf{aamBppv(Bmd{q-pww{n#3Cg zL??ePPcr<}zIli2Tu|d^N_&2F*wN^Ns!R2nS40>v2#GFkxx!Pk>90~*Y=uIprpp(Z za%)w-x(gg-T5*=X%le-)2#G3NPZbsWx~fgzI;`!|r2Ta+ZBGiFq@KzBa0f*b>vskr zPn9=`Hf}ZbV&-z6pA;)OCn`>V_+0R7;L0VVx3z9%9?SUvjS5^3~>1uyOa2dZjAMnLIxVBWhbJti58nCf+OLR|s@`^XtL>59|yd z%NwueHs0T_H|h7po5C)qQ{E=ij!aNtya=%uwUo?@V&?1`JWtBOy!u=swO_k zNC?zbczLq>_RSs4bEh%>^X*>Jqx|0nQk+gyUn(rR{THL&4TBwhS5gIDihgGh+I!-j zf1KPu28EY~8`cSbc%7o){r~w}Q?1u+cNaSaZtv*^g@w3v)niS+do^06k}g$889b)U zum8p@ZYG+<#`wq5{P&#$5r6v?pXIGT)OK*I;kL@ih!d4QGger96e~>0l3?ikG-(>c zAEReipY1JXinztVaeL|eRSMHj8|>_=uTvxcbKTQ82P0XY2AA{Q ze}sQjPp$i9wNvEBI?E3xG4_9L58rfaeE;kEf#tbc2TnD$w{&*hT6sd^PvKsM=PbgK zjBE~z(o>f)+xMTco9`blH-~+iDU)8_)%f}UC!I`@xU_+1+n#9td*`x14&3$ZV~m55 zAjl@GjS?N#{@=4&qRw!ejnUeT;pNGy_jX5a3+{GnU6eavIVjNn&)F&4efYYZcP!h* z>|_R&Qxku%{7Ck@sQ37dRf22qgN^^*8)mKFbZF7Ns|IVGQ#EvduJ#QH`B!eTiD7LA zkMw@kj-o$iq8{D)zn?K|;{f6BXmJN~h3pQq*t zvLul~g{h%keDn8nqSMcaBs|whczye(^SKw1tp3$+WNtFVu9|+S`o7CEKaK=Qd+bY; z1Vbl7!utw`jIR2f)3-5tJ2(DL|9Wrh)s)2&1x?FqK`!e{nq<7;^&#e!rxmJF zc^Xpg8C`DtJKsB&b;8tnwf7&&S23NuSoMBi&urZ~sW|@H*FRqD%~vYk`tFGCN^hu+ zb8AlCV@}st_x7BfO3m+{m~M=<`+{9 z7$*HZ<-`7Oj(Vx+&ZGBP!?v^5&F9VdQXiMJ`qaD|rdlGQ-qx=`)@+_v&3MwokYUnK ztKILuzWW|M#boBq!A|I5AE-rSbQwy$gmWzITu)NSGSf1PI>z1+mM&E2P6 zD(TXCjKSmC%R6ie@A|HUiuhbgPN-FX@Ib_2@&811sp-YX-(6g|BKnx?`&!|d&As)K zC(}7E8cQ&o{F9O@_E-1*7vGFc*>P9dIxhde*CzB$D@P(mI(hc=*48=4TROQO-&)La zr(%u<$eKe89?zct;dfXwvF}m+bCwNT7zMUPzmGlr)Tk#1fNPm{j$MtV1lcPY-AQhd4kzRR+#^Gn-< zraOda@HC{v9jY^2Q}{pb_(|0R<@pR3&A;B;y1AF>zjT1`{B0{4w7KPk)T(Bl{{Fa7 z-74~xQ3qEKw~u=*M9%k>2p?2j!jJ& zK~}k;M`Ulg{G+!Wv5TE9s-18Kg_DpRn_4nh@%pDh;Q?FD ztz({M&L|guwfg!uEp455v9iI|A#Il?$xFLbT9&Je@jng%mE;aTJpG<2s*3H{5cx{0 z>)zzm2fCIWcxmc-srJ5=-H*(Q+9`#bH7EV+?3pQWVBhIG+#bgo87G`Mypz|#ZPJxc zk^Y_(aJEuV&~$Aj!?y^oF7)-l{3&GD>+x2^Y()BC@|lBn)K_Qv5i|cU25Db&ussN zY0~1a_xA3ety?D(2Fp*$C7+i4t3TiIrI&GnPjr^ehx2hOR~ztLF9YTD+v;ELZ9R30 zDcCyX*ra<`6P9nfQvKiM*pmWSEU)PjQ zP%rD}a_!i@_}*_dBeCs^Cx6tKH{Uwth6KaOEwLue3*))GCv*NW6OFho=yB!$POp3C zuHE>Q7rW>32A-5X-7+&*P8Phw?a>BuQurZfg-7KpR~y8b^D}zCVt&~E<=)n*tul{q zhaC9NcBN%=FF2@n1@kndJdj{GSrU7TjidKUsKmA<#}EASJ8)35LCyR9U31OneYT68 z18<*?d|xXpX*7@Bqpgo|g3olzJ3pP}TiAXi`+eKlSorT`eqg1M zxE>TnZEhUzSXB-mWAIq^@)X}nZ390|!vp-b4YuylfWnQTNmm( zf1ZYvs)`@s|Ie*q4KrbtYk#>nn|-V3v@a|BR=(ACOg!1IVx((6PsJ;iDRAD8Oz&l` ziy05`d&Rb9R@JaZTvV~<5o_F6TKnN@rxEGWlk))zqCs8kIf>+Q`I*_ zJ^#BLRaDaAl`D8(#MXXMxSh;6Mr>Bau7jwk2MT-%N<^H_J>ezg4I*Ne;j zGWUM>4UxHIWV%CmvQDX_%T7>0?kJbKkm42FTFLdBHA0H(j@`=d>q5iCW?WO`=&lZL zo_h*Zii&P6n8)tH*1mt{h*agyb1tTQRXOXOjARf7W`>%JMgIqFuM@&Q-mi?J@t|@mK%Nx?I+S zlKkPf!a?By6XMC!;Y=*+pip4k=8ij^8^FQ6)%>Qtn^j@?TGX_ z96RrS`h`4s=4oaO>)u|hzAjcId9Qx4&NcpZyyezQ@BLP>Vry)h^ z-Tdjhn5t$@$#~E%ci`Sfhh_i1cU<{gestc&g&85&eBaj!@6~(9s^WZ@!Q+^|ws6NT zwNlZL0Ch3u|JjT#?l1Oci$|-5@vrIhkDA`D+Rr(evC}h+LFMov29IO!Uw(aK9W>$N zj(W4-afhaFd$~7zrcYbB^v~qayGsL4d4g(|IM(kBlNKg2s677uV$&7T3#&c4*|+WE z{bR#*;==#XNmsqB6R)ob*s|)$!teV!xw@+vPJ(jm$7&(9Qr0h4=hiTWnXt}#@!w!y z^DQp#-(knEe4Dyp!;|B(p6XVb&aZ?zNj-Vb@CQU(aw_nmPTNsOR_E*S{Ve zPy8Bi?CLU)U+PseUo0_M>8)_-Ajprec3lyjV3(r8Y~RnYjhFF~(3g9)ODFN&u-wFG z75Wv_M$8vEcv0+MFrVX56-A*}R+Wa8%;L z@BcbK2_NouIB~#$VNzlDZr+rS7rIV%^09~QW1JHcrgFD@WgM4%e@4S6xiZ&F_7^`V z1xqlT+yGImUCJ5~vguNTtvsW2wfM=}dCYfmKVJUu>qY49E%$z_RmHhYo3M*TNtUM} z<<28{k61?0tsCMSmhv`Q|Jr|d{;5+;@ufV67RAA84@)Cco`#eNki%8)Oy9+%#aFn! zF?4OC{WB(~|M5$5S63u`UlG7Ez34*qeHVrWi3}>tpjhv%W;ojp$`O(g_azZIVsDki zodf)!CfJuAXtWeQmUH+lTqh85i(yBl%lp{q$P*uL&KCU``(LVHTi}bm^+xe`m_6Fu z)LaB*{1vtIwC^*#d-ea0ff19DrNA%73l%mB*Z)t@<9{6VG5SXG-tXSePCDkcZVR

sxB@^PX)bV>WG`!!#LrK!aK7Kt4sy%2nXEqjOCr# zWp$XrJ%8nDg;V0p3X=Mk_xCMPpXKx5jn&H43c*5GrZP_8k>Y2Z{BhFfx85#nUCUQY zXnbt0A*nCNq^9Jo`uMuGq}e{_lNBEY3${xy2Bf!rX@zfoY~!k`H6SjLOopzwPn z=b&U1;#Iv;TcJu36lgM=nmc%=o^pJ})e+YLa`mmqS6m$(MZq^diHI6ifc$vHFDTr> zWr{Ta|4D)g3@VRP&)PP)q%?%^G^G3hMb^r>3@4VXYwGY2KmT7@`2d5*G4H&C&blrs z6+d>mxHT|N=$U;h5M*dcA-@8sZ)udbN1&yHr?+|f6;Xk`BFqYs=F;XXwH1^uJ$;~C z$_j4x9Xq>m%N0=p!IwoEs&Ju`;i$&&G`OT>>|meJ!vHcvT^?k{ul`H(77I@Z1iADW z$e|uPzW4XAfD}w+Zf{alI((49!>x&NLeG3w>aMI+& z(}wcgm8%t$ik}9@zvAlPYGs_@(;mO#im1TEou5`}m$JIF9%ArVc6j?jkdS4N6@zNi zl66gB-6d0a7^i#-3U_pQc5HXpw@eKex0d%2MzTfR3rzSA3j`W|Ua1Z;0Mzru|{WAQWgAbc0cKwO1@_;6g)&Ntqv4Fs+aQrG+!D4#5Y46iY?HoxEkP zdhDl6Chp==G7^7!%OjTYqIM#K%H_lSDN0&=M%)S;TCao(>=j~jFtSaJW+?Io`6l>z ztn`L5P+*3GT<`w&$isw=6)&b{gHp))9#EsSwG5Onm#wRb1|?@uZ+e#27G{OXAbUdf z8XLOzgN!v|b1?G#rrH=}x^!JrhmYv@e-kHynw_B=_kzM><*G}upv2G3tT1z(mn?(i z{YNfK(&a)MghZFFYkINu!|jPa)15UBte} z@t_17yrAgGUHcO$pa$0GHIr(u$_ZY4z2c7L?-fiFITILEJ_oFw4|3?n)s_*jxH`VH zF-|z+91wosRMac2juR16GtX@Ne`1LN!=%ap>!LS$N>!z$ZJx1=6XQVr_!ZW3%Gneb z9V+HzV2bvLWt|xJ@%Dr>?cMhI5BywO!+*y*sDXlOZxVyb=b(I0j+Q&f!a~AH2{l6?JiKVw`ZMKZfs$ylSbaOUj8S(;N;L28BC@q)0HFv}ygq zHs=p0$?${*m><~Lb0t(jRFciX$X_hXVX{9c%6J67|C=ZY3JK9GtQvulAa7q_`F=*u ze9DOykS8adY*+>wLJ^b{;#R%zLwMzC1+5~`*vhG`k9IV;e3>tm&&;>m*K?algJSTKO&RgmcxeP;4 zI#^*5xvC*7-ZPdpaAPuqN>$j@bq)C|u7nB%7OpfGD)j@H z^4rn|w)ft#tP@ov7&_-Y59@8PnaqVvlf9PZ8o$o4+GjhnZ)t9*h2;%4GcL)fb^dNyY5yMTXvQk+Xp!l@ zwc=CFze9_4Y6>-YrFXCR=$vk9XFa8@yML2&>N2+ncVkyZ+zR9M-l=o`=SiQ?myA>L zl}klkCV`j8HZR%0cuSwM_jaxhS+4C>=@6T}JIAcGv@4S@O z#eFs36u)hiy`o`g&1m16y2$?*iy%-LSh-OrvEJrTiPO% z7%0Uub;E({?w2oa*rJ+MRoLTR)iyW%+Xj7?w4Q2)&QHP143D$vw9H?hx~OeA>#jV{ zw%^w|SM1Ue)b?ARJ-@$0v|@(Fg*|8L>&vZHq^yWN#dQ4ro*xDux>DZGu)+`si@Ah0w zIC=jiN6ED0c=_x-;m(bL)xjH|#guW>%viz5FlECuKKi^ zUsGLt^jC^c{xT<4bM8H#y}8o%Ey$zdmm#%B_ zD6(Pk`Jxn-wcxVRgWX~cZ4V#1nlP;hG_vktbO`n5j;UI6@X}?;7xIfVE~V~|c5W=s z{{sX>w1Ap3xEPoKs*Px8V3S5tp8At(PV}XP%|Hdy>r;?=SlA7*(ny z*S`Yit;7#DZ&OyhSoV8j(818Y+l4o)zuV+&o?ks>Nwwe8#VU;a(tm43Tvf9TetJlW zZ3%n$WUtPY(uv9!jxzcF(V4iA@n7YySJl!dPwf4wyP#;oE-t0!0}LJ^0=)K2HqJ}d z9a?bp`?dpHpC7tv?{E5{@Wj6vAB(3PJRH{6Z2tfDWU2XT1)uW7URAw*uhhHo_a%dE zeL_p$JUwxVLGt{RDJum}JTkR?w(^&Q!Ux`!s}+nScp6+-6B9X0qWB_KabLJ$)4O)@ zk@>e>&*ZR-<{!?Hr>m(zVws$_RIjbC+FNxi_eOzi) z`ni+b{nr$${{63xN#x`;wSWHoGhxVlA)nKFRrVkE6HQ4b*nc=3$}7GmoIV3tz% z9$(FNA!*f>PytCDHit#w4`1+>{N$VPF}&l%gB5cd)~#mj-jlEI;R2d+Keu1=LPgV+ zP=Sk^pGSW2! zx^em&cr#o@XyU&}jYc_XhWo!jGFw10UZ?dNXEiScX*#jCAuoF~dy@L1@M8=fAyaOh zVO#ZW>Mky&%L?s*$ROnT^nK`ob^HtyLA{{1qqkUJ>=pg6O087YMXj50f`?b)?uNC^ z4QE6^M)7=G+E8cDxULZt5SJtvI+v9FR{7vuuAu7n%By3^(-ALE9d`UT&o zT$w8H(*3EP!|&FHsZp=II?hNjD@aBFpXHBH+hf*A9}BhlOCnjPtk5V`b@>9?D3mPppW(;L*ay!NLC%`-ig|N;MPLLd zN7*(rPB?LcgKdNiEtFxtl3pm*LcQQ0SauW>%QEv8sgih8;^qiRUY? zjuO^Aj3p5~H+F&aKLzQZk-ChLeR;}zK@q8ys}+mW-!g5P#TfDu6jxtB)3D1PynFeE z+eI#J!Y(1B@PoFS&wqWqx2CfPwD@i1g%n2h>5T3BSS|@KUDtM|b+Z14XEq1+ue>r< zAW+eOL1^Zz9n}Z!^*64zUb?QuXXY8E71lBtHuJ)N2uUikIVc5xJ#UwA-9q8rwkuO7 zto*o+dCNS`DLf#TSGn>uxGdALmHbhxS5PB3VWLi{Y08^9e;Ulym_=`c9KTnM%|WSn z!Uq8h8(E9pa-eZaUPWi4VEMezqaCxTk%BrBi=sf?Dri}p%Ticj; zkEgafC>cqD{T;k3!FsqKSS2C&u zt?`}z`+39S&yCvF71@@>38}mx@(fp`Id4p#vP()y%Z;bOWy!GhtpUHN|f+ObMyxI;6+rU>{XWA$02doS(d+~XNPN}I&3aA0= zvES%&!v|-F8|U5_%=i=Xs>`R}TOnXuYS{$tk=^Qwzy3eSf% zlVra!&0@Z{)gp&m@TDlTf}p4RL&bv690lJ)zWwcxk7Y6nUb=48kI3B&ai$GH|Nl){ z!?r?p>AJ2CAJEEb$-Xr{4?a$PV^Hy5=feY;4=;=+Ow}t*{gs@`yd#`p&no7nS!weR zKaX*HwF+{F&BVmhKJ1IurQV;X_e)Jcme0jK#on(*qqOwr=C2GfObpYFZi?sbn0j8W z2`87V>+3ip16qT>{>zd#1`@J-N9-9UEpAw{qW=H?FZ+*c8ZvzO61cpCA?GgR zZJ~zP&Nu&W?@DL4i!MKKj=A6q*k zk1=?psq5jCxgR3~pS&Hrmq106102v~77tD?F(`N|5=VceJO-oJj`4LZ9ZfB#>zH*ekq>?+CBiQo69we;wb zBMZvk-zz9CZjM^(mXM$j2HM#A@6pljj9XhYuVk6V#Kahsya-TH`&WK?>#<(xWZG<(ZR#WtT1zKzuhm6+uL#v&oa#}cy>mTg@t87 z>gj16eSO!q{rqs4-!T20%p9vyuDrZF&>lb|BO?ZehYufSTwNtgj2q4ecv~mv2ZtE%xWv>-9UQMG9~rV ziY)@oY`j9w?R-~Xe($&cCs4FAX33Hz9EvR;K7JIe1)c7{{$fVU?%lg1Hl=v(+qyOT zx*v~>g~9pf)AZx@=FFMnl9aTl?AE&2-JrvmK)0AUaa>#xsBBpEC1dW-Tif&Xe|>+y zzV^-I$I4bEFBV*0mVSQTqPoAoD)r1wO+zE1qq~!j_r3IyH_4dr;^yY`eXpHdT-ti8 z8BVTgX>V6nR%ZVC`ucUh&6_qkt&Q4R@by*b+bz3FUuXS)`{qqg(bH3z^X=>Z*@Uf+ z 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 Numbers given above already include the calculations from CBFS regions +> presented below + +### FMAP regions + +| FMAP region | Offset | Size | Category | +| ----------- | ------ | ---- | -------- | +| SI_ME | 0x1000 | 0x4b6000 | closed-source | +| SI_DESC | 0x0 | 0x1000 | data | +| RW_MRC_CACHE | 0x1000000 | 0x10000 | data | +| FMAP | 0x1010000 | 0x200 | data | +| SI_DEVICEEXT2 | 0x4b7000 | 0xb49000 | empty | + +### CBFS COREBOOT + +* CBFS size: 16711168 +* Number of files: 20 +* Open-source files size: 9944607 (0x97be1f) +* Closed-source files size: 1653604 (0x193b64) +* Data size: 36469 (0x8e75) +* Empty size: 5076488 (0x4d7608) + +> Numbers given above are already normalized (i.e. they already include size +> of metadata and possible closed-source LAN drivers included in the payload +> which are not visible in the table below) + +| CBFS filename | CBFS filetype | Size | Compression | Category | +| ------------- | ------------- | ---- | ----------- | -------- | +| fallback/payload | simple elf | 9597114 | none | open-source | +| fallback/romstage | stage | 84704 | none | open-source | +| fallback/ramstage | stage | 169034 | LZMA | open-source | +| fallback/dsdt.aml | raw | 22719 | none | open-source | +| fallback/postcar | stage | 35068 | none | open-source | +| bootblock | bootblock | 35968 | none | open-source | +| cpu_microcode_blob.bin | microcode | 562176 | none | closed-source | +| fspm.bin | fsp | 786432 | none | closed-source | +| fsps.bin | fsp | 304996 | LZ4 | closed-source | +| cbfs_master_header | cbfs header | 32 | none | data | +| intel_fit | intel_fit | 80 | none | data | +| config | raw | 4689 | LZMA | data | +| revision | raw | 867 | none | data | +| build_info | raw | 96 | none | data | +| bootsplash.jpg | bootsplash | 26784 | none | data | +| vbt.bin | raw | 1290 | LZMA | data | +| cmos.default | cmos_default | 256 | none | data | +| cmos_layout.bin | cmos_layout | 800 | none | data | +| (empty) | null | 996 | none | empty | +| (empty) | null | 5075492 | none | empty | + ## v1.8.0 Openness Score for novacustom_nv4x_adl_v1.8.0_btg_prod.rom From 9744728fafcf7499da3902556d1ed10cc6025442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Tue, 12 May 2026 11:15:52 +0200 Subject: [PATCH 05/15] novacustom/building-manual.md: fix docker ref obtaining MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/unified/novacustom/building-manual.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/unified/novacustom/building-manual.md b/docs/unified/novacustom/building-manual.md index 1ade6f20..11f229b6 100644 --- a/docs/unified/novacustom/building-manual.md +++ b/docs/unified/novacustom/building-manual.md @@ -388,8 +388,7 @@ === "V540TU 14th Gen" ```bash - DOCKER_IMAGE=$(grep -oP '^\s*-?\s*image:\s*\K(tlaurion/heads-dev-env:[^\s]+)' \ - .circleci/config.yml | head -n 1) + DOCKER_IMAGE=$(grep -oP '^\s*-\s*image:\s*\K[^\s]+' .circleci/config.yml | head -n 1) docker run --rm -it \ -v "$(pwd)":/home/coreboot/coreboot \ -w /home/coreboot/coreboot \ @@ -402,8 +401,7 @@ === "V560TU 14th Gen" ```bash - DOCKER_IMAGE=$(grep -oP '^\s*-?\s*image:\s*\K(tlaurion/heads-dev-env:[^\s]+)' \ - .circleci/config.yml | head -n 1) + DOCKER_IMAGE=$(grep -oP '^\s*-\s*image:\s*\K[^\s]+' .circleci/config.yml | head -n 1) docker run --rm -it \ -v "$(pwd)":/home/coreboot/coreboot \ -w /home/coreboot/coreboot \ @@ -416,8 +414,7 @@ === "NV4x 12th Gen" ```bash - DOCKER_IMAGE=$(grep -oP '^\s*-?\s*image:\s*\K(tlaurion/heads-dev-env:[^\s]+)' \ - .circleci/config.yml | head -n 1) + DOCKER_IMAGE=$(grep -oP '^\s*-\s*image:\s*\K[^\s]+' .circleci/config.yml | head -n 1) docker run --rm -it \ -v "$(pwd)":/home/coreboot/coreboot \ -w /home/coreboot/coreboot \ From e6a3517320be4e7dd2f402c61464455cca315dde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Tue, 12 May 2026 11:30:12 +0200 Subject: [PATCH 06/15] nv4x_adl/openness-score.md: add v0.9.1 heads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- ...4x_adl_v0.9.1_heads.rom_openness_chart.png | Bin 0 -> 28589 bytes ....1_heads.rom_openness_chart_full_image.png | Bin 0 -> 34296 bytes .../novacustom_nv4x_adl/openness-score.md | 68 ++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.1_heads.rom_openness_chart.png create mode 100644 docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.1_heads.rom_openness_chart_full_image.png diff --git a/docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.1_heads.rom_openness_chart.png b/docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.1_heads.rom_openness_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..87d68b4be6367de94be58819132fdaee5fdf2181 GIT binary patch literal 28589 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 gs(E+>*w1<^nS;72^3N0*7#J8lUHx3vIVCg!09 Numbers given above already include the calculations from CBFS regions +> presented below + +### FMAP regions + +| FMAP region | Offset | Size | Category | +| ----------- | ------ | ---- | -------- | +| SI_ME | 0x1000 | 0x4b6000 | closed-source | +| SI_DESC | 0x0 | 0x1000 | data | +| RW_MRC_CACHE | 0x1000000 | 0x10000 | data | +| FMAP | 0x1010000 | 0x200 | data | +| SI_DEVICEEXT2 | 0x4b7000 | 0xb49000 | empty | + +### CBFS COREBOOT + +* CBFS size: 16711168 +* Number of files: 20 +* Open-source files size: 9089775 (0x8ab2ef) +* Closed-source files size: 1633421 (0x18ec8d) +* Data size: 36348 (0x8dfc) +* Empty size: 5951624 (0x5ad088) + +> Numbers given above are already normalized (i.e. they already include size +> of metadata and possible closed-source LAN drivers included in the payload +> which are not visible in the table below) + +| CBFS filename | CBFS filetype | Size | Compression | Category | +| ------------- | ------------- | ---- | ----------- | -------- | +| fallback/romstage | stage | 77376 | none | open-source | +| fallback/ramstage | stage | 145659 | LZMA | open-source | +| fallback/dsdt.aml | raw | 22675 | none | open-source | +| fallback/postcar | stage | 31648 | none | open-source | +| fallback/payload | simple elf | 8776449 | none | open-source | +| bootblock | bootblock | 35968 | none | open-source | +| cpu_microcode_blob.bin | microcode | 550912 | none | closed-source | +| fspm.bin | fsp | 786432 | none | closed-source | +| fsps.bin | fsp | 296077 | LZ4 | closed-source | +| cbfs_master_header | cbfs header | 28 | none | data | +| intel_fit | intel_fit | 80 | none | data | +| config | raw | 4579 | LZMA | data | +| revision | raw | 867 | none | data | +| build_info | raw | 96 | none | data | +| bootsplash.jpg | bootsplash | 26784 | none | data | +| cmos.default | cmos_default | 256 | none | data | +| vbt.bin | raw | 1290 | LZMA | data | +| cmos_layout.bin | cmos_layout | 800 | none | data | +| (empty) | null | 612 | none | empty | +| (empty) | null | 5951012 | none | empty | + ## v1.8.0 Openness Score for novacustom_nv4x_adl_v1.8.0_btg_prod.rom From 445ec1a6bec53bda6c0990b9d28cfeb75d64b655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Tue, 12 May 2026 11:41:14 +0200 Subject: [PATCH 07/15] nv4x_adl/openness-score.md: add v0.9.0 heads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- ...4x_adl_v0.9.0_heads.rom_openness_chart.png | Bin 0 -> 28630 bytes ....0_heads.rom_openness_chart_full_image.png | Bin 0 -> 34344 bytes .../novacustom_nv4x_adl/openness-score.md | 68 ++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.0_heads.rom_openness_chart.png create mode 100644 docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.0_heads.rom_openness_chart_full_image.png diff --git a/docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.0_heads.rom_openness_chart.png b/docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.0_heads.rom_openness_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..9b11be0c0aa0b7a87ae892ed3cb6ad50227b620b GIT binary patch literal 28630 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 HoD!MLwW literal 0 HcmV?d00001 diff --git a/docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.0_heads.rom_openness_chart_full_image.png b/docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.0_heads.rom_openness_chart_full_image.png new file mode 100644 index 0000000000000000000000000000000000000000..a879c42e749165ce07101c7c5b50d3dd248b5520 GIT binary patch literal 34344 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%0DMFTKoFtvUCyT7j&M#5Pc8m{)Kr1E^a*<<0Hw z6F*!&?{RMn=dCR!D^D*BSJ=F<@v!vUhgJy;BBELzv3!D471$h-}Ozf5G2VCZ}?H8o~W%M<(mM;5=mz0lKZ(k>aT zhC3Gp`(&*Tt$aQ^AZ(RNsilhw=r9j0BPDhAmF)aVFVEXgtok4@VX|_m=d-h?xVEh~ zZAw1gw;})bw8fR39_@@1I=Wh|3Zn0PkdAI*^nSTFx3@Ms-`=*N zplH%AB_+^Uic82F6HQGI+X@cN`uDE479N(d2|AMErJ5sc)>1p$Y(xIlNelZsK*Iwa zUQkyy0}CWZZF}?kv4Dh-MhK*M_syr{{{Qq$+oM`VF%zj@!q46K*dtTytv5#9b;%T1O=qI!~-fad%aG zdxSG(j%D|m)6*xEeimDB(IYnO`udftm6U`*=dHN; z&YstI=0ibB+^&{0r>9RWd}*{P|1Q&(sFmK@LPpx!5x;*s2P$%Oc}-ooDpGjWgI5!7 z-|&c)5}auOiqz6AFJGSM>v8$^_V&*IZf;7}M&JL>dXlp8wDyEM_vFIj;x_Q<@Vf>G zh%`C|gm5%%oiD$Br?-o0ALE1$pDrsyLCf-Y4u2mo79}MwtP|k=dbs_k#DCouTd z*qE$bc_A%j&!;OUMoWdnzI~fuZE@hxIldxx_K01(4y{@vu48MP`1C2Ow!eQw)zqh= z<{c+i7%&J;yeVX9c_A&uVfIAEk3Zsb-P9Ny(iGXB>@=U*%BnEgIZd(s%qgy->gtFa zHyzV*b-#KmC{=;B=exMLq`B#pGP=09xP)v%++zI8tlJa#w6hSvd$k;!Esdw8f7bcj;eng~V)(3Z2Bnwk$s#p4y!)YuFS4MFz5zqc2( z`)%)6&}_49)t837duuu03MwtS)H=OMd6Cme?B|wAnB{=3r*GU_{e4mB>M(`|(D6ya zYCaAwE-a^}>+>^!t_V|7RtB9Q%-CQ3BPlt#@aL!06DdXv2Y!5fyfO8(SW9awWB++Z z8RIk_&^>Lp->nQ@{^3^kdPOTMskpefj^5tZ?c2>k2d1T+oi+8vK1C%h-5bmvF0Dn6 zkMS;9zI?IoY_koUH($OB+DQ$%V{7+>2?BTjpPr)0EG;b^`{Q)9n6&ij?eE%nrC%MA zX8=wAUSA*I?zXrx&Gzf->+V~#u5PIMn#FLy-~KO)y}do?bW_)FvpPF`dY4{d6$pGe zY1S+*2GD`yd-m@ADi^FFvP&Q%HFasU-sF>C-aXg7oVC?8=<)VI^BCI@$SFBzm=7hnZLfi-rm~EYWL#-Gmo^H z&-WkV@imR*_iM!)8yioYI(2Ar@(s|gz-bBcS(6=!8N0!$LaI4vw@q_ z&Q9NV>G-X!*&iRa%Rjoew|c|2ZF--6b#(Y}f`Tr@+uz^a$A@R%zhBv)E5v!~U0m26 zC(Am+^afYXw0YXEM5=~@KQBqPeGUma& z6H8EVrX-ug@IPp@jd4OpN5_dX1`OacVn>9ZpZ#atX#1Cc!V-Qq1_lNOPgg&ebxsLQ E0A#61lK=n! literal 0 HcmV?d00001 diff --git a/docs/variants/novacustom_nv4x_adl/openness-score.md b/docs/variants/novacustom_nv4x_adl/openness-score.md index 6d99c6f0..899e804c 100644 --- a/docs/variants/novacustom_nv4x_adl/openness-score.md +++ b/docs/variants/novacustom_nv4x_adl/openness-score.md @@ -208,6 +208,74 @@ Closed-source code percentage: **42.0%** | (empty) | null | 612 | none | empty | | (empty) | null | 5951012 | none | empty | +## v0.9.0 Heads + +Openness Score for novacustom_nv4x_adl_v0.9.0_heads.rom + +Open-source code percentage: **58.0%** +Closed-source code percentage: **42.0%** + +* Image size: 33554432 (0x2000000) +* Number of regions: 7 +* Number of CBFSes: 1 +* Total open-source code size: 9089775 (0x8ab2ef) +* Total closed-source code size: 6573197 (0x644c8d) +* Total data size: 106492 (0x19ffc) +* Total empty size: 17784968 (0x10f6088) + +![](novacustom_nv4x_adl_v0.9.0_heads.rom_openness_chart.png) + +![](novacustom_nv4x_adl_v0.9.0_heads.rom_openness_chart_full_image.png) + +> Numbers given above already include the calculations from CBFS regions +> presented below + +### FMAP regions + +| FMAP region | Offset | Size | Category | +| ----------- | ------ | ---- | -------- | +| SI_ME | 0x1000 | 0x4b6000 | closed-source | +| SI_DESC | 0x0 | 0x1000 | data | +| RW_MRC_CACHE | 0x1000000 | 0x10000 | data | +| FMAP | 0x1010000 | 0x200 | data | +| SI_DEVICEEXT2 | 0x4b7000 | 0xb49000 | empty | + +### CBFS COREBOOT + +* CBFS size: 16711168 +* Number of files: 20 +* Open-source files size: 9089775 (0x8ab2ef) +* Closed-source files size: 1633421 (0x18ec8d) +* Data size: 36348 (0x8dfc) +* Empty size: 5951624 (0x5ad088) + +> Numbers given above are already normalized (i.e. they already include size +> of metadata and possible closed-source LAN drivers included in the payload +> which are not visible in the table below) + +| CBFS filename | CBFS filetype | Size | Compression | Category | +| ------------- | ------------- | ---- | ----------- | -------- | +| fallback/romstage | stage | 77376 | none | open-source | +| fallback/ramstage | stage | 145659 | LZMA | open-source | +| fallback/dsdt.aml | raw | 22675 | none | open-source | +| fallback/postcar | stage | 31648 | none | open-source | +| fallback/payload | simple elf | 8776449 | none | open-source | +| bootblock | bootblock | 35968 | none | open-source | +| cpu_microcode_blob.bin | microcode | 550912 | none | closed-source | +| fspm.bin | fsp | 786432 | none | closed-source | +| fsps.bin | fsp | 296077 | LZ4 | closed-source | +| cbfs_master_header | cbfs header | 28 | none | data | +| intel_fit | intel_fit | 80 | none | data | +| config | raw | 4579 | LZMA | data | +| revision | raw | 867 | none | data | +| build_info | raw | 96 | none | data | +| bootsplash.jpg | bootsplash | 26784 | none | data | +| cmos.default | cmos_default | 256 | none | data | +| vbt.bin | raw | 1290 | LZMA | data | +| cmos_layout.bin | cmos_layout | 800 | none | data | +| (empty) | null | 612 | none | empty | +| (empty) | null | 5951012 | none | empty | + ## v1.8.0 Openness Score for novacustom_nv4x_adl_v1.8.0_btg_prod.rom From 4d246855224f076ab9a056e8766b2913f962fbff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Tue, 12 May 2026 11:42:26 +0200 Subject: [PATCH 08/15] nv4x_adl/openness-score.md: rearrange chronologically MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- .../novacustom_nv4x_adl/openness-score.md | 262 +++++++++--------- 1 file changed, 131 insertions(+), 131 deletions(-) diff --git a/docs/variants/novacustom_nv4x_adl/openness-score.md b/docs/variants/novacustom_nv4x_adl/openness-score.md index 899e804c..4d22e2d3 100644 --- a/docs/variants/novacustom_nv4x_adl/openness-score.md +++ b/docs/variants/novacustom_nv4x_adl/openness-score.md @@ -72,6 +72,137 @@ Closed-source code percentage: **40.0%** | (empty) | null | 100 | none | empty | | (empty) | null | 4983780 | none | empty | +## v1.8.0 + +Openness Score for novacustom_nv4x_adl_v1.8.0_btg_prod.rom + +Open-source code percentage: **30.8%** +Closed-source code percentage: **69.2%** + +* Image size: 33554432 (0x2000000) +* Number of regions: 27 +* Number of CBFSes: 3 +* Total open-source code size: 3982612 (0x3cc514) +* Total closed-source code size: 8963820 (0x88c6ec) +* Total data size: 954756 (0xe9184) +* Total empty size: 19653244 (0x12be27c) + +![](novacustom_nv4x_adl_v1.8.0_btg_prod.rom_openness_chart.png) + +![](novacustom_nv4x_adl_v1.8.0_btg_prod.rom_openness_chart_full_image.png) + +> Numbers given above already include the calculations from CBFS regions +> presented below + +### FMAP regions + +| FMAP region | Offset | Size | Category | +| ----------- | ------ | ---- | -------- | +| SI_ME | 0x1000 | 0x4ff000 | closed-source | +| SI_DESC | 0x0 | 0x1000 | data | +| RECOVERY_MRC_CACHE | 0x1000000 | 0x10000 | data | +| RW_MRC_CACHE | 0x1010000 | 0x10000 | data | +| SMMSTORE | 0x1020000 | 0x80000 | data | +| SHARED_DATA | 0x10a0000 | 0x2000 | data | +| VBLOCK_DEV | 0x10a2000 | 0x2000 | data | +| RW_NVRAM | 0x10a4000 | 0x6000 | data | +| CONSOLE | 0x10aa000 | 0x20000 | data | +| VBLOCK_A | 0x11ca000 | 0x10000 | data | +| RW_FWID_A | 0x1bfffc0 | 0x40 | data | +| RO_VPD | 0x1c00000 | 0x4000 | data | +| FMAP | 0x1c04000 | 0x800 | data | +| RO_FRID | 0x1c04800 | 0x40 | data | +| RO_FRID_PAD | 0x1c04840 | 0x7c0 | data | +| GBB | 0x1c05000 | 0x3000 | data | +| UNUSED | 0x500000 | 0xb00000 | empty | + +### CBFS BOOTSPLASH + +* CBFS size: 1048576 +* Number of files: 1 +* Open-source files size: 0 (0x0) +* Closed-source files size: 0 (0x0) +* Data size: 28 (0x1c) +* Empty size: 1048548 (0xfffe4) + +> Numbers given above are already normalized (i.e. they already include size +> of metadata and possible closed-source LAN drivers included in the payload +> which are not visible in the table below) + +| CBFS filename | CBFS filetype | Size | Compression | Category | +| ------------- | ------------- | ---- | ----------- | -------- | +| (empty) | null | 1048548 | none | empty | + +### CBFS FW_MAIN_A + +* CBFS size: 10641344 +* Number of files: 16 +* Open-source files size: 1933962 (0x1d828a) +* Closed-source files size: 1705589 (0x1a0675) +* Data size: 10197 (0x27d5) +* Empty size: 6991596 (0x6aaeec) + +> Numbers given above are already normalized (i.e. they already include size +> of metadata and possible closed-source LAN drivers included in the payload +> which are not visible in the table below) + +| CBFS filename | CBFS filetype | Size | Compression | Category | +| ------------- | ------------- | ---- | ----------- | -------- | +| fallback/payload | simple elf | 1549959 | none | open-source | +| fallback/romstage | stage | 113480 | none | open-source | +| fallback/ramstage | stage | 164903 | LZMA | open-source | +| fallback/dsdt.aml | raw | 23248 | none | open-source | +| fallback/postcar | stage | 82372 | none | open-source | +| cpu_microcode_blob.bin | microcode | 569344 | none | closed-source | +| fspm.bin | fsp | 786432 | none | closed-source | +| fsps.bin | fsp | 333763 | LZ4 | closed-source | +| config | raw | 6218 | LZMA | data | +| revision | raw | 859 | none | data | +| build_info | raw | 102 | none | data | +| vbt.bin | raw | 1290 | LZMA | data | +| (empty) | null | 266660 | none | empty | +| (empty) | null | 2084 | none | empty | +| (empty) | null | 6722852 | none | empty | + +### CBFS COREBOOT + +* CBFS size: 4161536 +* Number of files: 24 +* Open-source files size: 2048650 (0x1f428a) +* Closed-source files size: 2019447 (0x1ed077) +* Data size: 14675 (0x3953) +* Empty size: 78764 (0x133ac) + +> Numbers given above are already normalized (i.e. they already include size +> of metadata and possible closed-source LAN drivers included in the payload +> which are not visible in the table below) + +| CBFS filename | CBFS filetype | Size | Compression | Category | +| ------------- | ------------- | ---- | ----------- | -------- | +| fallback/payload | simple elf | 1549959 | none | open-source | +| fallback/romstage | stage | 113480 | none | open-source | +| fallback/dsdt.aml | raw | 23248 | none | open-source | +| fallback/ramstage | stage | 164903 | LZMA | open-source | +| fallback/postcar | stage | 82372 | none | open-source | +| bootblock | bootblock | 114688 | none | open-source | +| cpu_microcode_blob.bin | microcode | 569344 | none | closed-source | +| txt_bios_acm.bin | raw | 256000 | none | closed-source | +| fspm.bin | fsp | 786432 | none | closed-source | +| fsps.bin | fsp | 333763 | LZ4 | closed-source | +| txt_sinit_acm.bin | raw | 57858 | LZMA | closed-source | +| cbfs_master_header | cbfs header | 32 | none | data | +| intel_fit | intel_fit | 272 | none | data | +| boot_policy_manifest.bin | raw | 1536 | none | data | +| key_manifest.bin | raw | 1024 | none | data | +| config | raw | 6218 | LZMA | data | +| revision | raw | 859 | none | data | +| build_info | raw | 102 | none | data | +| vbt.bin | raw | 1290 | LZMA | data | +| cmos_layout.bin | cmos_layout | 800 | none | data | +| (empty) | null | 40548 | none | empty | +| (empty) | null | 676 | none | empty | +| (empty) | null | 37540 | none | empty | + ## v0.9.2 Heads Openness Score for novacustom_nv4x_adl_v0.9.2_heads.rom @@ -276,137 +407,6 @@ Closed-source code percentage: **42.0%** | (empty) | null | 612 | none | empty | | (empty) | null | 5951012 | none | empty | -## v1.8.0 - -Openness Score for novacustom_nv4x_adl_v1.8.0_btg_prod.rom - -Open-source code percentage: **30.8%** -Closed-source code percentage: **69.2%** - -* Image size: 33554432 (0x2000000) -* Number of regions: 27 -* Number of CBFSes: 3 -* Total open-source code size: 3982612 (0x3cc514) -* Total closed-source code size: 8963820 (0x88c6ec) -* Total data size: 954756 (0xe9184) -* Total empty size: 19653244 (0x12be27c) - -![](novacustom_nv4x_adl_v1.8.0_btg_prod.rom_openness_chart.png) - -![](novacustom_nv4x_adl_v1.8.0_btg_prod.rom_openness_chart_full_image.png) - -> Numbers given above already include the calculations from CBFS regions -> presented below - -### FMAP regions - -| FMAP region | Offset | Size | Category | -| ----------- | ------ | ---- | -------- | -| SI_ME | 0x1000 | 0x4ff000 | closed-source | -| SI_DESC | 0x0 | 0x1000 | data | -| RECOVERY_MRC_CACHE | 0x1000000 | 0x10000 | data | -| RW_MRC_CACHE | 0x1010000 | 0x10000 | data | -| SMMSTORE | 0x1020000 | 0x80000 | data | -| SHARED_DATA | 0x10a0000 | 0x2000 | data | -| VBLOCK_DEV | 0x10a2000 | 0x2000 | data | -| RW_NVRAM | 0x10a4000 | 0x6000 | data | -| CONSOLE | 0x10aa000 | 0x20000 | data | -| VBLOCK_A | 0x11ca000 | 0x10000 | data | -| RW_FWID_A | 0x1bfffc0 | 0x40 | data | -| RO_VPD | 0x1c00000 | 0x4000 | data | -| FMAP | 0x1c04000 | 0x800 | data | -| RO_FRID | 0x1c04800 | 0x40 | data | -| RO_FRID_PAD | 0x1c04840 | 0x7c0 | data | -| GBB | 0x1c05000 | 0x3000 | data | -| UNUSED | 0x500000 | 0xb00000 | empty | - -### CBFS BOOTSPLASH - -* CBFS size: 1048576 -* Number of files: 1 -* Open-source files size: 0 (0x0) -* Closed-source files size: 0 (0x0) -* Data size: 28 (0x1c) -* Empty size: 1048548 (0xfffe4) - -> Numbers given above are already normalized (i.e. they already include size -> of metadata and possible closed-source LAN drivers included in the payload -> which are not visible in the table below) - -| CBFS filename | CBFS filetype | Size | Compression | Category | -| ------------- | ------------- | ---- | ----------- | -------- | -| (empty) | null | 1048548 | none | empty | - -### CBFS FW_MAIN_A - -* CBFS size: 10641344 -* Number of files: 16 -* Open-source files size: 1933962 (0x1d828a) -* Closed-source files size: 1705589 (0x1a0675) -* Data size: 10197 (0x27d5) -* Empty size: 6991596 (0x6aaeec) - -> Numbers given above are already normalized (i.e. they already include size -> of metadata and possible closed-source LAN drivers included in the payload -> which are not visible in the table below) - -| CBFS filename | CBFS filetype | Size | Compression | Category | -| ------------- | ------------- | ---- | ----------- | -------- | -| fallback/payload | simple elf | 1549959 | none | open-source | -| fallback/romstage | stage | 113480 | none | open-source | -| fallback/ramstage | stage | 164903 | LZMA | open-source | -| fallback/dsdt.aml | raw | 23248 | none | open-source | -| fallback/postcar | stage | 82372 | none | open-source | -| cpu_microcode_blob.bin | microcode | 569344 | none | closed-source | -| fspm.bin | fsp | 786432 | none | closed-source | -| fsps.bin | fsp | 333763 | LZ4 | closed-source | -| config | raw | 6218 | LZMA | data | -| revision | raw | 859 | none | data | -| build_info | raw | 102 | none | data | -| vbt.bin | raw | 1290 | LZMA | data | -| (empty) | null | 266660 | none | empty | -| (empty) | null | 2084 | none | empty | -| (empty) | null | 6722852 | none | empty | - -### CBFS COREBOOT - -* CBFS size: 4161536 -* Number of files: 24 -* Open-source files size: 2048650 (0x1f428a) -* Closed-source files size: 2019447 (0x1ed077) -* Data size: 14675 (0x3953) -* Empty size: 78764 (0x133ac) - -> Numbers given above are already normalized (i.e. they already include size -> of metadata and possible closed-source LAN drivers included in the payload -> which are not visible in the table below) - -| CBFS filename | CBFS filetype | Size | Compression | Category | -| ------------- | ------------- | ---- | ----------- | -------- | -| fallback/payload | simple elf | 1549959 | none | open-source | -| fallback/romstage | stage | 113480 | none | open-source | -| fallback/dsdt.aml | raw | 23248 | none | open-source | -| fallback/ramstage | stage | 164903 | LZMA | open-source | -| fallback/postcar | stage | 82372 | none | open-source | -| bootblock | bootblock | 114688 | none | open-source | -| cpu_microcode_blob.bin | microcode | 569344 | none | closed-source | -| txt_bios_acm.bin | raw | 256000 | none | closed-source | -| fspm.bin | fsp | 786432 | none | closed-source | -| fsps.bin | fsp | 333763 | LZ4 | closed-source | -| txt_sinit_acm.bin | raw | 57858 | LZMA | closed-source | -| cbfs_master_header | cbfs header | 32 | none | data | -| intel_fit | intel_fit | 272 | none | data | -| boot_policy_manifest.bin | raw | 1536 | none | data | -| key_manifest.bin | raw | 1024 | none | data | -| config | raw | 6218 | LZMA | data | -| revision | raw | 859 | none | data | -| build_info | raw | 102 | none | data | -| vbt.bin | raw | 1290 | LZMA | data | -| cmos_layout.bin | cmos_layout | 800 | none | data | -| (empty) | null | 40548 | none | empty | -| (empty) | null | 676 | none | empty | -| (empty) | null | 37540 | none | empty | - ## v1.7.2 Report has been generated with Openness Score utility version v0.2 From 76b0dcc0e267c26f6f80eb83e7664d9726169386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Wed, 13 May 2026 08:27:54 +0200 Subject: [PATCH 09/15] novacustom/firmware-transition.md: update flashprog command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/unified/novacustom/firmware-transition.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/unified/novacustom/firmware-transition.md b/docs/unified/novacustom/firmware-transition.md index 0cfe7d4f..8722b457 100644 --- a/docs/unified/novacustom/firmware-transition.md +++ b/docs/unified/novacustom/firmware-transition.md @@ -92,8 +92,8 @@ and the other way around. transitioning between the **v0.9.1 release of Heads on V5x0TU** laptops and UEFI firmware, where the flash attempt fails and ends in recovery shell. in such case please run the command: - ``` - flashprog -p internal:boardmismatch=force -w /media/novacustom_${MODEL}_mtl_igpu_v0.9.1_heads.rom + ```sh + flashprog -p internal:boardmismatch=force -w /media/novacustom_${MODEL}_mtl_igpu_v1.0.1_btg_prod.rom --ifd -i bios -i fd -i me ``` Where `${MODEL}` is `v56x` or `v54x`. From fecd8b7178c7f1f510749ef489a6075ce7f74c72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Wed, 13 May 2026 08:32:23 +0200 Subject: [PATCH 10/15] novacustom/firmware-update.md: note on barrell jack power requirement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/unified/novacustom/firmware-update.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/unified/novacustom/firmware-update.md b/docs/unified/novacustom/firmware-update.md index f425bb87..d5bce43c 100644 --- a/docs/unified/novacustom/firmware-update.md +++ b/docs/unified/novacustom/firmware-update.md @@ -111,3 +111,9 @@ firmware version is currently installed on your device. [Build](building-manual.md#dasharo-coreboot--heads) or download Dasharo Heads firmware, and proceed with the official [Heads update documentation](https://osresearch.net/Updating). + + !!! warning "PLEASE NOTE:" + As of the Heads releases **v0.9.1 for V5x0TU** and **v0.9.3 for + NV4xPZ**, a **barrell jack power supply** needs to be plugged in during + the update, due to EC firmware sync. + From d03cb0d677d6e684a1fd5c25801259202ff31c25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Wed, 13 May 2026 08:35:24 +0200 Subject: [PATCH 11/15] novacustom/firmware-update.md: pre-commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/unified/novacustom/firmware-update.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/unified/novacustom/firmware-update.md b/docs/unified/novacustom/firmware-update.md index d5bce43c..443e2e8b 100644 --- a/docs/unified/novacustom/firmware-update.md +++ b/docs/unified/novacustom/firmware-update.md @@ -116,4 +116,3 @@ firmware version is currently installed on your device. As of the Heads releases **v0.9.1 for V5x0TU** and **v0.9.3 for NV4xPZ**, a **barrell jack power supply** needs to be plugged in during the update, due to EC firmware sync. - From 5eec34b435f178c082bedc4eb6201b68dce36a4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Wed, 13 May 2026 10:18:27 +0200 Subject: [PATCH 12/15] novacustom/firmware-update.md: remind of initial deployment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/unified/novacustom/firmware-update.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/unified/novacustom/firmware-update.md b/docs/unified/novacustom/firmware-update.md index 443e2e8b..a6b681f7 100644 --- a/docs/unified/novacustom/firmware-update.md +++ b/docs/unified/novacustom/firmware-update.md @@ -116,3 +116,7 @@ firmware version is currently installed on your device. As of the Heads releases **v0.9.1 for V5x0TU** and **v0.9.3 for NV4xPZ**, a **barrell jack power supply** needs to be plugged in during the update, due to EC firmware sync. + + Furthermore, please make sure that you have followed our + [Initial deployment](https://docs.dasharo.com/unified/novacustom/initial-deployment/#apt-package-manager_1) + guide beforehand, specifically the section on EC firmware installation. From a090c5b772a6b323ee5a43f691bd3982a490440e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Wed, 13 May 2026 10:20:06 +0200 Subject: [PATCH 13/15] novacustom/firmware-transition.md: newline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/unified/novacustom/firmware-transition.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/unified/novacustom/firmware-transition.md b/docs/unified/novacustom/firmware-transition.md index 8722b457..9ab58355 100644 --- a/docs/unified/novacustom/firmware-transition.md +++ b/docs/unified/novacustom/firmware-transition.md @@ -92,9 +92,11 @@ and the other way around. transitioning between the **v0.9.1 release of Heads on V5x0TU** laptops and UEFI firmware, where the flash attempt fails and ends in recovery shell. in such case please run the command: + ```sh flashprog -p internal:boardmismatch=force -w /media/novacustom_${MODEL}_mtl_igpu_v1.0.1_btg_prod.rom --ifd -i bios -i fd -i me ``` + Where `${MODEL}` is `v56x` or `v54x`. From b15c548cca215dda7fc42754dcd588759ad6a746 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Thu, 14 May 2026 13:23:56 +0200 Subject: [PATCH 14/15] nv4x_adl/releases.md: add EC component MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/variants/novacustom_nv4x_adl/releases.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/variants/novacustom_nv4x_adl/releases.md b/docs/variants/novacustom_nv4x_adl/releases.md index 603c32d9..51c71526 100644 --- a/docs/variants/novacustom_nv4x_adl/releases.md +++ b/docs/variants/novacustom_nv4x_adl/releases.md @@ -192,6 +192,8 @@ using [this key](https://raw.githubusercontent.com/3mdeb/3mdeb-secpack/master/cu - [Dasharo coreboot fork based on 4.21 revision cb6ef1b9](https://github.com/Dasharo/coreboot/tree/cb6ef1b9) - [Dasharo EDKII fork based on edk2-stable202002 revision b7274c98](https://github.com/Dasharo/edk2/tree/b7274c98) +- [Dasharo fork of System76 EC based on 2b2c17a revision 2b2c17a](https://github.com/Dasharo/ec/tree/2b2c17a/) + + [License](https://github.com/Dasharo/ec/blob/2b2c17a/LICENSE) [novacustom_nv4x_adl_ec_v1.7.2.rom_file]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_nv4x_adl/v1.7.2/novacustom_nv4x_adl_ec_v1.7.2.rom [novacustom_nv4x_adl_ec_v1.7.2.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_nv4x_adl/v1.7.2/novacustom_nv4x_adl_ec_v1.7.2.rom.sha256 @@ -295,6 +297,8 @@ using [this key](https://raw.githubusercontent.com/3mdeb/3mdeb-secpack/master/cu - [Dasharo coreboot fork based on 4.21 revision 36032e55](https://github.com/Dasharo/coreboot/tree/36032e55) - [Dasharo EDKII fork based on edk2-stable202002 revision b68e46b0](https://github.com/Dasharo/edk2/tree/b68e46b0) +- [Dasharo fork of System76 EC based on f148431 revision f148431](https://github.com/Dasharo/ec/tree/f148431/) + + [License](https://github.com/Dasharo/ec/blob/f148431/LICENSE) [novacustom_nv4x_adl_ec_v1.7.1.rom_file]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_nv4x_adl/v1.7.1/novacustom_nv4x_adl_ec_v1.7.1.rom [novacustom_nv4x_adl_ec_v1.7.1.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_nv4x_adl/v1.7.1/novacustom_nv4x_adl_ec_v1.7.1.rom.sha256 @@ -368,6 +372,8 @@ using [this key](https://raw.githubusercontent.com/3mdeb/3mdeb-secpack/master/cu - [Dasharo coreboot fork based on 1a8eb6c02103727431ac1ea23f4f507e49f3cde7 revision a3056ac5](https://github.com/Dasharo/coreboot/tree/a3056ac5) - [Dasharo EDKII fork based on e0334c228ce4ba51f47ff79a118f214031d4650f revision bd421b40](https://github.com/Dasharo/edk2/tree/bd421b40) +- [Dasharo fork of System76 EC based on c0fe220 revision c0fe220](https://github.com/Dasharo/ec/tree/c0fe220/) + + [License](https://github.com/Dasharo/ec/blob/c0fe220/LICENSE) - Intel ME version 16.1.25.1865 [novacustom_nv4x_adl_ec_v1.6.0.rom_file]: https://3mdeb.com/open-source-firmware/Dasharo/novacustom_nv4x_adl/v1.6.0/novacustom_nv4x_adl_ec_v1.6.0.rom @@ -422,6 +428,8 @@ using [this key](https://raw.githubusercontent.com/3mdeb/3mdeb-secpack/master/cu - [Dasharo coreboot fork based on 1a8eb6c02103727431ac1ea23f4f507e49f3cde7 revision cd975d74](https://github.com/Dasharo/coreboot/tree/cd975d74) - [Dasharo EDKII fork based on e0334c228ce4ba51f47ff79a118f214031d4650f revision abfdef40](https://github.com/Dasharo/edk2/tree/abfdef40) +- [Dasharo fork of System76 EC based on 45eb3b4 revision 45eb3b4](https://github.com/Dasharo/ec/tree/45eb3b4/) + + [License](https://github.com/Dasharo/ec/blob/45eb3b4/LICENSE) [novacustom_nv4x_adl_ec_v1.4.0.rom_file]: https://3mdeb.com/open-source-firmware/Dasharo/novacustom_nv4x_adl/v1.4.0/novacustom_nv4x_adl_ec_v1.4.0.rom [novacustom_nv4x_adl_ec_v1.4.0.rom_hash]: https://3mdeb.com/open-source-firmware/Dasharo/novacustom_nv4x_adl/v1.4.0/novacustom_nv4x_adl_ec_v1.4.0.rom.sha256 From ba3b44f7f3b15f3d446d16961adfeec25cfcdb36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Mon, 18 May 2026 13:49:48 +0200 Subject: [PATCH 15/15] novacustom/firmware-update.md: elaborate on the barrel jack requirement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/unified/novacustom/firmware-update.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/unified/novacustom/firmware-update.md b/docs/unified/novacustom/firmware-update.md index a6b681f7..d053ddf5 100644 --- a/docs/unified/novacustom/firmware-update.md +++ b/docs/unified/novacustom/firmware-update.md @@ -114,8 +114,11 @@ firmware version is currently installed on your device. !!! warning "PLEASE NOTE:" As of the Heads releases **v0.9.1 for V5x0TU** and **v0.9.3 for - NV4xPZ**, a **barrell jack power supply** needs to be plugged in during - the update, due to EC firmware sync. + NV4xPZ**, a **barrel jack power supply** needs to be plugged in during + the update. The reboot triggered by the EC update resets the USB-PD + controller, which does not come back up in time for the EC update's + AC adapter check, causing it to fail. A barrel jack supply bypasses + this issue. Furthermore, please make sure that you have followed our [Initial deployment](https://docs.dasharo.com/unified/novacustom/initial-deployment/#apt-package-manager_1)