From 79143f67820000740a362211d9424f0adea32b91 Mon Sep 17 00:00:00 2001 From: Stefan Kalkowski Date: Mon, 27 Mar 2017 12:39:13 +0200 Subject: [PATCH] tool/boot: add chain_loader 'unzip' 'unzip' can uncompress and load raw multiboot images and ELF files. Usage together with the PXE bootloader ease life running the muen hypervisor together with a Genode/x86_64 VM, where the raw boot image is typically quite large. Ref #2358 --- tool/boot/README | 9 +++++++++ tool/boot/unzip | Bin 0 -> 9835 bytes tool/run/load/tftp | 2 ++ 3 files changed, 11 insertions(+) create mode 100755 tool/boot/unzip diff --git a/tool/boot/README b/tool/boot/README index 742da1a1d0..fba34b34b1 100644 --- a/tool/boot/README +++ b/tool/boot/README @@ -28,3 +28,12 @@ code respectively the download source of binaries are described below. of the modified Grub 0.97 were obtained from http://os.inf.tu-dresden.de/~adam/grub. +:'unzip' + + The 'unzip' tool is part of the 'morbo' toolchain available under GPL. + The toolchain was obtained from https://github.com/TUD-OS/morbo. + For Genode the unzip was modified so that raw binary images with a Multiboot + OS header can be loaded. + The changes are available on the genode_bender branch of + https://github.com/skalk/morbo.git. + diff --git a/tool/boot/unzip b/tool/boot/unzip new file mode 100755 index 0000000000000000000000000000000000000000..000924b825df51d15421439f6cdb4d80a40e5e14 GIT binary patch literal 9835 zcma)C4Rljgwm!GHg|rRa3uHM}ie8+cR7$784w9i|Ds2Jf$6`x|CrC`2lx9qun%qzj zkm7Bf9xj=|rEiV%v*!6m*L#jj*RaNUr64*jtt}vGX&D~^<3mJDNo5Ku)WVSW?VALV z<$KOutM}}E_CEXUv-dvx>~qsCrArnFg20kb3NtanEKFwkX#1wbDfvu6|8zE%i3YvG z=$7%8S((9O291HrSjx^5t&?<_-!EwUQn|dUtCGLV50~$uMewf3 zu~;m|&-0^u#?a71!1N_H3vff!Ucyc2k$c$Zx+z>H@JR-xr$~5_AB~wJzcx6&rh@Qt z%(QAv*NUH1mh&!csNkZ>3;|_&iLF8%qiwXZkQEDhE)$D*8ivyL#|E2Hpi6Jsd+G#^ zl}K&<{3y5BB4!v_-Tvf6k?KL~ye2cNF)1>1xuw$0lq@(gp9Tn3e zb6m$vy=eNk>9{H|-Vr+$wULs) z0NeFS&W|g(2+d#uv(AF}Wq8=yS>A=$LVM$+DU zAZ@P2CjD$WKqx7L!D_OQ79!sdE=$1DIA$*Fw~m65mY$P6(zMC8m~j(2YWbXLE5BRcSYPS{F9&X-b%P-NppYeihg~mS%28Vmv-=nyVcal77I+aFtfMx5ILx) zbb$4i9wCtT@Y4PILTl$qQR|SiyAd)nFWno)%JkAha~E2Jetm&BV+=1I(HEE_@1-(U z#EY-kJDN84Gj*~)o*x4}dp{R#_Kpa4KC*-KY=_j=p`8?(J6elHsrhzK z)+1|OvR*zED?Jo`b^`fJ=;NhFwt9|`v!Yxt?LZ(I`8vGxgubF%4;`V13YVUwaKc3V z0w0N}i0I}Hskw!M;o%eZek{WD@JU{JNH5)={rTJ#htwbQ9;``U^o8Stb$R+2M_0&# z^wdcaU5QcmkyHemg#rYGGay86#ep?w2X%gQuU>it-P0x`@j;=838Vz;{pgE)PRnYv z>YMk57sNWxh^EkftOJG&uO2IEn~yN5^%yL?t=!z)ucqo7#i&W&cm<~fG8ybNjh35T zdJ@D{*ga;w_zGroCTIIsl3sd3FTbKM8#ZC>R$F+*=}6mnvT!KXvH7&Ri1zI+OhNm0 z1MOF+xd{Rw=T$U=zXmNX_DoXjyoA`rSM*8}8`+0dVIJ+AtVLyg#mTTm7DoAa;VXD$ znW!(8^-A--k>7&LwE3iI^9lZhIkxo3U={)x(_Epm_AJa5T?FhhW{I2t*0gzmsk2GF zgEy!*E`D}TMicoHIO7@p6lqmFGI#<`4ST*wBpMu$1KN-e#?P`}w8!iRVt}vb&S{O`}2ejxDK8qYY7W(`ZPY(KNbVYW@}Ujs9|B^jY}nQ897|5~JyH_z4K+ z(ZLW_uEhl1)F|2ep&P=PjuLBhyk0KGaZ20Pun*}8WY{GgLQ9b)t>hrUEHVq_1a)W~ zd99_CjgxHGI10hR50kvKP7)V-Et(&ncC5W0Q%1*NI<3o0)9}tx>6JcF`$+0MD{kWf z7`Jt4j2}+x44n>FfIi5FvkxQG7k8RShPUqz7+AT}dZyUkai++Az<#l%|A`5F_)PKX zqU=to?LhXy*3M{jO_xz}nYEF0HS^!&6=~DEQVoBWv0r4cq8F%3E2Q@Wjj7t@^w1A> zGbE@z&o^bTc7|7PDiP_4P_452dA#iX?KC>_B4Ba2)0*bHUg_Xm&Q~AS{xb#%YPEfHn2n<#0uluOK+NRwwNP% z;3|%u*SgKCx+wSa_dkDejkBv#=mZ~**tgY*$Q0v?=Sy!E!>xf>_HgtptOZ^$@V?Jq zhEmQhdw)}b%v96-=q28V_dS=G5%G!Sd9D+RguLaBw1-5 z6fkB;%hZdhQS=RFUC@_{FslvXG94qTM5~5%E?okHB}x?{3K4;sDr}iCoV;5{DOMV9 z0=vTB?>r-Cs5YDQ$4xei<5J@>BuLRt$M3-YUeqb7d(Ccr4L*B zfo=IvpO8H&?YaQ(bGtg7txCqt8FrPpO~W0YW-l5{a%4_ApLjdQsgeVN}TwnS(&3(sw#lB-o~rXRa6(ekSB(Y26C44Q|t5%!1A7 zzD?fBOfuJiS?i|DZu#qUIF+>@qeS!D%dyy-Hg;s>H}KQq(CPM5 z#I+7wQ7KM%5`<-;zUYzY)x^cX-cere*uQyfk2r=EMZXM-6+9viEnT<~ZWujgt^23J* zIc|`BD01m0Pv=c}IozP$`4>uIt%vzr1E0Q5p#7rba&Q8VL|&wT>QGaJ4~65=s4m(b z5{8p0l9D&l?Q;78KEkawttTa%lNJeJ1nd-El8S5W7@;e>bHmASNd}Y`=RXu5%HN^u zSo~bji;UuU6lc&MFtU)o&!}o4HW=G7PA|96N)}sMQ=%tk(uW?YZO6{rWJuo5`p{w& z-B0*g+z5_FY5{`5qQn`t(`kG(G7-H-%_BN4Y@Wyu>&0|w6SrB+trmHH^sErH3~mAs z`t@>ohG-K~v~Jw)3|;LVHNDOFMnpTONE;a&8m{S0T>~_e<$;v?2*BqUfGPkDEWCsC zr=z(6I0j^fhQP<0+4F=K?tmCWM8~ZVAs8a|0lZm&h;9J45YPi)G6DMmWD#%>z!U-w z0l1ZbcLCfcgm;icny(Ky=4%KIftUjeu(*P`28h1ABrq!pAIPj88^ehqhxk z_tFT)x7*qwuD99NK~kxw+13q^KWp2MCfsb$BX=Qf+YcBY0y`|{YMg*z(0}KqT z)J9UImPL@en}TBx?s?b7PX?z^2O7P+Cn>>1{dDx~p%?E>_D7*Tf6Lx6_;YmQ)F&mS zwlYC#!$w+}(s{}(9F*D?nL0l*3m;rMj5FDBP->x4Tk8<91mfp?*elukZ;kaV3NIG0 zSXvsY2O@_b6ZoGEXj@uqMsxtP(2B1!g&+_5AaOT2a1TY@;8LJHC1NJIWm4!%q>iXM zbq_`{`+?%5?mvL;Qrk0^kmy=VteMf{sB<%SPa>w{;8_V7kp?8daLzrBsHAm+5PsI^ zPD+>w3EId6^*(K6qFSeo$WjZ+OSY{f>wCLtGQ$t}95OaJU@ycOyUL70JTq*`#8(cp zx*A_l#xibdqm6Ctrf^N9IpnFgwV|x0xwmngrl`2+0LxR;4bDNj@i%Q0^w4nA z#uRht?6zXlOD97ghlA-aiRuKYtsH57V>*H-T=BgW;r*A)s<~+%3$GKR7hjUEgHzOO zscnIPj|3oz3^T>O9K*A!1X?RZsP! zK5xBCDfnqH4j1`@x!(GkTs1V)9qimHX>2l&s5nK{qn^kSWA zjsni5_b$v)%Hu$`Qdp?uv3r9-PeAqh>y_K51#dUzg5g~%?D?Zn67-)jn4+c)c6zs=RRHclZVY5o~Z( zBjOOh#s2yl@7f0+Senb0#)DG{dOUR$D~QWvEW2}+g?_&qfs!4kp}`w84XQqtLd^))`1 zN`2Ep%FKE6He}@HLhN+xFp8Xt`<5+mKCsw`i|JqQJCizw>JWIZ9)# zx4KqAjtF=j3wZ-r06FU$3gxmq`>eb3e>nS|ISyA864jQ>E$^DLU#Xw_O5O)|?6~*D zx-XVL`shm6pOzLpmRhE0?VpuABMnDhc>n$FuesjdxzGKZBmDzUtv{9ieAb0G-k|X; zH@KlrbycBN1M#*t38|j-D$6C0u-qzafq(Xy3`QKh#&5Rt8!mk?Sd#dymt;_7N6%FJ z5g%0{^sVN3@FZ#Ix(43~n68_|M^)F0;M;kMZcgzhIc5S-;z>TlXMB`NbkJP%P-_&s z28J>Om&xZLgno{_1AiosDs=oT`3-rk-)HRO>joy}f$du!l0f6*T(rJ89v2Y5vk*PW zVURKRdAeM&G$9EN0jh4QhlIDc_(Iy`nzYYlLOLikVJ_22Ph~9b)i_iD;4LJRzkbH>$ zg(QNO@K@3P8NczDp{4b`hL-FZpD%^&1)h9}|E(l~mhe8b=Ome}K}+L5LAykj*-sPr zmuTC7+Y>llRz3w@l)z=+cTSMm+ywr8;8nn1N#JwIP>F};TW|xu3^>(MMc|`l-Kr;jIpHOcIkXbC@vmTs36cQpQe;E!T{x)~7tZ@}sQ zC*pL04FVqlPB)whpbrCI4*Snc@Q(ubrOK>7F`tC?3DBn{==5vLJTq?Y;3N4{fxiGc z#VO&_fqT)c{`({#z3Kj{&DEcG5l@fzuT+Y40a#JoG6^@c$h6_?u*w zmze(r;B;qC&i5+tv+yUy8?D#4%j1&v^27QVkvv#yZKa6%Bel(k(;6DNUKcF9e z)-&kW*DmqW)D^5_Au7yK$Dp#qd#$J5S?6D8wCHgLJ!`4hW${|4A>gf7i4Enb*X0A? z52+0y)#<565$tg%`khrSlvW`X6>&AI_WN?}_F4BB^=`uk^u!C_IDoSb08Sbd3IHB+ zd)Ea#b%31CV6Bfm?g{vF9S%E-pP=Z+(P|v?3D8*;^7`D)Dz6%h&r0+}ryB5h41Omn z5pcxe019P;KaSEV@Af!x`c?UT@vg)S&MI6j9(5Y$9!Xsrw^MbX`tDiD*$sq_%S1g) zihJvDLvR`fX3n~*cwvt9cu+2|xCPly>l&PO$x9Op`V3W_&cyQLYJ6Q$k@cN5-g>t) zehXnR)>^eTz6!Et!-k{+m^Z+xebrv~dQ2HYndkQ2ZH!OWOK`7oEg~|kP2_b6t>Q*z zjV>sfSOEO%#04pka9YwpV8Fa^-ZfRo<8`=5QACgusDPLoSEsm=LASBOc-Wv)OFDyW h>b!2D@ew2|!5Z|`yOSm*&@gLa32|i%7bGHx{Vx_YmNozY literal 0 HcmV?d00001 diff --git a/tool/run/load/tftp b/tool/run/load/tftp index dfe224814a..2fb54cf264 100644 --- a/tool/run/load/tftp +++ b/tool/run/load/tftp @@ -38,6 +38,8 @@ proc install_pxe_bootloader_to_run_dir { } { exec chmod a+r [run_dir]/boot/pulsar exec cp [genode_dir]/tool/boot/bender [run_dir]/boot/bender exec chmod a+r [run_dir]/boot/bender + exec cp [genode_dir]/tool/boot/unzip [run_dir]/boot/unzip + exec chmod a+r [run_dir]/boot/unzip }