[pve-devel] [RFC edk2-firmware] Initial commit

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Mar 14 12:48:33 CET 2018


On 03/14/2018 12:32 PM, Fabian Gr├╝nbichler wrote:
> looks good all in all, some minor nits below
> 
> On Tue, Mar 13, 2018 at 04:29:24PM +0100, Thomas Lamprecht wrote:
>> Currently builds OVMF in a simmilar fashion the Debian package does,
>> we just focus on a x86_64 build for now, disable secure boot (was
>> disabled in our binary images from pve-qemu, it needs a static build
>> of an specific version of OpenSSL, bit of an headache) and has our
>> Logo for the boot splash.
>>
>> Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
>> ---
>>  .gitignore                       |   4 +++
>>  .gitmodules                      |   3 +++
>>  Makefile                         |  47 ++++++++++++++++++++++++++++++++
>>  debian/Logo.bmp                  | Bin 0 -> 49078 bytes
>>  debian/changelog                 |   6 +++++
>>  debian/clean                     |   4 +++
>>  debian/compat                    |   1 +
>>  debian/control                   |  21 +++++++++++++++
>>  debian/copyright                 |  29 ++++++++++++++++++++
>>  debian/pve-edk2-firmware.install |   3 +++
>>  debian/pve-edk2-firmware.links   |   1 +
>>  debian/rules                     |  56 +++++++++++++++++++++++++++++++++++++++
>>  edk2                             |   1 +
>>  13 files changed, 176 insertions(+)
>>  create mode 100644 .gitignore
>>  create mode 100644 .gitmodules
>>  create mode 100644 Makefile
>>  create mode 100644 debian/Logo.bmp
>>  create mode 100644 debian/changelog
>>  create mode 100644 debian/clean
>>  create mode 100644 debian/compat
>>  create mode 100644 debian/control
>>  create mode 100644 debian/copyright
>>  create mode 100644 debian/pve-edk2-firmware.install
>>  create mode 100644 debian/pve-edk2-firmware.links
>>  create mode 100755 debian/rules
>>  create mode 160000 edk2
>>
>> diff --git a/.gitignore b/.gitignore
>> new file mode 100644
>> index 0000000..a4c231b
>> --- /dev/null
>> +++ b/.gitignore
>> @@ -0,0 +1,4 @@
>> +*.deb
>> +*.buildinfo
>> +*.changes
>> +edk2.build
>> diff --git a/.gitmodules b/.gitmodules
>> new file mode 100644
>> index 0000000..e24b385
>> --- /dev/null
>> +++ b/.gitmodules
>> @@ -0,0 +1,3 @@
>> +[submodule "edk2"]
>> +	path = edk2
>> +	url = ../mirror_edk2
>> diff --git a/Makefile b/Makefile
>> new file mode 100644
>> index 0000000..831dcff
>> --- /dev/null
>> +++ b/Makefile
>> @@ -0,0 +1,47 @@
>> +PACKAGE=pve-edk2-firmware
>> +VER=1.$(shell date -d @$$(dpkg-parsechangelog -S timestamp) '+%Y%m%d')
> 
> why not 'dpkg-parsechangelog -S version'? ;)
> 

because it seems I did not read the whole man page and was
content with the result at the times ;)
fixing for v2

>> +PKGREL=1
>> +
>> +SRCDIR=edk2
>> +BUILDDIR=${SRCDIR}.build
>> +
>> +GITVERSION:=$(shell git rev-parse HEAD)
>> +
>> +DEB=${PACKAGE}_${VER}-${PKGREL}_all.deb
>> +
>> +all: ${DEB}
>> +	@echo ${DEB}
>> +
>> +.PHONY: deb
>> +deb: ${DEB}
>> +${DEB}: | submodule
>> +	rm -rf ${BUILDDIR}
>> +	cp -rpa ${SRCDIR} ${BUILDDIR}
>> +	cp -a debian ${BUILDDIR}
>> +	echo "git clone git://git.proxmox.com/git/pve-guest-fw-edk2.git\\ngit checkout ${GITVERSION}" > ${BUILDDIR}/debian/SOURCE
> 
> name of repo and package are different - intentional or leftover from
> previous iteration?
> 

yes, there where many iterations and names

