<html><head></head><body><div class="ydp2db9a271yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div></div>
<div dir="ltr" data-setdir="false"><div><div dir="ltr">Hello,</div><div dir="ltr"><br clear="none"></div><div dir="ltr"><span>>Hagfish definitely
supports chainloading over PXE - that's exactly what it was
designed for.</span></div><div dir="ltr"><span><span>Which bootloaders have you tested? <span>What does your setup look like?</span></span></span><br clear="none"></div><div><br clear="none"></div><div dir="ltr">I have tried:</div><div dir="ltr"><br clear="none"></div><div dir="ltr">EDK2 -> iPXE -> Hagfish</div><div dir="ltr"><br clear="none"></div><div dir="ltr"> <i><span>iPXE> chain tftp://x.x.x.x/Hagfish_ETHZ.efi</span></i></div><div><i><span>...</span><br clear="none">Hagfish UEFI loader starting<br clear="none">UEFI vendor: EDK II<br clear="none">Hagfish loaded at 402D9000, size 147456B, by handle 41839B98<br clear="none">Could not connect to shell or not enough parameters, assuming PXE boot.<br clear="none">Connecting to the PXE service that loaded me.<br clear="none">PXE loader at 403ED660, revision 10000, running<br clear="none">Loading "hagfish.cfg.10.0.0.10"<br clear="none"><b>Mtftp: Unsupported, <br clear="none">file size: Unsupported</b></i></div><div><br clear="none"></div><div dir="ltr"><br clear="none"></div><div dir="ltr">EDK2 -> Grub2 -> Hagfish</div><div dir="ltr"><br clear="none"></div> <div><i>grub> boot<br clear="none">Status: 0x0000000E<br clear="none">Failed to initialize ShellLib, aborting.<br clear="none">Hagfish UEFI loader starting<br clear="none">UEFI vendor: EDK II<br clear="none">Hagfish loaded at 402DA000, size 147456B, by handle 41862A18<br clear="none">Could not connect to shell or not enough parameters, assuming PXE boot.<br clear="none">Connecting to the PXE service that loaded me.<br clear="none"><b>OpenProtocol: Unsupported<br clear="none">Failed to initialize loader: Load Error</b></i></div><div dir="ltr"><br clear="none"></div><div dir="ltr">> The error there seems to be the UEFI implementation not
supporting TFTP - did you compile it in?</div><span>When I load Hagfish directly, everything works fine. On American Megatrends<span> Aptio V </span></span><span>and EDK2.</span></div><div><br></div></div><div dir="ltr" data-setdir="false">Regards Sebastian<br></div>
</div><div id="yahoo_quoted_5705071370" class="yahoo_quoted">
<div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
<div>
Am Donnerstag, 28. Januar 2021, 16:36:02 MEZ hat David Cock <david.cock@inf.ethz.ch> Folgendes geschrieben:
</div>
<div><br></div>
<div><br></div>
<div><div id="yiv7443900970"><div>
<p>What you're seeing there is Hagfish trying to load its
configuration file over TFTP as it's figured out that it was
itself loaded over PXE. The README might be inconsistent wrt
filenames - if in doubt, trust the code. Hagfish definitely
supports chainloading over PXE - that's exactly what it was
designed for.<br clear="none">
</p>
<p>The error there seems to be the UEFI implementation not
supporting TFTP - did you compile it in?</p>
<p>David<br clear="none">
</p>
<div class="yiv7443900970yqt7243279203" id="yiv7443900970yqtfd48517"><div class="yiv7443900970moz-cite-prefix">On 28/1/21 3:53 pm,
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv7443900970moz-txt-link-abbreviated" ymailto="mailto:sebastian.scherbel@fau.de" target="_blank" href="mailto:sebastian.scherbel@fau.de">sebastian.scherbel@fau.de</a> wrote:<br clear="none">
</div>
<blockquote type="cite">
</blockquote></div></div><div class="yiv7443900970yqt7243279203" id="yiv7443900970yqtfd10124"><div><div class="yiv7443900970ydp2ddda0a7yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;">
<div dir="ltr">
<div>
<div dir="ltr">Hello,</div>
<div dir="ltr"><br clear="none">
</div>
<div dir="ltr">sounds good. I have tried to chainload
Hagfish after iPXE. <span>However, loading of the cfg
fails on QEMU and on the real hardware with the same
error.<br clear="none">
</span></div>
<div dir="ltr"><i><span><br clear="none">
</span></i></div>
<div dir="ltr">
<div><i>Hagfish UEFI loader starting<br clear="none">
UEFI vendor: American Megatrends<br clear="none">
Hagfish loaded at F951D000, size 143360B, by handle
F6EA1D18<br clear="none">
Could not connect to shell or not enough parameters,
assuming PXE boot.<br clear="none">
Connecting to the PXE service that loaded me.<br clear="none">
PXE loader at F5EE1840, revision 10000, running<br clear="none">
Loading "hagfish.cfg.A.B.C.D"<b> (shouldn't the cfg
name be hafish.A.B.C.D.cfg according to the readme?)</b><br clear="none">
<b>Mtftp: Unsupported, <br clear="none">
</b></i>
<div><i><b>file size: Unsupported</b></i></div>
<div><b><br clear="none">
</b></div>
<div dir="ltr">
<div dir="ltr"><span>Is this a
known bug? </span>Is chainloading unsupported?
Your setup is directly booting into Hagfish?</div>
</div>
</div>
</div>
<div><br clear="none">
</div>
Regards Sebastian </div>
<div><br clear="none">
</div>
</div>
</div>
<div class="yiv7443900970yahoo_quoted" id="yiv7443900970yahoo_quoted_2497327118">
<div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
<div> Am Donnerstag, 28. Januar 2021, 14:03:36 MEZ hat David
Cock <a rel="nofollow noopener noreferrer" shape="rect" class="yiv7443900970moz-txt-link-rfc2396E" ymailto="mailto:david.cock@inf.ethz.ch" target="_blank" href="mailto:david.cock@inf.ethz.ch"><david.cock@inf.ethz.ch></a> Folgendes geschrieben: </div>
<div><br clear="none">
</div>
<div><br clear="none">
</div>
<div>
<div id="yiv7443900970">
<div>
<p>Sebastian,</p>
<p>Hagfish is a custom loader for the Barrelfish CPU
driver, which operates under a few unusual
assumptions: Mainly, the CPU driver (kernel) itself is
not self-relocating, but relies on the bootloader
(Hagfish) to do the relocation for it.</p>
<p>It would definitely be possible to modify Hagfish to
load an arbitrary ELF, however. You'd have to make a
few changes in the relocation code to not look for
Barrelfish-specific segments and so on, but there's
nothing particularly weird or non-standard about it.</p>
<p>Hagfish is pretty static, and doesn't change much
from version to version. We'll update the repository
shortly (which we should have done together with the
release). Feel free to ask more specific questions if
you decide to use it - we're happy to help.</p>
<p>David<br clear="none">
</p>
<div class="yiv7443900970yqt9704820423" id="yiv7443900970yqt90781">
<div class="yiv7443900970moz-cite-prefix">On 27/1/21
5:41 pm, <a rel="nofollow noopener noreferrer" shape="rect" class="yiv7443900970moz-txt-link-abbreviated" ymailto="mailto:sebastian.scherbel@fau.de" target="_blank" href="mailto:sebastian.scherbel@fau.de">sebastian.scherbel@fau.de</a>
wrote:<br clear="none">
</div>
<blockquote type="cite"> </blockquote>
</div>
</div>
<div class="yiv7443900970yqt9704820423" id="yiv7443900970yqt19324">
<div>
<div class="yiv7443900970yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;">
<div dir="ltr">Hello,</div>
<div dir="ltr"><br clear="none">
</div>
<div dir="ltr">I'm a CS student trying to port an
research operating system from x86_64 to ARMv8 and
stumbled across Hagfish.</div>
<div dir="ltr"><br clear="none">
</div>
<div dir="ltr"><span><span>Hagfish should basically
be able to load any ELF with its sections into
memory with minor modifications? <span>Or is
there certain requirement for the kernel
image structure that I didn't notice while</span><span>
reading your publication [1] and skimming
the source code?</span></span></span><br clear="none">
</div>
<div dir="ltr"><br clear="none">
</div>
<div dir="ltr"><span>The last commit in the public
repository is from March 2017. But in the
changelog of your last Barrelfish release from
2020 states "Update Hagfish to latest version".
Have there been any bigger changes or
improvements in the meantime?</span></div>
<div dir="ltr"><br clear="none">
</div>
<div dir="ltr">Regards Sebastian</div>
<div dir="ltr"><br clear="none">
</div>
<div dir="ltr">[0] <a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://lists.inf.ethz.ch/pipermail/barrelfish-users/2020-March/001597.html">https://lists.inf.ethz.ch/pipermail/barrelfish-users/2020-March/001597.html</a></div>
<div dir="ltr">[1] <a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="http://www.barrelfish.org/publications/TN-022-ARMv8.pdf">http://www.barrelfish.org/publications/TN-022-ARMv8.pdf</a></div>
</div>
<br clear="none">
<fieldset class="yiv7443900970mimeAttachmentHeader"></fieldset>
<pre class="yiv7443900970moz-quote-pre">_______________________________________________
Barrelfish-users mailing list
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv7443900970moz-txt-link-abbreviated" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a>
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv7443900970moz-txt-link-freetext" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
</div>
</div>
</div>
<div class="yiv7443900970yqt9704820423" id="yiv7443900970yqt99156">_______________________________________________<br clear="none">
Barrelfish-users mailing list<br clear="none">
<a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a><br clear="none">
<a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br clear="none">
</div>
</div>
</div>
</div>
<br clear="none">
<fieldset class="yiv7443900970mimeAttachmentHeader"></fieldset>
<pre class="yiv7443900970moz-quote-pre">_______________________________________________
Barrelfish-users mailing list
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv7443900970moz-txt-link-abbreviated" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a>
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv7443900970moz-txt-link-freetext" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
</div></div></div><div class="yqt7243279203" id="yqtfd99660">_______________________________________________<br clear="none">Barrelfish-users mailing list<br clear="none"><a shape="rect" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a><br clear="none"><a shape="rect" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br clear="none"></div></div>
</div>
</div></body></html>