<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>That's awesome, thanks. Feel free to submit a pull request.</p>
<p>David<br>
</p>
<div class="moz-cite-prefix">On 16/4/21 8:20 pm,
<a class="moz-txt-link-abbreviated" href="mailto:sebastian.scherbel@fau.de">sebastian.scherbel@fau.de</a> wrote:<br>
</div>
<blockquote type="cite"
cite="mid:954917153.4711042.1618597243209@mail.yahoo.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div class="ydp3b64b5e7yahoo-style-wrap" style="font-family:
Helvetica Neue, Helvetica, Arial, sans-serif; font-size: 13px;">
<div dir="ltr" data-setdir="false">Hi, <br>
</div>
<div dir="ltr" data-setdir="false"><br>
</div>
<div dir="ltr" data-setdir="false">the problem is in <span>update_memory_map_and_exit_boot_services().
<span>The UEFI specification advises "<span>If MapKey value
is incorrect, ExitBootServices() returns
EFI_INVALID_PARAMETER and GetMemoryMap() with
ExitBootServices() must be called again."</span></span></span></div>
<div dir="ltr" data-setdir="false"><br>
</div>
<div dir="ltr" data-setdir="false"><span>Attached is a patch in
case anyone wants to use Hagfish on a similar system like
the HPE Apollo 70 with <span><span>American Megatrends </span></span><span>Aptio
V UEFI</span> in the future.</span><br>
</div>
<div dir="ltr" data-setdir="false"><br>
<span><span><span></span></span></span><span></span></div>
<div dir="ltr" data-setdir="false">Regards Sebastian</div>
<div dir="ltr" data-setdir="false"><br>
</div>
<div dir="ltr" data-setdir="false">[0] <a
href="https://uefi.org/sites/default/files/resources/UEFI_Spec_2_9_2021_03_18.pdf"
rel="nofollow" target="_blank" moz-do-not-send="true">https://uefi.org/sites/default/files/resources/UEFI_Spec_2_9_2021_03_18.pdf</a>
(page 300)<br>
</div>
<div dir="ltr" data-setdir="false">[1] <a
href="https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202455"
rel="nofollow" target="_blank" moz-do-not-send="true">https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202455</a>
<br>
</div>
<div dir="ltr" data-setdir="false"><br>
</div>
</div>
<div id="yahoo_quoted_9032934762" class="yahoo_quoted">
<div style="font-family:'Helvetica Neue', Helvetica, Arial,
sans-serif;font-size:13px;color:#26282a;">
<div> Am Donnerstag, 15. April 2021, 19:28:15 MESZ hat David
Cock <a class="moz-txt-link-rfc2396E" href="mailto:david.cock@inf.ethz.ch"><david.cock@inf.ethz.ch></a> Folgendes geschrieben: </div>
<div><br>
</div>
<div><br>
</div>
<div>
<div id="yiv9539956646">
<div>
<p>I don't see anything that should cause a problem if
you increase the value. Did you do a clean build
after changing it? I don't quite trust the UEFI build
system. What size did you set it to?</p>
<p>David<br>
</p>
<div class="yiv9539956646moz-cite-prefix">On 15/4/21
7:20 pm, David Cock wrote:<br>
</div>
<blockquote type="cite">
<p>That's a bit odd. It ought to be as simple as
increasing the size of the table - I don't think
there's anything fundamental about it. I'm pretty
sure I just wanted to avoid dynamic allocation at
that point in the code. Let me have a look at it.</p>
<p>David<br>
</p>
<div class="yiv9539956646moz-cite-prefix">On 15/4/21
6:08 pm, <a rel="nofollow noopener noreferrer"
class="yiv9539956646moz-txt-link-abbreviated"
ymailto="mailto:sebastian.scherbel@fau.de"
target="_blank"
href="mailto:sebastian.scherbel@fau.de"
moz-do-not-send="true">sebastian.scherbel@fau.de</a>
wrote:<br>
</div>
<blockquote type="cite">
<div
class="yiv9539956646ydpf69b7d93yahoo-style-wrap"
style="font-family:Helvetica Neue, Helvetica,
Arial, sans-serif;font-size:13px;">
<div dir="ltr">Hi, <br>
</div>
<div><br>
</div>
<div dir="ltr">><span>The memory map is <span>17952B</span>,
but MEM_MAP_SIZE is 8192.</span></div>
<div dir="ltr">> <span>This is compile-time
limit in Hagfish - please report <span>this
overflow, it's a bug.</span></span></div>
<div dir="ltr"><br>
</div>
<div dir="ltr">
<div dir="ltr"><span>I have stumbled across a
limitation in Hagfish. 8192B is not enough
on a HPE Apollo 70 with 256 cores and 256 GB
RAM and 374 entries of 48B each. <span><span>I
tried to just increase the value, but
now I crash somewhere between exiting
the UEFI boot services and jumping to my
ELFs entrypoint. <span>Without any
output.</span><br>
</span></span></span></div>
<div dir="ltr"><br>
</div>
<div dir="ltr">
<div dir="ltr"><span>Do you happen to have an
educated guess what the problem could
possibly be? <span>I don't have a
hardware debugger, unfortunately, which
makes it somewhat challenging. And
limits me to printk debugging.<br>
</span></span></div>
<div dir="ltr"><br>
<span><span></span></span><span><span><span></span></span></span><span><span></span></span></div>
</div>
</div>
<div dir="ltr">
<div>>We'd be happy to integrate a patch if
you wanted to modify it.</div>
<div dir="ltr"> <span>I'll do that after i have
finished my project.</span><br>
</div>
<div><br>
</div>
<div dir="ltr">Regards Sebastian<br>
</div>
</div>
<div dir="ltr"><br>
</div>
<div><br>
</div>
</div>
<div id="yiv9539956646yahoo_quoted_8716136585"
class="yiv9539956646yahoo_quoted">
<div style="font-family:'Helvetica Neue',
Helvetica, Arial,
sans-serif;font-size:13px;color:#26282a;">
<div> Am Freitag, 12. März 2021, 12:08:39 MEZ
hat David Cock <a rel="nofollow noopener
noreferrer"
class="yiv9539956646moz-txt-link-rfc2396E"
ymailto="mailto:david.cock@inf.ethz.ch"
target="_blank"
href="mailto:david.cock@inf.ethz.ch"
moz-do-not-send="true"><david.cock@inf.ethz.ch></a>
Folgendes geschrieben: </div>
<div><br>
</div>
<div><br>
</div>
<div>
<div id="yiv9539956646">
<div>
<p>Sebastian</p>
<p>It looks like what's going on is as
Daniel described. Hagfish seems to use
an API call (get_file_size) that's
supported by EDK2, but not by many
commercial offerings. I think it'd
almost certainly be possible to update
Hagfish such that it doesn't depend on
it - something like preallocating a
"reasonably-sized" buffer, and if it
turns out it wasn't big enough trying
again with a larger one. It's been a
few years since I wrote this stuff, but
I think you'll get back an
EFI_BUFFER_TOO_SMALL if it was too
small, and *BufferSize will be filled
with the actual size so that you can
reallocate the buffer. We'd be happy to
integrate a patch if you wanted to
modify it.</p>
<p>David<br clear="none">
</p>
<div class="yiv9539956646yqt7245431320"
id="yiv9539956646yqt49098">
<div
class="yiv9539956646moz-cite-prefix">On
11/3/21 2:19 pm, Schwyn Daniel wrote:<br
clear="none">
</div>
<blockquote type="cite"> </blockquote>
</div>
</div>
<div class="yiv9539956646yqt7245431320"
id="yiv9539956646yqt68157">
<style>#yiv9539956646 filtered {}#yiv9539956646 filtered {}#yiv9539956646 filtered {}#yiv9539956646 filtered {}#yiv9539956646 p.yiv9539956646MsoNormal, #yiv9539956646 li.yiv9539956646MsoNormal, #yiv9539956646 div.yiv9539956646MsoNormal
{margin:0cm;font-size:11.0pt;font-family:sans-serif;}#yiv9539956646 a:link, #yiv9539956646 span.yiv9539956646MsoHyperlink
{color:blue;text-decoration:underline;}#yiv9539956646 p.yiv9539956646msonormal, #yiv9539956646 li.yiv9539956646msonormal, #yiv9539956646 div.yiv9539956646msonormal
{margin-right:0cm;margin-left:0cm;font-size:11.0pt;font-family:sans-serif;}#yiv9539956646 p.yiv9539956646msonormal1, #yiv9539956646 li.yiv9539956646msonormal1, #yiv9539956646 div.yiv9539956646msonormal1
{margin:0cm;font-size:11.0pt;font-family:sans-serif;}#yiv9539956646 span.yiv9539956646E-MailFormatvorlage33
{font-family:sans-serif;color:windowtext;}#yiv9539956646 .yiv9539956646MsoChpDefault
{font-size:10.0pt;}#yiv9539956646 div.yiv9539956646WordSection1
{}</style>
<div>
<div class="yiv9539956646WordSection1">
<p class="yiv9539956646MsoNormal"><span
style="">Hi Sebastian,</span></p>
<p class="yiv9539956646MsoNormal"><span
style=""> </span></p>
<p class="yiv9539956646MsoNormal"><span
style="" lang="EN-US">David and I
are both part of the Barrelfish
core team at ETH so our setup is
the same</span><span
style="font-family:UI sans-serif;"
lang="EN-US">😉</span><span
style="" lang="EN-US"> We do load
Hagfish over PXE but as far as I
know always directly with the PXE
implementation in EDK2. Hagfish is
theoretically designed to be
flexible and cover as many EFI
based boot environments as
possible. In practice it’s only
tested on the machines we have.
Those are EDK2 based and the PXE
implementation in there supports
the two MTFTP opcodes we use. It
should be possible to either
implement support in iPXE or make
Hagfish not use the get_file_size
e.g. by allocating a large enough
buffer and make sure the read_file
doesn’t overflow it.</span></p>
<p class="yiv9539956646MsoNormal"><span
style="" lang="EN-US"> </span></p>
<p class="yiv9539956646MsoNormal"><span
style="" lang="EN-US">Regards,</span></p>
<p class="yiv9539956646MsoNormal"><span
style="" lang="EN-US">Daniel</span></p>
<p class="yiv9539956646MsoNormal"><span
style="" lang="EN-US"> </span></p>
<div>
<div
style="border:none;border-top:solid
#E1E1E1 1.0pt;padding:3.0pt 0cm
0cm 0cm;">
<p class="yiv9539956646MsoNormal"><b><span
lang="DE">Von:</span></b><span
lang="DE"> <a rel="nofollow
noopener noreferrer"
shape="rect"
class="yiv9539956646moz-txt-link-abbreviated"
ymailto="mailto:sebastian.scherbel@fau.de" target="_blank"
href="mailto:sebastian.scherbel@fau.de"
moz-do-not-send="true">sebastian.scherbel@fau.de</a>
<a rel="nofollow noopener
noreferrer" shape="rect"
class="yiv9539956646moz-txt-link-rfc2396E"
ymailto="mailto:sebastian.scherbel@fau.de" target="_blank"
href="mailto:sebastian.scherbel@fau.de"
moz-do-not-send="true"><sebastian.scherbel@fau.de></a>
<br clear="none">
<b>Gesendet:</b> Mittwoch, 10.
März 2021 16:38<br
clear="none">
<b>An:</b> Schwyn Daniel <a
rel="nofollow noopener
noreferrer" shape="rect"
class="yiv9539956646moz-txt-link-rfc2396E"
ymailto="mailto:daniel.schwyn@inf.ethz.ch" target="_blank"
href="mailto:daniel.schwyn@inf.ethz.ch"
moz-do-not-send="true"><daniel.schwyn@inf.ethz.ch></a><br
clear="none">
<b>Cc:</b> <a rel="nofollow
noopener noreferrer"
shape="rect"
class="yiv9539956646moz-txt-link-abbreviated"
ymailto="mailto:barrelfish-users@lists.inf.ethz.ch" target="_blank"
href="mailto:barrelfish-users@lists.inf.ethz.ch"
moz-do-not-send="true">barrelfish-users@lists.inf.ethz.ch</a><br
clear="none">
<b>Betreff:</b> Re: AW:
[Barrelfish-users]
[Barrelfish] Hagfish kernel
image structure and latest
version</span></p>
</div>
</div>
<p class="yiv9539956646MsoNormal"> </p>
<div>
<div
id="yiv9539956646ydp299dcbf2yiv8742540900">
<div>
<div>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;">Hi Daniel,</span></p>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;">thank you for your
reply. That's what I
already suspected.</span></p>
</div>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;">I'm waiting to hear
back from David about
his setup. He seemed
quite sure that
chainloading works, so
I was a bit surprised
that neither iPXE nor
Grub did work for me
on EDK2. </span></p>
</div>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;">Otherwise, I'll fix
iPXE myself. </span></p>
</div>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;">Regards Sebastian</span></p>
</div>
</div>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div
id="yiv9539956646ydp299dcbf2yiv8742540900yahoo_quoted_5616699740">
<div>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">Am
Mittwoch, 10. März
2021, 10:59:48 MEZ
hat Schwyn Daniel
<<a rel="nofollow
noopener
noreferrer"
shape="rect"
ymailto="mailto:daniel.schwyn@inf.ethz.ch"
target="_blank"
href="mailto:daniel.schwyn@inf.ethz.ch"
moz-do-not-send="true">daniel.schwyn@inf.ethz.ch</a>> Folgendes
geschrieben: </span></p>
</div>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;"> </span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="yiv9539956646yqt62089">
<div>
<div id="yiv9539956646">
<div>
<div>
<p
class="yiv9539956646msonormal">Hi
Sebastian,</p>
<p
class="yiv9539956646msonormal"> </p>
<p
class="yiv9539956646msonormal"><span
lang="EN-US">I have seen
this error before with
iPXE when I tried
chainloading Hagfish
with iPXE on top of
U-Boot with EFI support.
U-Boot’s EFI support is
rather minimalistic so
I’m not sure the cause
was the same in my case.
Looking at the iPXE
source code though it
looks to me as if it
only supports the
EFI_PXE_BASE_CODE_MTFTP_READ_FILE
opcode while Hagfish
also needs the
EFI_PXE_BASE_CODE_MTFTP_GET_FILE_SIZE operation to allocate
appropriately sized
buffers for the files it
wants to load.</span></p>
<p
class="yiv9539956646msonormal"><span
lang="EN-US"> </span></p>
<p
class="yiv9539956646msonormal"><span
lang="EN-US">Regards,</span></p>
<p
class="yiv9539956646msonormal"><span
lang="EN-US">Daniel</span></p>
<p
class="yiv9539956646msonormal"><span
lang="EN-US"> </span></p>
<div
id="yiv9539956646yqt96683">
<div>
<div
style="border:none;border-top:solid
#E1E1E1
1.0pt;padding:3.0pt
0cm 0cm 0cm;">
<p
class="yiv9539956646msonormal"><b><span
lang="DE">Von:</span></b><span
lang="DE">
Barrelfish-users
<<a
rel="nofollow
noopener
noreferrer"
shape="rect"
ymailto="mailto:barrelfish-users-bounces@lists.inf.ethz.ch"
target="_blank"
href="mailto:barrelfish-users-bounces@lists.inf.ethz.ch"
moz-do-not-send="true">barrelfish-users-bounces@lists.inf.ethz.ch</a>>
<b>Im Auftrag von
</b><a
rel="nofollow
noopener
noreferrer"
shape="rect"
ymailto="mailto:sebastian.scherbel@fau.de"
target="_blank"
href="mailto:sebastian.scherbel@fau.de" moz-do-not-send="true">sebastian.scherbel@fau.de</a><br
clear="none">
<b>Gesendet:</b>
Dienstag, 2. März
2021 22:56<br
clear="none">
<b>An:</b> Cock
David <<a
rel="nofollow
noopener
noreferrer"
shape="rect"
ymailto="mailto:david.cock@inf.ethz.ch"
target="_blank"
href="mailto:david.cock@inf.ethz.ch" moz-do-not-send="true">david.cock@inf.ethz.ch</a>><br
clear="none">
<b>Cc:</b> <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" moz-do-not-send="true">barrelfish-users@lists.inf.ethz.ch</a><br
clear="none">
<b>Betreff:</b>
Re:
[Barrelfish-users]
[Barrelfish]
Hagfish kernel
image structure
and latest version</span></p>
</div>
</div>
<p
class="yiv9539956646msonormal"> </p>
<div>
<div>
<div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">Hello,</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">>Hagfish definitely
supports
chainloading
over PXE -
that's exactly
what it was
designed for.</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">Which bootloaders have
you tested?
What does your
setup look
like?</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">I have tried:</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">EDK2 -> iPXE ->
Hagfish</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><i><span
style="font-size:10.0pt;font-family:sans-serif;">iPXE> chain
tftp://x.x.x.x/Hagfish_ETHZ.efi</span></i></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><i><span
style="font-size:10.0pt;font-family:sans-serif;">...<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></span></i></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">EDK2 -> Grub2 ->
Hagfish</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><i><span
style="font-size:10.0pt;font-family:sans-serif;">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></span></i></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">> The error there
seems to be
the UEFI
implementation
not supporting
TFTP - did you
compile it in?</span></p>
</div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">When I load Hagfish
directly,
everything works
fine. On
American
Megatrends Aptio
V and EDK2.</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">Regards Sebastian</span></p>
</div>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">Am
Donnerstag, 28.
Januar 2021,
16:36:02 MEZ hat
David Cock <<a
rel="nofollow
noopener
noreferrer"
shape="rect"
ymailto="mailto:david.cock@inf.ethz.ch"
target="_blank"
href="mailto:david.cock@inf.ethz.ch"
moz-do-not-send="true">david.cock@inf.ethz.ch</a>> Folgendes
geschrieben: </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;"> </span></p>
</div>
<div id="yiv9539956646">
<div>
<p><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">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.</span></p>
<p><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">The
error there seems
to be the UEFI
implementation not
supporting TFTP -
did you compile it
in?</span></p>
<p><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">David</span></p>
<div
id="yiv9539956646yqtfd48517">
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">On 28/1/21 3:53 pm, <a
rel="nofollow
noopener
noreferrer"
shape="rect"
ymailto="mailto:sebastian.scherbel@fau.de"
target="_blank" href="mailto:sebastian.scherbel@fau.de"
moz-do-not-send="true">sebastian.scherbel@fau.de</a>
wrote:</span></p>
</div>
</div>
</div>
<div
id="yiv9539956646yqtfd10124">
<div>
<div>
<div>
<div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">Hello,</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">sounds good. I have tried to
chainload
Hagfish after
iPXE. However,
loading of the
cfg fails on
QEMU and on
the real
hardware with
the same
error.</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<div>
<p
class="yiv9539956646msonormal1"><i><span
style="font-size:10.0pt;color:#26282A;">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, </b></span></i></p>
<div>
<p
class="yiv9539956646msonormal1"><b><i><span
style="font-size:10.0pt;color:#26282A;">file size: Unsupported</span></i></b></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">Is this a known bug? Is
chainloading
unsupported?
Your setup is
directly
booting into
Hagfish?</span></p>
</div>
</div>
</div>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">Regards Sebastian </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
</div>
</div>
<div
id="yiv9539956646yahoo_quoted_2497327118">
<div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">Am Donnerstag, 28. Januar 2021,
14:03:36 MEZ
hat David Cock
<a
rel="nofollow
noopener
noreferrer"
shape="rect"
ymailto="mailto:david.cock@inf.ethz.ch"
target="_blank" href="mailto:david.cock@inf.ethz.ch"
moz-do-not-send="true"><david.cock@inf.ethz.ch></a>
Folgendes
geschrieben: </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<div
id="yiv9539956646">
<div>
<p><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">Sebastian,</span></p>
<p><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">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.</span></p>
<p><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">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.</span></p>
<p><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">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.</span></p>
<p><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">David</span></p>
<div
id="yiv9539956646yqt90781">
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">On 27/1/21 5:41 pm, <a
rel="nofollow
noopener
noreferrer"
shape="rect"
ymailto="mailto:sebastian.scherbel@fau.de"
target="_blank" href="mailto:sebastian.scherbel@fau.de"
moz-do-not-send="true">sebastian.scherbel@fau.de</a>
wrote:</span></p>
</div>
</div>
</div>
<div
id="yiv9539956646yqt19324">
<div>
<div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">Hello,</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">I'm a CS student trying to port
an research
operating
system from
x86_64 to
ARMv8 and
stumbled
across
Hagfish.</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">Hagfish should basically be able
to load any
ELF with its
sections into
memory with
minor
modifications?
Or is there
certain
requirement
for the kernel
image
structure that
I didn't
notice while
reading your
publication
[1] and
skimming the
source code?</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">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></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">Regards Sebastian</span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">[0] <a rel="nofollow noopener
noreferrer"
shape="rect"
target="_blank"
href="https://lists.inf.ethz.ch/pipermail/barrelfish-users/2020-March/001597.html"
moz-do-not-send="true">
https://lists.inf.ethz.ch/pipermail/barrelfish-users/2020-March/001597.html</a></span></p>
</div>
<div>
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">[1] <a rel="nofollow noopener
noreferrer"
shape="rect"
target="_blank"
href="http://www.barrelfish.org/publications/TN-022-ARMv8.pdf"
moz-do-not-send="true">
http://www.barrelfish.org/publications/TN-022-ARMv8.pdf</a></span></p>
</div>
</div>
<p
class="yiv9539956646msonormal1"
style="margin-bottom:12.0pt;"> </p>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;color:#26282A;">_______________________________________________</span><span
style="font-size:10.0pt;"></span></p>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;color:#26282A;">Barrelfish-users mailing list</span><span
style="font-size:10.0pt;"></span></p>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;color:#26282A;"><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"
moz-do-not-send="true">Barrelfish-users@lists.inf.ethz.ch</a></span><span
style="font-size:10.0pt;"></span></p>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;color:#26282A;"><a rel="nofollow noopener
noreferrer"
shape="rect"
target="_blank"
href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users"
moz-do-not-send="true">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a></span><span
style="font-size:10.0pt;"></span></p>
</div>
</div>
</div>
<div
id="yiv9539956646yqt99156">
<p
class="yiv9539956646msonormal1"><span
style="font-size:10.0pt;color:#26282A;">_______________________________________________<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"
moz-do-not-send="true">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"
moz-do-not-send="true">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a></span></p>
</div>
</div>
</div>
</div>
<p
class="yiv9539956646msonormal1"
style="margin-bottom:12.0pt;"> </p>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;color:#26282A;">_______________________________________________</span><span
style="font-size:10.0pt;"></span></p>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;color:#26282A;">Barrelfish-users mailing list</span><span
style="font-size:10.0pt;"></span></p>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;color:#26282A;"><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"
moz-do-not-send="true">Barrelfish-users@lists.inf.ethz.ch</a></span><span
style="font-size:10.0pt;"></span></p>
<p
class="yiv9539956646MsoNormal"><span
style="font-size:10.0pt;color:#26282A;"><a rel="nofollow noopener
noreferrer"
shape="rect"
target="_blank"
href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users"
moz-do-not-send="true">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a></span><span
style="font-size:10.0pt;"></span></p>
</div>
</div>
</div>
<p
class="yiv9539956646msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">_______________________________________________<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"
moz-do-not-send="true">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"
moz-do-not-send="true">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br clear="none">
<fieldset
class="yiv9539956646mimeAttachmentHeader"></fieldset>
<pre class="yiv9539956646moz-quote-pre">_______________________________________________
Barrelfish-users mailing list
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv9539956646moz-txt-link-abbreviated" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch" moz-do-not-send="true">Barrelfish-users@lists.inf.ethz.ch</a>
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv9539956646moz-txt-link-freetext" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" moz-do-not-send="true">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<fieldset class="yiv9539956646mimeAttachmentHeader"></fieldset>
<pre class="yiv9539956646moz-quote-pre">_______________________________________________
Barrelfish-users mailing list
<a rel="nofollow noopener noreferrer" class="yiv9539956646moz-txt-link-abbreviated" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch" moz-do-not-send="true">Barrelfish-users@lists.inf.ethz.ch</a>
<a rel="nofollow noopener noreferrer" class="yiv9539956646moz-txt-link-freetext" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" moz-do-not-send="true">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
</blockquote>
<br>
<fieldset class="yiv9539956646mimeAttachmentHeader"></fieldset>
<pre class="yiv9539956646moz-quote-pre">_______________________________________________
Barrelfish-users mailing list
<a rel="nofollow noopener noreferrer" class="yiv9539956646moz-txt-link-abbreviated" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch" moz-do-not-send="true">Barrelfish-users@lists.inf.ethz.ch</a>
<a rel="nofollow noopener noreferrer" class="yiv9539956646moz-txt-link-freetext" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" moz-do-not-send="true">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
</blockquote>
</div>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Barrelfish-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a>
<a class="moz-txt-link-freetext" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
</blockquote>
</body>
</html>