<div dir="ltr"><span lang="ES-MX">Hello all,</span><span lang="ES-MX"></span><br><span lang="ES-MX"></span><p class="gmail-MsoNoSpacing"><span lang="ES-MX">
I am currently facing an issue to build OpenFirmware for ARM. Let’s start with
some explanations :<br>
My goal is to have a Forth interpreter running on a barebone ARM device. I’ve
tried some, like ForthOS (which runs on x86 only) and another one designed for
the Raspberry Pi which is far for being complete.<br>
So, I’ve been following two of your official tutorials :</span></p><p class="gmail-MsoNoSpacing"><span lang="ES-MX"> - <a href="https://www.openfirmware.info/Building_OFW_for_QEMU">https://www.openfirmware.info/Building_OFW_for_QEMU</a></span></p><span lang="FR"><span> - <span style="font:7pt "times new roman"">
</span></span></span><span dir="LTR"></span><span lang="ES-MX"><a href="https://www.openfirmware.info/Building_OFW_for_ARM">https://www.openfirmware.info/Building_OFW_for_ARM</a></span>

<p class="gmail-MsoNoSpacing"><span lang="ES-MX">Got to say the first one worked well,
except it is not stated that “subversion” is required, but we can easily find
it out by ourselves. At the end, I got OpenFirmware running and have been able
to type some Forth commands on the interpreter.<br>
<br>
Then, I tried to reproduce this with ARM Qemu. Fell on the second tutorial,
which is somewhat less detailed than the first one, but optionnal configuration
on the first one should also be viable for the ARM’s one.<br>
Well, my issue comes when executing the “make” command inside “openfirmware/cpu/x86/pc/emu/build”.<br>
Here is what I get :</span></p>

<br>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">jacky@debiannos:~/openfirmware/cpu/arm/mmp2/build$
make</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">./build
ofw.rom</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">---
Rebuilding sp.img</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">--- Cmd:
${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../sp.bth</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">---
Rebuilding fw.img</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">--- Cmd:
${HOSTDIR}/armforth ${BP}/cpu/arm/build/basefw.dic ../fw.bth</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">sh: 1:
/home/jacky/openfirmware/cpu/x86/Linux/armforth: not found</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">Makefile:22:
recipe for target 'ofw.rom' failed</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">make: ***
[ofw.rom] Error 1</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">jacky@debiannos:~/openfirmware/cpu/arm/mmp2/build$<br>
</span></i><span lang="ES-MX"></span></p><p class="gmail-MsoNoSpacing"><span lang="ES-MX"><br></span></p><p class="gmail-MsoNoSpacing"><span lang="ES-MX">
At first I tought it was due to script’s or environment’s variable like ${HOSTDIR}
as this was the line causing the error. It seemed those variables were
correctly replaced in the script itself, as a previous line is well executed
using this same variable. Next, I’ve been looking for openfirmware/cpu/x86/Linux/armforth
file. As the error states, this file is not present in the cpu/x86/Linux folder.
In fact, there is a file named like this, but it has an extension .qemu (the
complete file name is armforth.qemu. So I tough about a simple mistake, and
renamed it (in fact, I copied it to avoid other errors) into armforth.</span></p>

<p class="gmail-MsoNoSpacing"><span lang="ES-MX">Once renamed, I did “make clean”, and
relaunched a “make”. The previous error disappeared, the script went farther,
but still did not complete :</span></p>

<p class="gmail-MsoNoSpacing"><span lang="ES-MX"> </span></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">jacky@debiannos:~/openfirmware/cpu/arm/mmp2/build$
make</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">./build
ofw.rom</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">---
Rebuilding sp.img</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">--- Cmd:
${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../sp.bth</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">---
Rebuilding fw.img</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">--- Cmd:
${HOSTDIR}/armforth ${BP}/cpu/arm/build/basefw.dic ../fw.bth</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">${BP}/cpu/arm/mmp2/rootnode.fth:32:
io2-va ?</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">${BP}/cpu/arm/mmp2/rootnode.fth:36:
io-va ?</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">${BP}/cpu/arm/mmp2/mmuon.fth:12:
fw-mem-va ?</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">${BP}/cpu/arm/mmp2/mmuon.fth:12:
page-table-offset ?</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">${BP}/cpu/arm/mmp2/mmuon.fth:13:
page-table-va ?</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">Makefile:22:
recipe for target 'ofw.rom' failed</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">make: ***
[ofw.rom] Error 1</span></i></p>

<p class="gmail-MsoNoSpacing"><i><span style="font-size:10pt" lang="ES-MX">jacky@debiannos:~/openfirmware/cpu/arm/mmp2/build$</span></i></p>

<p class="gmail-MsoNoSpacing"><span lang="ES-MX"> </span></p>

<p class="gmail-MsoNoSpacing"><span lang="ES-MX">These errors appears to be forth-related,
as if some words were not defined. Maybe is it due to the </span><i><span style="font-size:10pt" lang="ES-MX">basefw.dic </span></i><span lang="ES-MX">dictionnary… </span><span lang="ES-MX">To be
honest, I can’t think about any other solutions. Maybe I will dig into these
forth files but I am afraid it will be a loss of time as I am a real beginner
to Forth.</span><span lang="ES-MX"></span></p><span lang="ES-MX"></span><span lang="ES-MX"></span><p class="gmail-MsoNoSpacing"><span lang="ES-MX">
Here’s what I tried :</span></p>

<p class="gmail-MsoNoSpacing" style="margin-left:21pt"><span lang="FR"><span>-<span style="font:7pt "times new roman"">         
</span></span></span><span dir="LTR"></span><span lang="ES-MX">Executing
make as root. Same issue.</span></p>

<p class="gmail-MsoNoSpacing" style="margin-left:21pt"><span lang="FR"><span>-<span style="font:7pt "times new roman"">         
</span></span></span><span dir="LTR"></span><span lang="ES-MX">Executing it
on another distro (Ubuntu 14.x). Same issue.</span></p>

<p class="gmail-MsoNoSpacing" style="margin-left:21pt"><span lang="FR"><span>-<span style="font:7pt "times new roman"">         
</span></span></span><span dir="LTR"></span><span lang="ES-MX">Tried
different Qemu versions (don’t ask me why… I tried the 4.7 one on the official
website, and the maintained one on github’s Qemu repo.</span></p>



<p class="gmail-MsoNoSpacing"><span lang="ES-MX">Forgot to mention this has been has been
tested on both a clean Ubuntu and a clean Debian VM using VMWare. Yes, I am
emulating an emulator. ;)<br></span></p><p class="gmail-MsoNoSpacing"><span lang="ES-MX">Also, I'd be glad if you have any other solutions to run a Forth interpreter on a bare-metal ARM machine, either emulated or not.<br>
Thanks in advance, for your work, for your help, and for reading this.</span></p>

<p class="gmail-MsoNoSpacing"><span lang="ES-MX">Regards,<br>
- John</span></p>

<span style="font-size:12pt;font-family:"times new roman",serif" lang="ES-MX"><br>
<br>
</span><br><br><br></div>