<div style="font-family:Calibri, Arial, Helvetica, sans-serif; font-size:12.0pt; line-height:1.3; color:#1F497D"><div>I've heard some say that crosscompiling is a big win<br></div><div><br></div><div id="signature-x" style="-webkit-user-select:none; font-family:Calibri, Arial, Helvetica, sans-serif; font-size:12.0pt; color:#1F497D" class = "signature_editor">Sent from <a href="http://www.9folders.com/" style="text-decoration:none;color:#009BDF">Nine</a><br></div></div><div class="quoted_output_body"><div id="quoted_header" class="quoted_header_editor" style="clear:both;"><hr style="border:none; height:1px; color:#E1E1E1; background-color:#E1E1E1;"/><div style="border:none; padding:3.0pt 0cm 0cm 0cm"><span style="font-size:11.0pt;font-family:Calibri, Arial, Helvetica, sans-serif"><b>From:</b> Gordan Bobic <gordan@redsleeve.org><br><b>Sent:</b> Dec 23, 2016 10:38 AM<br><b>To:</b> Conversations around CentOS on ARM hardware<br><b>Subject:</b> Re: [Arm-dev] How to chroot from x86 to arm?<br></span></div></div><br type='attribution'><div id="quoted_body" class="quoted_body_editor"><div dir="ltr">Userspace emulation won't be meaningfully faster. There is no real alternative to getting a faster ARM machine.<div><br /></div><div>On
 the cheaper end, an decently specced 8 core (4+4) can be had for under 
$200. Samsung Chromebook 2 is more expensive but I find it more 
convenient.</div><div><br /></div><div>On the higher
 end, a Gigabyte MP30-AR0/AR1 is a monster and it takes standard DDR3 
DIMMs, but it is quite expensive. I got one specifically for compiling 
packages. If you decide to go down that route, if you rebuild the kernel
 with the more reasonable 4KB page size, you can run a 32-bit chroot or 
docker container on an aarch64 host (that is the setup I use). I filled 
mine up with 128GB of RAM, so even bloadware like LibreOffice and web 
browsers can compile entirely on tmpfs, which helps significantly.</div><div><br /></div></div><div><br /><div class="elided-text">On Fri, Dec 23, 2016 at 6:18 PM, Stephen John Smoogen <span dir="ltr"><<a href="mailto:smooge@gmail.com">smooge@gmail.com</a>></span> wrote:<br /><blockquote class="gmail_quote" style="margin:0 0 0 0.8ex;border-left:1px #ccc solid;padding-left:1ex">On 23 December 2016 at 02:35, mo.ucina <<a href="mailto:mo.ucina@gmail.com">mo.ucina@gmail.com</a>> wrote:<br />
> Hello Guys,<br />
><br />
> I have been doing centos package compiling on arm hardware for a while now ,<br />
> and it has been going OK . One drawback is that some bigger packages would<br />
> run for 10hrs to compile . I would like to speed up that process , and<br />
> compile on a much more powerful machine . I tried cross-compiling but ended<br />
> up with issues when the arm package got contaminated with i386 libraries no<br />
> matter what I tired .<br />
><br />
> I also tried qemu VM running on my core2duo 4 core desktop machine . This<br />
> worked OK as packages were perfect , but it was slower to compile than using<br />
> arm hardware . Same package that took 10 hrs on arm hw , compiled for 3 and<br />
> a half days on the desktop .<br />
><br />
> My question is if I used a chroot approach to run the emulation will this be<br />
> quicker than a qemu VM . If so can anyone please share their instructions on<br />
> how to configure a chroot to run a centos 7 arm image on a x86 desktop.<br />
<br />
I am probably misunderstanding what you are wanting.. but my initial<br />
thought is that you can't.<br />
<br />
The ARM uses a completely different computer architecture to x86_64.<br />
This means that you can't just chroot into an arm environment because<br />
the underlying processor (x86_64) isn't changing. It is still going to<br />
try and interpret machine code 32 to be one thing even if on an ARM<br />
that meant something completely different. [Also the fact that even if<br />
machine code 32 was the same the ARM has different number of registers<br />
and other internals than an x86]<br />
<br />
You are running into the same problems we have had with ARM<br />
development over the last N years. The only solutions are<br />
<br />
a) Patience with the slow hardware you have.<br />
b) Get more hardware but still have patience<br />
c) Get large scale server hardware and have patience.<br />
<br />
The emulation problem you are running into is pretty much standard<br />
because of the translation of a RISC architecture on a CISC<br />
architecture. The most off the shelf ARM systems are equivalent to a<br />
P400 MHZ from the early 2000's in some ways but also faster in others.<br />
[Trying to use a P400 to compile say texlive is a multi day event<br />
while on an arm system it might be only 10-20 hours.]  You have a<br />
slightly better emulation result if you have an 64 bit arm 'emulate' a<br />
32 bit arm but that is hardware dependent and still requires patience.<br />
<br />
<br />
<br />
><br />
> Best Regards<br />
><br />
> Milorad<br />
><br />
> ______________________________<wbr />_________________<br />
> Arm-dev mailing list<br />
> <a href="mailto:Arm-dev@centos.org">Arm-dev@centos.org</a><br />
> <a href="https://lists.centos.org/mailman/listinfo/arm-dev">https://lists.centos.org/<wbr />mailman/listinfo/arm-dev</a><br />
<span class="HOEnZb"><font color="#888888"><br />
<br />
<br />
--<br />
Stephen J Smoogen.<br />
______________________________<wbr />_________________<br />
Arm-dev mailing list<br />
<a href="mailto:Arm-dev@centos.org">Arm-dev@centos.org</a><br />
<a href="https://lists.centos.org/mailman/listinfo/arm-dev">https://lists.centos.org/<wbr />mailman/listinfo/arm-dev</a><br />
</font></span></blockquote></div><br /></div>
</div></div></div>