>> +	cd ${BUILDDIR}; dpkg-buildpackage -rfakeroot -b -uc -us
> 
> '-rfakeroot' is redundant, it's the default if you are not root, and if
> you are root it will cause a warning to be printed.
> 

OK

>> +	lintian ${DEB}
>> +	@echo ${DEB}
>> +
>> +.PHONY: submodule
>> +submodule:
>> +	test -f "${SRCDIR}/Readme.md" || git submodule update --init
>> +
>> +.PHONY: update_modules
>> +update_modules: submodule
>> +	git submodule foreach 'git pull --ff-only origin master'
>> +
>> +.PHONY: upload
>> +upload: ${DEB}
>> +	tar cf - ${DEB}|ssh -X repoman at repo.proxmox.com -- upload --product pmg,pve --dist stretch
> 
> do we need it in pmg? our qemu is only available in PVE
> 

nope, not needed, copy-is-my-hobby leftover

>> +
>> +.PHONY: distclean
>> +distclean: clean
>> +
>> +.PHONY: clean
>> +clean:
>> +	rm -rf *~ debian/*~ *.deb ${BUILDDIR} *.changes *.dsc *.buildinfo
>> +
>> +.PHONY: dinstall
>> +dinstall: ${DEB}
>> +	dpkg -i ${DEB}
>> diff --git a/debian/Logo.bmp b/debian/Logo.bmp
>> new file mode 100644
>> index 0000000000000000000000000000000000000000..4c46dd84772b32fa5c70e31d2483d66850495dc3
>> GIT binary patch
>> literal 49078
>> zcmeHP33wGnwmzxmKD=<B2@*sx$i9R at 1O=5v%#%%mZ1M(-iXez=PrwH=Am|7#41(ae
>> zuqh!50%1NgKAJHN5 at mF7VG#rYVH5;GHYX?$Ai2xyIn~{@^}SgJ;`jXCRPp6 at b#3R=
>> z|JSL#xwCivMsVCMRREf!?+-};Q}CGtS2*F*HvrVE?*3sQjd1_q-v9_rQWXO9nG^)5
>> zk_1(;oFoiLGO9r}Okz~24ul2<QlQEe0SE-EVwM^JS6l^EtD}r+HQ|a-H6Ybf!KijE
>> zRJ$?+ at b9$&Lf1jfl<E*lxf0;Yx^QKUWH7F503 at X@Kyo8UsflHzGy<qmAFfKR2}xHq
>> zftpui88w>%q&A1EufZ}>Tf#MUt^rcJ1sGSi0;t^vu1%{0b<(bbq-$>msM8M8>eYq1
>> z^{xlF?iPIS0N2;A2lX1%2P3T$G-%WS;QBkDVdF;7s7Yf;s{bDV^?N{*W+<a!S7_S2
>> z89?Li&@8<<kjA~B`LEI;y=4o4rhNdK^@CrvY6(fr`vYnAYq;S?l;7e%@$Wvk at ut?$
>> z=H{CqspSJeZWs*EY6#qXOIv7nE9%htA%Hf+;nw!I0ckS|$juJ}+%yJm>)0Nk-AI78
>> zk3z at WJ3-Pd6X5oY&H(Kv0^IgEWOPB at I{p@*!!$_h_#|}c-W5ov-$A##x&w5c4sgc|
>> z=#hCBK*lrZp9MX8WkTlNnE-b_2jtE<kks|}0A1$7-F<rlbbAq?`%BPo0P3E(00s<1
>> zy?ZSJ$jk=l{TjgCIWRD55I~<dA?yAuNb0*Bp#Ms^|G at _U2IRuvp$`Jw^C$HG4-6fS
>> z^%;~0WS|MdM?4Hw2E7ZAl at B9EJpypwdi=u%_`rKGYV2r$!3AJE at DYr8bS%Jwn*fIX
>> z1^+&SM<<K}7`7Q;_*O`IcpE%6>A#`M at SR|c*beZ>4w(4cNdP1Ez@*8)0T}re!07!j
>> zc`CNzF at J-kvERVdC#He%Uk3ml{T2d`9t0S72%dQANr3T((SICZ!guhy8BgK+Nr1<W
>> z!i;C0hG%9z3(w7(3BR8`3ueuE9%j#-124Qd7v{b6BK+Z%m*D03ufY683t-`Ei(t{~
>> zufgK%*WvZ0OJGS(He|oC6qdf318=^y43 at 8a3s&T=gjIjch1GBW5&pF19e8K$8d&pZ
>> z6aH+y3;F9Uu-;n->o%;1^#$+2h7Ss$VB`Dn{)ZpH#=m|DAAS5+*!1bg at bPD#z-L=G
>> z!{%*UV9WNcux-cZuzlwa*s<#i*tvTb?Ar4se7Scw?Af;$_I<q{zCQR395{3kzWweH
>> z96tIT965dzzCUpcj-NUKCw at 2yrwV_7!k<pV=`%mVPv_3SnWD3B_WU_Gcd-bHiZ8&0
>> zl8bOLTnxpL5-5p=AsmZ9#EwGL{$C*4X#_L^8Uc-fMnEH=5zq)|1T+E~0gZr0KqH_L
>> z&<JP*Gy)m{jetf#BcKt`2xtT}0vZ90fJQ(gpb^jrXaqC at 8Uc-fMnEH=5zq)|1T+E~
>> z0gZr0KqH_L&<JP*Gy)od|6d3+?U71IsMI>8mmOVdJ{@r>2#nZcQ at 82%#F-}_cA`IO
>> zn>bpBRxSdqzp?EIb;w8p6UjK}Mn`S?!^#z`OG|`6Q#<A~f9L0993fdq6L()FDnN%-
>> zE&}s8+-L}ezA>bGNtj1RBX?G=WL;W91PWveIiMs-FXC+2#r9AoPQUzI2z)L;x9vTW
>> zl+?2&Qq(vpMtgrw1a=D4BRHsgE=0bU!{-xXU=00pf4pS+Q8@^7doDXCXYs@|5+GF%
>> z$)olfR=zvWbvTLI>nIDIr)TG6XHRK?d9<rk1iIu|CUurIy%qxfcVP)pdyXq<uT0V>
>> z7}hG=axz)g!j_e)%)fkLDbo>I%W<Y<_9R9FiIA}U1O at 05L6L3m!hrEo9&5-YV(6Q{
>> zU1BLpHp4U4fYX&KQE1Z%B9nb-N_nlQsv$XHB6*_x1j;y(T^JiKCw&R&S|nS;z!2FW
>> z({UV4=y5l#$6_w;vA#HS<S`+!OrKr&QR!F={N`-Qg~Ipc0%rWZI1+Z&s`5|x!m)vJ
>> zDr_msa&wnW;u^`32ATL~ZeGsBpclC5+_715d>Q`KEvJi{3am#TK35Wsa~DqUXeyUs
>> z7?a-2&0RXmNYpq;U<%cAO#JveKmph4Oh}f5f5h(khAr`P0wq2o=dki>aV7SgkJ^!n
>> z)e+~+_NGoer|ii(ZQJ4E5){f2n2PJ6;zX__YX6wUGY7}7^?K3q*YH5*3H*k2u at h6A
>> zu&ozS#3B}5#<Mj}aw2v*(`II|9V<zo4AuBR1}`W0c)qJl{uq{%$B~pNOquZ_(DU7^
>> zz-zT2WVA$xEiD7>i)ZUlI=udk=F6k$ncL?Ox0Ah=^|Yh-uee{lrewA4E`lO9n^lLl
>> z+A(S8KvvF4%Vr&E3t3G}Yt_}v3_LArEEkcvHK+l7?v(kp&rDGxpHjnIg%}?@RQbvq
>> zmN?IoS8ElMXIU$Vs!T8ihin$TJm|Nd2`q{}^VX&jGEZ6;%1FeT8su&{wMFfTJC_f8
>> z3lAvWgKXINS2r%jd?$w1ax05_PpNa<ON`Ar2u?D%%U2;t$<5<Y)~imO%ZI&}iE*Fl
>> zYkXa9hV8DrJU%wZ$yWlxwwpabmI`@!YgHK`Y{uNZ;-8`V#sh0bN`Sm25hCP8G7Zv&
>> z7vy+)%91=j>~X#pCa3ZIF6zZa{-}QTMNeKKYo{~h{!%C-d>8G0PB8(Q5Hr{9m7JKM
>> z8dJjw^!Tt>%Q|$$V)x7H*DmrDa`*@-U58LX_)5Yzy5$+U+ypFhxnv;$BDD>S at tX%R
>> z44h+0jwV?rBrspt9!p3&A%xDc9+K-qJU*f}gHnlAUYHfUtAvJ9Pk7QIu at NlhjJz|z
>> zlu at 2BI_IOVx>QqZVNeX~vgKHw<#>EVY&Wm_dz5y$ayQEN^j!N$*iIE??DbxGM!sYP
>> zi#Z`dk|VJ8TaK4C at Ty3HFu#hy+ZbX(7%oN{=E at 1J30{8h!TE4z$!eVMjg`J%4d1|}
>> z at x6hUcu*OhOs`4TlAFu(yzIFm*t8m{eAqEAijbitw0l0vGls}dOsd1jRHiozP4p!0
>> zkQAyVV>O$XxmYM;SwT-39_xC7N&~W<MK<HcttEt{NP`p#o8s&GSbr6fcfNd*yjNbY
>> zPIBikm3K`Cc{Uv1%Xe9<loq10ruDQ_NRUhuz~rrM#Y$%VRroLqA!H*J6}9;+DVcED
>> z4j+4*84C|f<cZn0vhv!<<HX|*SOFsSMS1xxSyJCKAf_LV?$ZcKKA=kb3n9TAQCmzV
>> zDECTZe1rv>J~{lA^U<9liBXMDd)1AF`}35WR5cR634`n=W-gXB-szkt3OX#S9q+Cg
>> zACZ$xR&ugidgKrbA(>pB!^gMc%z;P5dDs+-sDmx-+YP#uX3n%aayfCHCUnDuInx?R
>> zNbQrdq%BDATo&&<Uydt- at ew_}Xtm!hne~J>&^g&SAFQXLq1!!yQ8C7bLU?A$+>Xya
>> zmE5L1yb!VTX^?w_k|ypQ1jxODA=4V*FyyGf`S>y2dB>kMuB6C?OcpYS$#&NthdCdS
>> zZJ&N3xlKETGT3rmXP|8EOluH^4iU;&Rxg$?(X-`Ro|SqA5K>n<^7sO?%vKUCtj=2+
>> zD~|EO>!5m0?-sVeweO#r>^U-nCl~e=3gIEK<HUM|iNmD|n~ZPfVMN8?LDE at h?KCr<
>> zlJoIXYZm5BZEZd#6ES)@_Ho4HBUUtw<zdg6TzfGd;g*1qj%x#>mrTcS(Kc8i($nZD
>> zXEpQhAXRU>z+ at c3gwrGgvT(sA<@LPf at DYu96H`pi`51e9ThHCb(Xhq7gW#hiZq|mK
>> zJ6*+4C-XsYAugO`9hNmo9`NG%C}8y3cCxojEQOD-dRT`QN^b3Hg1>?f41ZRrV&*H0
>> zg(+pyfm!>=<e64`x^v>rHIF3+$S6 at T`toqq80X62gYG)8#TG+SAV9}a&xMb_hj)$~
>> zC-?|Q{qjPI`7j7>Mlgqaq|9qs&&hOn>vL3!*+=Rzp$#7KIIa{vB5{0#n)1dg^AS`C
>> zk(HUoXTbh?@pq}Wqm`%^Ah=h6y9I^V!447CLZ5j9&m?)u<-?8@^>EV*@EHld=V&+G
>> zCGdgG?ny;i at 5Njysfu2|eT0Sz6~b&$@=x%=7P6{+5b~PTBDh}WTveGwZ*=gN@|q at g
>> zNi(rcUqB3fw$m+9ezqPI)k@&=8c%tAoVQ<cL|h6VnDJ#^ap74`sw-Oi_z00BLfx3X
>> z(oK8$d?>pHT$_c8sVaKOFVf@~vo3RXPH3m!h8N^`@R&r-#r);l2M)mQYN<RvFkvR`
>> z!Y`4Jz+zQl%gTL6OeS1?eSDA(vQAMtVxqfzK5*AST9A8cElzks<BF7i1LS$79*Yt7
>> z51yz>n#guzS@%g<WN!udux+<zmg_E>rR>997j&1%hf!;pQW49_SB(RU_Ve+*y4D*;
>> z#a9X+Bu(1NqH39|YB`0M{}V74DD`lcd{^hm-59R2N^zWz^LzIzZr>rk at V38pGMCSX
>> z+htrL9|W6_>KexB?Bk<fSmk4<vk6xj_CZJsRTnc}nK<oOK!BeUIAu)7-Nx$brd6qQ
>> z at bM%3J+^Db)#m%6(Nm5j&PUAexQ&$1v#(3$gQQ6qnC304e&Xrl<9#mJ at x<&@+QC&0
>> zA4FM8<nb*Vp-id1_Hx%`TKCd~(*6%tGCNpWW at aDAhtDN9IOSD0a@vXFe1v@`ZF~W2
>> zN6y at MIee%S!YMw5 at Kxa>`8t&joPB>ovs4NnhVMvqNaEo)UPTgUDD_Op485y>!>YP6
>> zUm*6e)gm|_N7Zmz2;27X^D$%auN9XyugF^kM2iPr1|Rpx?Fw7b!*LTDg%7fX@$re*
>> zwMHVHQ18m%!%v4<>HzGA&8RNZVc{;8K?)1-$G`pS&*;9F#m9kC?4yT&+C#Q^e8eIn
>> zE}0Lbozz>o-uwMJt9<YQuJ_*<GX<EVGWd{pa6Gko`jtuiUVW9shiOeiCJsjJH%Ks`
>> zPT3w$oc&VxkoObaQdfGrQkTO=OP_Vnv$H#Vy at bNY8c%5WC`tCb_8A;ODuWMYm&7Ba
>> zolluWfCkAcN~?Mn6XBL?lul7=nbKjG=|70_O8dp|aYGy(Sh4(O>Y_>E<Agi8iqZ>b
>> z{1P+zD}j%AQ>7 at kNW_3I%)g%=ARoH6JDM2RC{*FVqE^l+=@-I>QA?c=dYb30RWAX_
>> zd`$NGs8|Wka>scu(O6~h(Zsj-aJ4aW(|q9jUkyCDl6$M16nY-uO?L*<CAu6-_v7Q-
>> zFNBX2b+qFR$;?$wM+F~k$(L-*m`p2mj2X+Uf5JY}6YgIbDf0S3LeR>Nn_&3xR5x(V
>> z6jGHRNW{+L0ZmVt5X-vDmmOa at AMx|ux`kei{qw8dIDJzcI}r4ZAGqJ1tgLB5sfqV@
>> z<;wu((xBWtO?gjM at X;xi4H-XPN2eD{#9+d&Gq~qb?EE8wD=by()O1Fvx}PYUYIe#B
>> z-Z(7Fx4o$rN63Q;+-6#UjOB9<+ooH*gQUXH+a|8dVtho7*S%GBJ>F&7`uP}pyPC4o
>> zxU+126?NuU-?E&s-5K3`$gV>nUr}%7wK2%klA5_`K_VfNyPT&J>yKzrCcnP#+zr8f
>> zd{*#`0w!JM!?xePv#qRnhpu~gO0nN=kcE;-tf&!4lXg1Hm&>w{K{6eA`M87}#<il7
>> zP9+=UA*rS~V`(B)&haun?C4pa^X?pCInk3&QobH6I;SQ*&#M(J$-<<e-8`TSkAovE
>> znD)AoYluNLEQyg9goQBsu=zPyIP4vSO=Y6Q>ePQ;Yey8l&#@f%<jMr)6K>O@*S^wZ
>> zn4c5MV3gvdQ%zc(c7(K*bU`7J!&R&LE>f at Z4@sO4Nx3-hK1VL+BQBl?M9w;&Rj=m(
>> zWq5}1-a|Pcb#_UN8WKU)Q{1WrAH3kNTued at q?2kE>73UdV1~m&6Fr?V$SLUs$vUhW
>> zK at 1Btl#j)yyYk|H+sU+<Rv$vrMML#u?n3iY8lRQzJ3_AzA2S{472qT6T2h7X`wVvZ
>> z2*}4~rq$D{s5BKZ#cpUEA5nM9ie}mnkF&$aX0I=ekLDpU+xzMuARnIRVfXGj<%5Dp
>> z5_VZeb7^sb%nTt_>$3eOF2}Z=I}I}9)?!bF_oxsb6+HjIo^6{`><H(InxsYoZz1k<
>> zIZo+OyKz(KxmHqpkQW at shrOK-(l^t)@2Ye7Xsq<%Y6AB511m+^K{NB)dm0j=+-c~`
>> zb>#85*poU~wC#z+2z|>+m!BIkk204uXDh{3gpUtgx#io3d;Wo`ediLgLd?%bQ0elO
>> zyZ7b_Gsyj-%QCGlZfHCoc<{#DE><*uI((3?`Fp9Jsa_e%k*b)D8mbL@$}qX~nIc`q
>> zM!laz8`{ezfU4A$#PHo at oF*IGS8<I>&2HNl!i`<YiOW}#&+~L_%oagPtn_k`9d@^p
>> zP|qLbWv7pTd<`v+-qb+H_Q|}GqUt;~uDf>l2-S_0(_>wvrv%hVLx6hEnclbH=4!?-
>> z)Pu_9U5j3G+bY#ok{_do+G#6zVYK at 4M)ppALqy6id&4%aV;omLAD??E at lvf^M7%#{
>> z*LFvbdUCIXM$QYM9_ikVm5-BoLfATom3T}^-#?~SChC13MK2VT;n+n8L%F;=UMX5t
>> zhF$OWk{F7nmh~#m!8QniG5hcj;w?h2xJy at L={B8o#eD>yIf^X8hu_qk?aCCB?hc3)
>> z%tybz`HZE+=j8J?-rY**5VapO*yM^`yut?K-V_yO1i6J^<V5H6`c|PW#eRoK?D&S^
>> z2+D=VoX;km at X0u}<>9JMSjutY-c&N^Eik9y;?F~JCxV3p=}6BaC-~$lQzkP9zt&kN
>> zckTyCcm7ERm5!f)NYfQ+A=2fBa^^xy8gSXI%WP%#0X+JUT*mt-IVyiS==y0Bp2x;=
>> zOn-yB1DF3I&ewg;AkAK;+FEPpvYC#!3u at aZvwZ3CdZt{Pa9tkX_ydYVLKm5w%#)E8
>> z3*4#g>}Dd2`&zx?M!wL*XUBaVCD~67Hnll2{ikrxxxXa4#BNPUXLUN3!ljT7TfR)}
>> zc5h$TTO^~t)w^~lOuBp5CY%zpCeQPX_~P)fICt>#44!~`u#4(4YW&?w7=Ljh$KV{8
>> zcVtaBxf*PFBY{AgFJt2lSIPORLIVrDaH$5nx2;a+vZx2e^c*!(mM2AHWUo;pyGY8g
>> z$UeFF*&*^lf1bob9+S|Io<;Nt5uX9zy6{XLgS1%a+8fQY;Cfb4c~7bBl$W&P at oJ&&
>> zH^!x0rYR#*`B0e)k82b>rWB8wAwWkdQi?LAN2ajvWf#y(hr^UlCmlKnQ9iLP#8gIK
>> z&qS8p#akN{uHEG$fGoDVcg)B>_ at 6TvB;&m3*zx)^BfLN|n(%SQ%39nz{*k`8W1{)E
>> zd<xVOBt#qV&$H+*8&0N}`&1rOb_*7yyez4HRvH4yVh0-yLhOs7fPIpMROpN5N>l1z
>> zxFGiJ3t}I^YYd7zAP9-r8<Z&h^7A0DUxs|WPe$@dd1P7Qi`B1{k3h0y9^wl=AxHW@
>> z$>{%qrQOetz)E_|MHjt^|DT?>>5)B+KJeJju8I~w5l9{P#ffuAwhUEQSsa_x$vaP;
>> zJN!}nokE^Mdny$Hw%%Y*U*TSG;?=A#t$x)AXaqC at 8Uc-fMnEH=5zq)|1T+E~0gZr0
>> zKqH_L&<JP*Gy)m{jetf#BcKt`2xtT}0vZ90fJQ(gpb^jrXaqC at 8Uc-fMnEH=5%@nw
>> F;2(p`PZt0H
>>
>> literal 0
>> HcmV?d00001
>>
>> diff --git a/debian/changelog b/debian/changelog
>> new file mode 100644
>> index 0000000..e038242
>> --- /dev/null
>> +++ b/debian/changelog
>> @@ -0,0 +1,6 @@
>> +pve-edk2-firmware (1.20180313-1) stable; urgency=medium
>> +
>> +  * Initial release.
> 
> a bit more details would be nice here (e.g. split from pve-qemu into
> seperate package, update to commit foo)
> 

OK.

>> +
>> + -- Proxmox Support Team <support at proxmox.com>  Tue, 13 Mar 2018 11:20:02 +0200
>> +
>> diff --git a/debian/clean b/debian/clean
>> new file mode 100644
>> index 0000000..8772fda
>> --- /dev/null
>> +++ b/debian/clean
>> @@ -0,0 +1,4 @@
>> +Conf/BuildEnv.sh
>> +Conf/build_rule.txt
>> +Conf/target.txt
>> +Conf/tools_def.txt
>> diff --git a/debian/compat b/debian/compat
>> new file mode 100644
>> index 0000000..f599e28
>> --- /dev/null
>> +++ b/debian/compat
>> @@ -0,0 +1 @@
>> +10
> 
> I think we want 9 here for once, because I guess this package will be
> backported as-is along with pve-qemu?
> 

Honestly I am not sure if I'D backport the whole package there,
we can just update the OVMF binary we ship in pve-qemu once
to address the q35 + new QEMU + OVMF problem...

But, maybe keeping it sync make sense... as said, not sure...

>> diff --git a/debian/control b/debian/control
>> new file mode 100644
>> index 0000000..aa917e6
>> --- /dev/null
>> +++ b/debian/control
>> @@ -0,0 +1,21 @@
>> +Source: pve-edk2-firmware
>> +Section: misc
>> +Priority: extra
>> +Maintainer: Proxmox Support Team <support at proxmox.com>
>> +Build-Depends: debhelper (>= 8),
> 
> should be >= 9 I guess?
> 

yes

>> +               iasl,
>> +               nasm,
>> +               python,
>> +               uuid-dev,
>> +Homepage: http://www.tianocore.org
>> +Standards-Version: 3.9.8
> 
> the current on is 4.1.3 ;) not that it matters much for us.
> 

copied from somewhere ;)

>> +
>> +Package: pve-edk2-firmware
>> +Architecture: all
>> +Depends: ${misc:Depends},
>> +Provides: ovmf,
>> +Conflicts: ovmf,
>> +Description: edk2 based firmware modules for virtual machines
>> + Contains OVMF. Open Virtual Machine Firmware (OVMF) is a build of EDK II for
>> + virtual machines. It includes full support for UEFI, including Secure Boot,
>> + allowing use of UEFI in place of a traditional BIOS in your VM.
> 
> should probably be adapted to mention PVE and the lack of Secure Boot
> 

OK

>> diff --git a/debian/copyright b/debian/copyright
>> new file mode 100644
>> index 0000000..5941725
>> --- /dev/null
>> +++ b/debian/copyright
>> @@ -0,0 +1,29 @@
>> +Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved
>> +Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.
>> +Copyright (c) 2011 - 2015, ARM Limited. All rights reserved.
>> +Copyright (c) 2014 - 2015, Linaro Limited. All rights reserved.
>> +Copyright (c) 2013 - 2015, Red Hat, Inc.
>> +
>> +Redistribution and use in source and binary forms, with or without
>> +modification, are permitted provided that the following conditions
>> +are met:
>> +
>> +* Redistributions of source code must retain the above copyright
>> +  notice, this list of conditions and the following disclaimer.
>> +* Redistributions in binary form must reproduce the above copyright
>> +  notice, this list of conditions and the following disclaimer in
>> +  the documentation and/or other materials provided with the
>> +  distribution.
>> +
>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
>> +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
>> +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
>> +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
>> +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
>> +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
>> +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
>> +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
>> +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
>> +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
>> +POSSIBILITY OF SUCH DAMAGE.
>> diff --git a/debian/pve-edk2-firmware.install b/debian/pve-edk2-firmware.install
>> new file mode 100644
>> index 0000000..839354c
>> --- /dev/null
>> +++ b/debian/pve-edk2-firmware.install
>> @@ -0,0 +1,3 @@
>> +Build/OvmfX64/RELEASE_*GCC*/FV/OVMF.fd		/usr/share/ovmf
>> +Build/OvmfX64/RELEASE_*GCC*/FV/OVMF_CODE.fd	/usr/share/OVMF
>> +Build/OvmfX64/RELEASE_*GCC*/FV/OVMF_VARS.fd	/usr/share/OVMF
>> diff --git a/debian/pve-edk2-firmware.links b/debian/pve-edk2-firmware.links
>> new file mode 100644
>> index 0000000..b308b69
>> --- /dev/null
>> +++ b/debian/pve-edk2-firmware.links
>> @@ -0,0 +1 @@
>> +usr/share/ovmf/OVMF.fd usr/share/qemu/OVMF.fd
>> diff --git a/debian/rules b/debian/rules
>> new file mode 100755
>> index 0000000..0464134
>> --- /dev/null
>> +++ b/debian/rules
>> @@ -0,0 +1,56 @@
>> +#!/usr/bin/make -f
>> +SHELL=/bin/bash
>> +
>> +# this is a simplified version from the upstream package
>> +
>> +DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
>> +
>> +EDK2_TOOLCHAIN = GCC5 # for GCC5 and newer, LTO enabled
>> +export $(EDK2_TOOLCHAIN)_AARCH64_PREFIX=aarch64-linux-gnu-
>> +
>> +ifeq ($(DEB_BUILD_ARCH),amd64)
>> +	EDK2_BUILD_ARCH=X64
>> +	EDK2_HOST_ARCH=X64
>> +endif
>> +ifeq ($(DEB_BUILD_ARCH),arm64)
>> +	EDK2_BUILD_ARCH=AARCH64
>> +endif
>> +
>> +# Clear variables used internally by the edk2 build system
>> +undefine WORKSPACE
>> +undefine ECP_SOURCE
>> +undefine EDK_SOURCE
>> +undefine EFI_SOURCE
>> +undefine EDK_TOOLS_PATH
>> +undefine CONF_PATH
>> +
>> +%:
>> +	dh $@
>> +
>> +override_dh_auto_build: build-ovmf
>> +
>> +setup-build:
>> +	cp -a debian/Logo.bmp MdeModulePkg/Logo/Logo.bmp
>> +	make -C BaseTools ARCH=$(EDK2_BUILD_ARCH)
>> +	# call this when building too, it modifies the shell environment
>> +	. ./edksetup.sh
>> +
>> +build-ovmf: EDK2_ARCH_DIR=X64
>> +build-ovmf: EDK2_HOST_ARCH=X64
>> +build-ovmf: setup-build
>> +	set -e; . ./edksetup.sh; \
>> +		OvmfPkg/build.sh -a $(EDK2_HOST_ARCH) -b RELEASE -DSECURE_BOOT_ENABLE=FALSE -DFD_SIZE_2MB \
>> +		    -n $$(getconf _NPROCESSORS_ONLN) -t $(EDK2_TOOLCHAIN)
> 
> might make future git blaming easier if the parameters each get their
> own (continued) line?
> 

OK

>> +
>> +build-qemu-efi-aarch64:
>> +	$(MAKE) -f debian/rules build-qemu-efi EDK2_ARCH_DIR=AArch64 EDK2_HOST_ARCH=AARCH64 FW_NAME=AAVMF
> 
> is this called anywhere?
> 

not yet, at least not on x86_64, preparation for aarch64 version :)

>> +
>> +override_dh_auto_clean:
>> +	set -e; \
>> +	if [ -d BaseTools/Source/C/bin ]; then \
>> +		. ./edksetup.sh; build clean; \
>> +		make -C BaseTools clean; \
>> +	fi
>> +	rm -rf Conf/.cache Build .pc-post
>> +
>> +.PHONY: setup-build build-ovmf
>> diff --git a/edk2 b/edk2
>> new file mode 160000
>> index 0000000..ea30f8e
>> --- /dev/null
>> +++ b/edk2
>> @@ -0,0 +1 @@
>> +Subproject commit ea30f8e81399059e2a94b597d05d3273893afe7b
>> -- 
>> 2.14.2
>>





More information about the pve-devel mailing list