From 37817e6bcb7c7272d7c70c3afe89a5b3b2604824 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 17 Jan 2024 23:54:53 +0000 Subject: [PATCH] GRUB: insert only 1 keymap per board, in cbfs There is no need to add multiple keymap files, because GRUB can load keymaps from CBFS. The current build logic is designed to avoid building multiple GRUB binaries, which are expensive computationally because each one would then have to be compressed for each board. This patch provides the best of both worlds: less space used in flash like in the old lbmk design (1 keymap per board), but retaining the current build speeds and therefore not re-introducing the slowness of lbmk's previous GRUB build logic. The grub.cfg file has been modified, accordingly. It now only loads a keymap.gkb file from CBFS, by default. It does this, only if that file exists; if not, GRUB already defaults to US Qwerty layout anyway. ALSO: compress all keymap gkb files with xz -6 GRUB automatically decompresses files when accessed. This results in about 2KB of flash space saved in CBFS. Here is real-world data, showing the increased flash space: < fallback/payload 0x3eb80 simple elf 548821 none < keymap.cfg 0xc4bc0 raw 16 none < (empty) 0xc4c00 null 11633316 none --- > fallback/payload 0x3eb80 simple elf 546787 none > keymap.gkb 0xc43c0 raw 344 none > (empty) 0xc4540 null 11635044 none This was taken by diffing the cbfstool "print" output, both before and after. The *after* result is with this change. 11633316. In this example, 1728 bytes have been saved. Therefore, with compression taken into account, this patch saves about 1.7KB of space in CBFS. This change means that lbmk can now scale to support hundreds of keymaps, without increasing the amount of flash space used, in each given image. Since the keymap files are compressed in lbmk.git, in advance, we spend no additional time on compression at build time. The resulting change in build speed in negligible. Adding your own keymap.gkb file was already possible, for changing the keymap in libreboot images, if you didn't want to change the memdisk (and thus re-compile grub.elf). Now, this is the default behaviour, and the only way to do it. It's much more efficient. The original keymap files can be restored, by running unxz. Signed-off-by: Leah Rowe --- config/grub/config/grub.cfg | 4 ---- config/grub/keymap/colemak.gkb | Bin 2572 -> 488 bytes config/grub/keymap/deqwertz.gkb | Bin 2572 -> 508 bytes config/grub/keymap/esqwerty.gkb | Bin 2572 -> 492 bytes config/grub/keymap/frazerty.gkb | Bin 2572 -> 496 bytes config/grub/keymap/frdvbepo.gkb | Bin 2572 -> 516 bytes config/grub/keymap/itqwerty.gkb | Bin 2572 -> 488 bytes config/grub/keymap/svenska.gkb | Bin 2572 -> 488 bytes config/grub/keymap/trqwerty.gkb | Bin 2572 -> 476 bytes config/grub/keymap/ukdvorak.gkb | Bin 2572 -> 372 bytes config/grub/keymap/ukqwerty.gkb | Bin 2572 -> 488 bytes config/grub/keymap/usdvorak.gkb | Bin 2572 -> 364 bytes config/grub/keymap/usqwerty.gkb | Bin 2572 -> 344 bytes script/build/roms | 39 +++++--------------------------- 14 files changed, 6 insertions(+), 37 deletions(-) diff --git a/config/grub/config/grub.cfg b/config/grub/config/grub.cfg index efc10aa4..17576b5f 100644 --- a/config/grub/config/grub.cfg +++ b/config/grub/config/grub.cfg @@ -38,10 +38,6 @@ fi if [ -f (cbfsdisk)/keymap.gkb ]; then keymap (cbfsdisk)/keymap.gkb -elif [ -f (cbfsdisk)/keymap.cfg ]; then - source (cbfsdisk)/keymap.cfg -else - keymap usqwerty fi function try_user_config { diff --git a/config/grub/keymap/colemak.gkb b/config/grub/keymap/colemak.gkb index 6756bd73386195bce8cf4a7c705de99757965861..d357816b50acc08714eef9d7ab2eaa9838124bb2 100644 GIT binary patch literal 488 zcmVvALhTy*%@4+yQ934V) zc7K>%b^cHRs4aXPs$|T%Pmm4_Bb&wf94+vUie)hTQm1?fvGe|zQakgE*sdHL5Den^ zhHlOF6Bmfe?X@IojBYhKdqLC9e&w8RzqvXZ{70f1i`g>~7xX*aK#IE1mdFe4Clllk zBU_IrWl+(mu3S|pgXy7v_p@n~(qq$SgPQJvn!egyh0i|X)|MG3CBSRtA@j9GwP4fA z*#KBhl`#~hua&oh&VQRx5>Gc1q!NfGr#13?T@euz(fg`hYhqE0hHf>oUgc#iVMKI- zM(m;vtWOJ(e+c?U`+!-F%fM;}90dsGLn3!g{bplDiK!hT|Hqa7FW}#RM3j^0G8p_6 z!vP!vfjN*YmVuTSj$MOq>`J)t8YW9&DCwF8zJrT>L2qVmFaMyfpP!N~5goE$qX7Ep zNNxMewHV5^S{im5EXFg5*-U2wlbOa;<};j` z%%Fx!s+hxE<}rl@v|}tC=tw7)(3#l3u5=^z@6Y@#H5Pk&ki$eBqMG&`VI-p&LzMg_ z@|Vb8B7ceeCGwZZUm|~r{3Y_2$X_CVNq$!TwV1znSIl4Z>zlv&{MO=p@q3ATD|N*> zN>wik7k;aK&P(E%68jqUosYcZJ@I{=;|E`O#W$7_RbeMvALhTy*%@4+yQ934V) zc7K>%b^S+Fh7N3Oib&ic#h*zSvYKD(_7_y*xhff%!#`GO00FR@2i;Mht?RnF%o^5~ zz{^L6lcT-V0^JM><(v6gkvzg`Tt!Rs_p=U)FpV#B#TwSUvx=RXU#pzTwfOMydgA7S zj0=^*oMJGPb_5$qA`^AB?VpfgrJY%4=SFnFSF?&mJE7C((^9>?Ehzn{JBg*dgNeF@ zw8a^t^r(*aow3lW#o&jniY;httBocV*5$$0dd^r7Ne;aP#8FEbQWvF^9LZk~en~TK z^dMVxSc+2FzQ{F{XG4(*q2o5+W{6Ee(a1FG3m07nOF@|1N3*+Eq6(!jynV%_h{6-md6N2|tz+W9%*?5TcA zMBK6X)EK59uk3nKtlXQ~JPxTd9TB+|A@+Z(ADTq-%UVaL6*p9L3HI#r!g+S=_PoUh9fCNNQ zXabY~;(~JKlyE@d66MSZI3UFHGFr(JJ{W}9S9<3Cc4oerUCnR4ZSGv$)Y`bb{e$H7 zT4&dKHt-D_*+dtc`Ihhao*(#;pV-1yer6ln`GpH%O1uto(W9kOC~XyDbzBS z_>M#9OFv3HVmQwkP1Gkm;Xl?ehR^wosHw@}q@D(*F`XGS(!@+=v6N+WuTGzvna4uf z>7b1k7BH8nFBnDKH@;hZ|2RL+i8*n8D={~&8S~=0<*F|aD%j&UR;n7^xQUs}Vm5PV zW-jxXPYbQI@fGbXpo2~pvWUejVJXX4!E&k@%2_^T7&XN68^K5#=qZ2G?O)47;#o&U z9{=VZmzhc(UlS#Nsr;q#m&#u%f2sVX@|VhADu1c`rSg}`Us}v6w&ncAr*i&c+}r&1 z=3R^HMNKPOMYr+ZR;vDYtFYIZ!_NiHk01* zoJy{LfB7u~OG$E0zfa`vygpx+Y8XenAF)<78vm)svwxuf%Q@NnT|ZIff7|h+)k!kg z@i@0u|IM*F{iMFqvD5mmtTJBB8isPkzF5b4%HLi4qhjs5^lDUW;=PEPP)d@2^rw7i z93_9b{N?hO%U>>kx%}nwm&;!+f4ThS@|VkBUd$@CZ<4>B{(s+O{X5hB#uXaB&-L#m Dtfi(7 diff --git a/config/grub/keymap/esqwerty.gkb b/config/grub/keymap/esqwerty.gkb index 18bb537fc7f88847e2ca6e68849458d876e7d92a..6ce76330ac495792e36e48cac4c3fc83b6cb4362 100644 GIT binary patch literal 492 zcmVvALhTy*%@4+yQ934V) zc7K>%b^S+Fh7N3Oib&ic#h*zSvYKD(_7_y*xhff%!#`GO00FG?TU#L!t?RnF%o^5~ zz{^L6lcTx=JPK!$kM!PAC``1=t%}o!S3#?XMxH2btJ1&RulYiIo{w!Xvrf0|dbc;u zN3_~%fTBE!Fe;ky-n^tt1t*`-`z5JC6*hr?>1k3`i`_HOiW9hyWMiP zw_MAB@YC3e?KVipgjUG)rRQ%bb9c#a-P35C*U+xMMY)TgzQN|fMo^wBbgs8|#s^W4 zYE7rwbZkdEY>vZ0001v i=4uTtg_yAb0mlQ36aWA&g19uX#Ao{g000001X)@p|rna z*v|nDa)`qm;V8#A&IwL(iqo9oEay1S1uB`zEM_x@xy)le3z$JX<8THthyvre#Wp4r z^_`!@xmQeK8dHg?O0Fi=ETV?R)KW)1OIS(=o%F0W#|^AtEiJUNiYC_3NYr#D5%-N} zi|3E=F(&53_-0~mTr=jyb)(|i)!nV~ZsIx0RdsG$&k~lhjO8@Y$O=}{L^G>cO$%#i zrH!?$qn-71(8&fiQo$%*GKR5?Bi`QxCbEd$^0!$3Te^sM9rd1%#5EsM#X`0cC4Z^> zrSg}`Un+m8{H5}j%3msfsr;q#m&#vSoK@VG@)t*?{6)L3`RmJXEv^^8mzrplx#Bs> zRo~orWFbjz+yCIP_7HEQiSgX1unrBdMrqgc+?XT$<`1>J;46EbziIr4LUHVCeb*d6 zvcE(vqq)Kx9&?dRY~eD!Q8*^cj}+*Qu?@0|}ntdJxR>^~4WjP+!t zERCa*;ofPiRdw3&Ul;4&XTI>jxhMAb+2j26iX<6YD2}bscb95zvB|kR_ObqL*4{!F zqj;w8DZS+{*1pKvBueX>W_OkH_sP*OO21|K%jGYZzg+%u`OD=mm%m*8a{0^UFPFbu f{_^70irfC=uebl-{;YrZdfvE9?b3JlKW_gQa_*;7 diff --git a/config/grub/keymap/frazerty.gkb b/config/grub/keymap/frazerty.gkb index c048cec53d614ba498fd861eec2612c4d561de29..f8455154577c956d970b245aa378efd8d8cccf30 100644 GIT binary patch literal 496 zcmVvALhTy*%@4+yQ934W& z1izSFZDvZLqiUI)1v0S2Z`}CTP*YL(MpHZhtkwf|gQCwd&bfJ22$&@57Jo4~)z#P* z$%3EsS3}8CGA!LN@!zo#GVP^2Ow;QpPwj(@bASRkUy!RF72d5xG`Ow<+FNo=qrggr zmc$6ur-BqTMNXoBW$dRGsW(2fzcJlG)lv&HLv|WsC?5igg+_H#tHT>D*_YPRQz8SY z|L*r075$7FUdKNK682oe?FYBj14lsx(H$@Lc}uj8p(haMr$x(DknqTFYrx0&V@}L>H;VU64;bE{vuPkVSLC$9BbyioK5UJ~KE^WS# z!@XLI7#GEQJIokaHq^1sih(Wigkpn}%*I~tzf_`Kzfv-&R8>zBzad>msP`)RrLDdI m0000%ouy#x)a1JW0m=i66aWD5ktT?-#Ao{g000001X)_?g6W6= literal 2572 zcmc)LH*eKY7zSWl*b=a@fdJ`-5_$=}Bq0eUKmvi#Tj+$|dlNr_@(bvq2mulxU|?fr zg9(@@8ym17o-g4_5oAaf?k7F=@v)D6uKixSzIjDmW9^!z-pRjpNY@s&vW@NRpp~8M zVmEu(%V_pFGm{yV5j8WpkW^AdHM6LpmO5rLhgGbmV>R2ZX93G-VkwJgUw#3Jg|@?*Q~#BU%QW|(ZDb+mw6BMkP+>==yS||e(;M=Jmmwe_Fr-QfI^bov;C5b zwqx9L?a0Ys&ajTNY+^kv)X-V}Ht0V`Fwv;4i%A2pKrRu}8VpGM^GE#E2rm*p>)zg+%u`OD=mm%m*8a{0^UFPFbu i{&M-t|D39A)t&rx_WkY7`|noA3zw)}yl4O8^1lJFvALhTy*%@4+yQ934V) zc7YdoTWAhpY2H0$bOrIImXGbGNF)^#NcA}Sbw65HW6Y^sQ3GR_cq-WGb|L_AoN3Ic zw`$N}aS`;RtcchL%ovG1T7RQ+L(mP@g$MS)OND=KaF6-iW0>aviZ1Tu$1r9WEg7_NC!oMNu*+SnSzw#E>cjj*D^m^6h1+fp(t{>k!>bP;_ol)NZ zRrD1aeii?1O1ACRvv_sdAmg8z57Uum=RAH=5crLTg4peQblj1d$P0RCByysL?m>jI zdhSZ26L`9u8%pY&3m3mwC~D{;(2aV3#|xB;IKMhbi$L;K0d?C!BBh>N3Ri17mrUf1 z$kW2}gUfjg?ZM0IEM2Be(=dOa6i5vxFe9KxCkQV+0d5PuCbNR|5LdGF3`&wa%aru; zpf7w@+&*Xugp_p4^{B?AmDpo%hpb{9`>n*Ub zF>N!D-Yg_Q3r2SCXYfG-3>f{6?PVOIvpk1vP4p9c5Z5o$J08%PVNs}#8N_(2`U}pz zFtsipEmTSIO~w1d?z(fo8}Jbr0002ZH1$#w|MjN;0pA0R6aWC&0zKQY#Ao{g00000 G1X)@)Rq=8F literal 2572 zcmc)LM{gBZ7zW@On2~Unz#@pEF)aiL%?S`pvw@gm$Jho8NpMU{=m|YE!$063AlQH? zLS#dvG+5DAG*LE$Re-G6AvRH-kE<&zvoS1kKk2#WOgVFAJntMgv@Wl2tXtLmLGpI3 zv1}3Ma*-r;g7|uCL zIGBD^Q80^99AF<&Pub2kM)Exy`HraCVC zVhKxGNL2a0;~C;v;{N0OI48!$`HjTbxMqxt>qf=3|9Rc3>`&ZBrK--vOIXPwma>3a z<}sgTw9!fnb7*8S^)$1b>#Se~H&{hASD4HcYWS4Tn94M!^Es2~nZFbEU8Iw*Xea6# zU(&<~8d%5|M9E(&f2sVX@|VhADu1c`rSg}`Un+m8{H5}jmPVC+%lV6~a{i*<+x+$B zS>t-~o!*R2g)8o(QuViqyEsg&QKLCuB*`Go=)d4!{^A0Wh0DbEUgNDD(za<|X*-D; zU6j_ygZd}=hJp6Y)XwH>RugOE&-6F(OYH-C=I>kkIvt->$a5bX-74-ojt?kG>tCTQ zm;7b&m&soyf0_Jc@|Ve9CV!dyW%8HFUnYN9d0e#R{Pkx2>pt#%`mugix+=N;UG?zs z9wTq@9h@feH@I(-9FePAwjXnRn0!`SYwWKg@;AltQ`%PTBW)*9zm%Hf!{SZ;hUpJs zDC^~E109LE_?b=mlpOT_wDT_nj_ZIt}w@|VkBE`PcF>kd1+MX_g(T={%+zMD*yj|RGlPudB`p9afkcd<^fUhZ1MN2bj5rB Gzv@5x&#rO+ diff --git a/config/grub/keymap/itqwerty.gkb b/config/grub/keymap/itqwerty.gkb index f247cd1737a26b9ac72f29026b39af8d807d2284..db10a54cc64d717cd47e36b9fcb5e357ca1ca011 100644 GIT binary patch literal 488 zcmVvALhTy*%@4+yQ934V) zc7K>%b^S+Fh7N3Oib&ic#h*zSvYKD(_7_y*xhff%!#`GO00FG?TU#L!t?RnF%o^5~ zz{^L6lcTx=ih4bal42=deykOe+q@Hst5rCP7qTQOtU2!GidudV{fpq|PS@3cDA3q{ z9PT=F+^r@6rP&*dtuyVT@h=LNNrV1Bj*ff4jKZ;%kT+w|KF1VS0Pigaz^-B5B=qS2 zoeTYi%7)HPL0tiXz{_1ZM)GcHWBPvto}K|CbZ=uFl(@k1atj7CJ2>co<50l@=|6aWA-Vd3Jj#Ao{g000001X)@cPw7Db literal 2572 zcmc)L$!`u}90%~3m`QMRBS_xXQv1HIZ7oGhseP+`-}hbo36{SAK`aqV5L?`wIdQ_t zk~rXki}?J!sWj0;Ie34`XXcrCo@Zv-`Ofp!G|aEAt6E&&KKZj&IklQKtYsbR*}z6N zv6(GwWgFYs!A^Fun?3AhANx7LK@M@4!3<$2!x+v8Mly=g3?iPfGi_-{feJqIp1wqV z=L>IGMn4A7pQy3PiDVq(nZQIUsiK-mOlBdAXkHDDYnaYl>Y2k#YMIS6q6X53xNkgL zJb#RjF)=5`*Aa8$nlUe~8x_|c_p4RfO*}`bs>+S4nZ#tKFqImnF`XIIQpZeYQO|7V z(7;^gF`or2WD$#5LK)?pr#n69NxZ*a^kzIQ9b<`!^af73bWeh8blD|~` zQu#~eFO|Pk{!;l%DPB)UO;FvyA05QqIj{cZ>OZ zqOXz2YGkx|#d>&=7nJjrDC=J?f4ThS@|VkBE`PcFf0MtK Tet-XF{d?H_#wBY1&-L#oz8|XQ diff --git a/config/grub/keymap/svenska.gkb b/config/grub/keymap/svenska.gkb index ec627db257d9822c617c75e12cabe1e30144f571..75ca762d2c99825c44cb743b1ba322dc6b0da7a5 100644 GIT binary patch literal 488 zcmVvALhTy*%@4+yQ934V) zc7K>%b^S+Fh7N3Oib&ic#h*zSvYKD(_7_y*xhff%!#`GO00FG?TU#L!t?RnF%o^5~ zz{^L6lcTypg=AlnJu6hd95>BnYIot&vCxWQnaqBjLI#BJQ$h=)zwNHZ2={`$_t{1r&GsiRiKCNnfbwcslhdX>-gCAyM zjBzUiZMw|<;&4pm5ZFHCu_lCX%My)oRvFdw7Fv_`Loty>aM<|I<_#|;qfp>!3y!nx ztr(nbdhWPMqs=p|J>&iu^jt>{JH?&4O^T61AC2ruKY)lMe9OJ`Z_cu!J$m~!+W5Rm zd*J%fluBQ@3=C_-AQ5nB7kF&R6-pYK3Y9a;Dc-31Oi$UgShpmX&&>@x4ef#D0$79< z#@=4zH+}C%JE;vs(-=o>I=LVp(NXij+)G|GumVPvHOt5GxgUIU2(;moN2D_-n3)Mc zrevu*GeSYU0UA3n)4Vp?Eux;8w%Kogfe;#RC-)_rDjM5r0Nc(iV3JpY0002qZjw#Ao{g000001X)^4Uf^8- literal 2572 zcmc)L$&*c290%}s%e__D*-EQZ8T`4fVF00~Mc zWvEa{VnfzeWW|Q8t;j0n^Q-GsbxAL}mGXX7pL@=^ea^f0_5Hqc+j>?ucQo~NjxPMa zHafM5FZqhiY+)@2@7T`)4swX^`GJ|tVm5R5gt^RPKA$p! zxW@`cGKwM}QOz?Z5EbJWJmox7na(t#Y70LW7E(t&4K&h3GcB~Tnl%ip9^*Ea&`T%X zETf$+78CU`HNw9v{TKBJAr zEMY0_bg+!&bkapPJ@m4Im8@blYv|*1Dv9h=@e7lfOgz62nL-_d<*&i{4czAoqT-o9 zzvgdW-a|3Ww89MbN(uk-(y6@{`W8caD%9uRJqqE z`Ag+5mA_Q}Qu#~eFO|Pk{!;l%Uw={NVKHu4!+y~3OMJLTM6E>T0N9_jqeU;O#{vALhTy*%@4+yQ934V) zc7K>%b^S+Fh7N3Oib&g}Zip6b)v;e%==%bfo{WLaV_8I=4Moq=#N1d37d11oPVTxO zydl{^fgK)3XO#H(1o!chn*|2LDopPK2{*wov}YNAs>(CN04nuLirbu>=|$%nSZUA& zh<(V>TYLdf8(nPJ<_@olWJ+WKD!|!_$W-`Iq|q+dAuNNNp@=8BdhwA}E|spgo@f=x zyy^A?Uw7Vw=$bou{FQ*oPBo8rV2{gmHTd45o^wCNYu|Z&1RzQUrSMvEjNC#h- zmNp3%XI5DE{GWh+q3=8*3e)GKVxu@RqzwgvHEvaj$UD4Pf`MuWLw1JImVl!LV$~K0l zNwP!V$u4%YhrR4$KL`dko_yv#Ly4N0oK0$&#AK#0m0IeU#&njkobqZiuV*%kXk;Ptn9BlY5jBkB z{stMx{m1^XPaG5bHxS3hIperEZ&5YHpn^S~u~Jp*!gWkzIy0C_J+qk29Olx%Jm%BL z0v6K5A{MiRr7UAPD_BVn`mvUHPkrc1yubboU=s2Eiu@TSC8n^BZu0gzf}HG`Ag-`S$)!*;^+=LydVJ3p=|yiI@tBjWVhyJ$&tH{!iPfB>kx%}nwm&;!+f4ThS@|VkBE`PcFwe}DS_`#0;~<<_fKZcuz@|Kkq61E15V`v3p{ diff --git a/config/grub/keymap/ukdvorak.gkb b/config/grub/keymap/ukdvorak.gkb index c793cae8babc2585bb92e05dfe2431b2fe0303a6..76b9e380ec3dabf72cecbdf5f72bb9a54928f2d6 100644 GIT binary patch literal 372 zcmV-)0gL|qH+ooF000E$*0e?f03iVu0001VFXf})3JU=-T>vALhTy*%@4+yQ934V) zc7s6J6c(Pl^m{_)g)&?UaSti3;7|lGF*48+Y2L_m z>NgZjbko6TA6S`0eX?Pf5|?8hs*?oheBV{7RHchG)@Cs03Og3gtpF5U^dkpDcDQTK z3X~C61GcI=0)XUcEOXwi`?LET1P25f!4^YxH-xv!07Ec581x1^MTsgrS_u#M0(@D| zts(_`F<712?MqpZ=`(_l-vcTHpK`K}=u~COdw1OB7B=WH+VWIexeP}ifs@h?gkyzy zX2+NVGXN?u^GRy$ZyFwF0$>gh#}85d40k*sJ*=COOR?-yExRLvTY2nqHw<;jmGQ&E z_LdtcA*FBw8=qs2sq zlYC{`bY>3BZ_ZGkn5s3Zv(0st-^aX<-g2K??Bf;pxXBIf@{-3q;yTZH$abFcgm>KG z0eg7HZMrzfAr5ndqa5QnCpgIgVvg%s!&)|Qi7V`^jAM0QIKE?VM+wHDN^jEBZ zbGHAq{zY#~*S}ad{<8ih{U!Y+{U!Y+{U!Y+{U!Y+{U!Y+{UwK697TVftbdC;{liAI zy&C!}bNy@W?}xwRa-P4jrnP(i#^qS4{-Vt`&)-~sx&Ctf<@(F@m+LRrU#`Dgf4Tm0 j{pB&=Vl1b>cF*5-_gd@!8gZ^zcfJ)TE%E0{u75uP_L`Ws diff --git a/config/grub/keymap/ukqwerty.gkb b/config/grub/keymap/ukqwerty.gkb index 8e5ff299702b7ca0d4e2cc8965b8295a52ec6b63..5f513d85fd1f8e334ebd47ec0ce27e491dadf631 100644 GIT binary patch literal 488 zcmVvALhTy*%@4+yQ934V) zc7K>%b^S+Fh7N3Oib&ic#h*zSvYKD(_7_y*xhff%!#`GO00FG?TU#L!t?RnF%o^5~ zz{^L6lcTy~xoJjjs~=C9ov{xmP*M=fcd}erjlgB%{Y6v=_8b)e*a4#;GhWAP^bNL< z#&knh!Mg_c{A92YX_QExJ{O5xA9HJnX{FmhZx`p9dx6JH{0wuMq@WYxhZGIyH{`dG zMqnYNjR&Gt^u>|QgfqDoP!VL_H|IDkXk2JQIg`xSz{d#vwckRyN=YmIo z4(%}Zi%<4H`$?1dQJ5$9U^JEQ$dGv%gI-@lndG##{qKI+cw70cfMSR6$4<#P=6o-< zS7nJ=TwZ=gRsl|LfSDZwx>Mh-$Vmhs4c-+Cb5?sBewr@XbEji=5M*xOkK$tsNjRP1 zPI)>CQUo7nR$jrY(V_L$t_SRXy@R<@8mV^O4I+aW*Vr{;3*>G?9BFk4V=rQ;&T z)z9|eid!*xx3J;0d|>I_=y8TGfctEB#hBNOk#tP>rkF~6i$KY9VB7!z0002}D5cox e(IS8V0l@=|6aWA-Vd3Jj#Ao{g000001X)^(JnXmt literal 2572 zcmd7T$!|?z7zf~U;+zCKJA&la(38M>xtcj&p*OoZ>WRn8+k1Gli*4V>&aK$pqpV2hy896c|el?Q9@wD6^?z z6Jr?1c%o(}7n5pgsAUdy)YHIR=CPVJbgow48(G8(T3F5!npnm{qT+s|h-Vy4JbxS? z$HX~td^2%wTrqf=3*Z-cC_amO8TvhMJ4a{X8^I1S63t7ZsnrLPTOKD*l%V}i= zD`{gDt69TZ)=|L_ZZM4DbWlmG-v~w$>-T5=Hrf_zdzSM=U0@b<+^3pa<`5-+sr;q# zm&#u%f2sVX@|VhADu1c`rSg}`Us^n?_*u$dd@JQI=H1O-ciy$QUc4{oVp8Uc=O|Zw zb>qQ>B)M+df#`pC zSu9JHOk|)njXqUx{?Zuz?-QT7W8VYgZFbmyxgtsW7mCN$+IEv_uF-Da4dZLpn{S|l zAw06}AzkI~o$XPhh+g<-#TtI(JEeD7{&M-tf(T%jGYZzg+%u`OD=mm%qI8 aHG7i3uKs^}(*JICzHyo6rQhsd-2NAoaHMJg diff --git a/config/grub/keymap/usdvorak.gkb b/config/grub/keymap/usdvorak.gkb index 41301efd4ff08e29a3b4121d2efd6ac0eedc51a7..ef88232c4ea0562f36290c137f88ffdc56119f7d 100644 GIT binary patch literal 364 zcmV-y0h9jyH+ooF000E$*0e?f03iVu0001VFXf})3JU=&T>vALhTy*%@4+yQ934V) zc7s6J6c(Pl^m{_)g)&?UaSti3;7|lGF*48+Y2L_m z>NgZjbko6TA6S`0eX?j%pD)GbX$IlAH`$}&h_`z^NvL5bttOM99mH*f4Hr$W20gnb z5g-x#XhqWZzpO;Leas5smQna`Gn>0XkF+v24C1R93)=60dVgT#lwB)7^2*)Uv0s7B zfOEdt$J^Ri`YfSMtu5$uyiDu^J>?E^3Lqt7@Mdz)Njn%L5gpWfjbu=8nNT%)r(%K+ zeHf~likWX{Wx0*dR;yhU_#9~1RgDV9e7*ESG1MWJG@`{*26gme={^X_5qrsJ2Xr5t zDZo80fo*_Tn|XkGeh0ck)jny(IqkfnfdBv)o(@kWy>Yq#0muT36aWBA8IJg|#Ao{g K000001X)^9>7n-k literal 2572 zcmc)M_iocr6bIm3$yWkifq&S0Z|F=~XiHPNC~cW7d+)u()9?zs9^avIg+hc9B3>aZe$(n*~AsDagaWuuJVfgEb)%Fd?c!;_N~@SAN>q4 zNSy{l3^UIHzt@b)1=IKemr;VxQQ)N$eYQ#(ptxRLtG` zYgFw^tfQ)`JMaSMIZHotj4{j*qg>e}()NreCcxf1UKd)t&xf5ZR9VsOqY+ z|F!1thm+CG^EdimyXSA5)3wT9WV6llH_Km^zbt=Q{<8dK`OET`vALhTy*%@4+yQ934V) zc7K>%b^S+Fh7N3Oib&ic#h*zSvYKD(_7_y*xhff%!#`GO00FG?TU#L!t?RnF%o^5~ zz{^L6lcTy~xoJjjxKT#}6iNxuhqA5}wBqd5wn;W}yYqZTYec>y2BusqHf+D#0t96& z$)p<`y(8cJQLE<|?LEKP>0>PIISC5W|M0e?72F<#;!4i`hlZthzY|t1ctsFN63)k`1!3@}KI zIztRI%N%Q`<$HrsrfD+81Y=AxLQGum0I|k{#QJ0Z*e8yO{l|%8*W2ndeA>?MBDKkRXtU{|2A-cMSn$qMSn$qMSn$qMSn$qMSn$q cMSo>&1MBJUZ~uSS^Zxs>_QDly|Ihc|Pb&tOGynhq diff --git a/script/build/roms b/script/build/roms index d1d4e71a..9e7c69ee 100755 --- a/script/build/roms +++ b/script/build/roms @@ -147,12 +147,8 @@ build_grub_payload() [ -f "${keymapfile}" ] || continue keymaps="${keymaps} ${keymapfile}" - keymap="${keymapfile##*/}" - keymap="${keymap%.gkb}" - [ -f "elf/grub/keymap_$keymap.cfg" ] || printf "keymap %s\n" \ - "$keymap" > "elf/grub/keymap_$keymap.cfg" || err "!key"; : done - [ -z "$_keyboard" ] || [ -f "$grubcfgsdir/keymap/$_keyboard.gkb" ] && \ + [ -z "$_keyboard" ] || [ -f "$grubcfgsdir/keymap/$_keyboard.gkb" ] || \ err "build_grub_payload: $_keyboard layout not defined" [ -n "$_keyboard" ] && keymaps="${grubcfgsdir}/keymap/${_keyboard}.gkb" [ -f "$grubelf" ] && return 0 @@ -166,18 +162,6 @@ build_grub_payload() --fonts= --themes= --locales= \ --modules="${grub_modules}" \ --install-modules="${grub_install_modules}" \ - "${layoutdir}/colemak.gkb=${grubcfgsdir}/keymap/colemak.gkb" \ - "${layoutdir}/deqwertz.gkb=${grubcfgsdir}/keymap/deqwertz.gkb" \ - "${layoutdir}/esqwerty.gkb=${grubcfgsdir}/keymap/esqwerty.gkb" \ - "${layoutdir}/frazerty.gkb=${grubcfgsdir}/keymap/frazerty.gkb" \ - "${layoutdir}/frdvbepo.gkb=${grubcfgsdir}/keymap/frdvbepo.gkb" \ - "${layoutdir}/itqwerty.gkb=${grubcfgsdir}/keymap/itqwerty.gkb" \ - "${layoutdir}/svenska.gkb=${grubcfgsdir}/keymap/svenska.gkb" \ - "${layoutdir}/trqwerty.gkb=${grubcfgsdir}/keymap/trqwerty.gkb" \ - "${layoutdir}/ukdvorak.gkb=${grubcfgsdir}/keymap/ukdvorak.gkb" \ - "${layoutdir}/ukqwerty.gkb=${grubcfgsdir}/keymap/ukqwerty.gkb" \ - "${layoutdir}/usdvorak.gkb=${grubcfgsdir}/keymap/usdvorak.gkb" \ - "${layoutdir}/usqwerty.gkb=${grubcfgsdir}/keymap/usqwerty.gkb" \ "/boot/grub/grub.cfg=${grubcfgsdir}/config/grub_memdisk.cfg" \ "/boot/grub/grub_default.cfg=${grubcfgsdir}/config/grub.cfg" || \ err "could not generate grub.elf" @@ -310,8 +294,11 @@ build_grub_roms() [ -f "${keymapfile}" ] || continue keymap="${keymapfile##*/}" keymap="${keymap%.gkb}" - tmpgrubrom=$(mkGrubRom "${keymap}" "${tmprom}") || \ - err "build_grub_roms ${board}: could not create tmprom" + + tmpgrubrom="$(mktemp -t coreboot_rom.XXXXXXXXXX)" + x_ cp "${tmprom}" "${tmpgrubrom}" + x_ "$cbfstool" "$tmpgrubrom" add -f "$keymapfile" \ + -n keymap.gkb -t raw newrom="${romdir}/${payload1}_${board}_${initmode}_" newrom="${newrom}${displaymode}_${keymap}.rom" @@ -325,20 +312,6 @@ build_grub_roms() done } -# make a rom in /tmp/ and then print the path of that ROM -mkGrubRom() { - _keymap="${1}" - _cbrom="${2}" - - keymapcfg="elf/grub/keymap_${_keymap}.cfg" - - tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) - x_ cp "${_cbrom}" "${tmprom}" - x_ "$cbfstool" "$tmprom" add -f "$keymapcfg" -n keymap.cfg -t raw - - printf "%s\n" "${tmprom}" -} - # make a rom in /tmp/ and then print the path of that ROM mkSeabiosRom() { _cbrom="${1}" # rom to insert seabios in. will not be touched