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

Thomas Lamprecht t.lamprecht at proxmox.com
Tue Mar 13 16:29:24 CET 2018


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')
+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
+	cd ${BUILDDIR}; dpkg-buildpackage -rfakeroot -b -uc -us
+	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
+
+.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.
+
+ -- 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
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),
+               iasl,
+               nasm,
+               python,
+               uuid-dev,
+Homepage: http://www.tianocore.org
+Standards-Version: 3.9.8
+
+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.
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)
+
+build-qemu-efi-aarch64:
+	$(MAKE) -f debian/rules build-qemu-efi EDK2_ARCH_DIR=AArch64 EDK2_HOST_ARCH=AARCH64 FW_NAME=AAVMF
+
+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