Building armv7 stage3 with metro

108 views
Skip to first unread message

Pavol Cupka

unread,
Sep 7, 2012, 2:08:48 PM9/7/12
to funto...@googlegroups.com
Hi folks,

I would like to ask if building a armv7 (preferably hardfloat) stage3 would be possible using metro and gentoo stage3-armv7a_hardfp as a seed and funtoo-portage tree. 
Would that work? Would it build a funtoo-stage3-armv7-hardfp stage?

Thanks in advance

Palica

Daniel Robbins

unread,
Sep 11, 2012, 3:34:28 PM9/11/12
to funto...@googlegroups.com
Jean-Francis is working on armv7a builds....
> --
> To manage your subscription, visit this group at
> http://groups.google.com/group/funtoo-dev?hl=en
> ---
> Also be sure to check out:
> Funtoo Forums: http://forums.funtoo.org
> Planet Larry: http://larrythecow.org

Pavol Cupka

unread,
Sep 11, 2012, 3:38:34 PM9/11/12
to funto...@googlegroups.com
thanks daniel.

Jean-Francis Roy

unread,
Sep 17, 2012, 3:09:14 PM9/17/12
to funto...@googlegroups.com

Hi Palica, 

Sorry for the delay of my answer!

Funtoo and Gentoo core packages differ in a way that it becomes pretty hard to use a Gentoo stage to generate a Funtoo stage3. I did it a while ago for ARM (about a year ago) but it took a huge amount of work.

Good news is : I already did it. I have a working Funtoo installation on a HP Touchpad (armv7a) and I'm able to produce stages. However, I usually run into issues, as some packages may fail to build on ARM even if they work well for x86/x86_64/sparc. It makes ARM stages building more problematic for now, as the hardware is slow and most of the time, a package fails to build during the process.

I'll try to build a recent Funtoo stage3 in the following days so you can use it as a seed for your own builds.

What hardware do you plan to install Funtoo on?


JF

--

Pavol Cupka

unread,
Sep 17, 2012, 4:11:43 PM9/17/12
to funto...@googlegroups.com

Hi JF,

thanks for your reply.

I actually tried to build it from gentoo seed, but had to do some hacking with Metro. I was not successfull, yet.

Actually I think it would be possible, but I get an error when compiling gcc - an error about mixing soft and hardfloat.

VFP registers error (stackoverflow.com/questions/9753749/arm-compilation-error-vpf-registered-used-by-executable-not-object-file) - similar error as mine

I created a bug on jira (jira.funtoo.org/browse/FL-109).

I am running gentoo hardfloat on Pandaboard and on Genesi EfikaMX smartbook, I am waiting for Odroid-X to arrive shortly. Compiling on Odroid-X would probably be little bit faster than on HP Touchpad :)

I am willing to help with the stage generation once I'll be able to reliably use Metro.

I am trying now with manually bootstraping stage1. I'll keep you all posted about my success and failures.

Palica

Jean-Francis Roy

unread,
Sep 17, 2012, 4:47:11 PM9/17/12
to funto...@googlegroups.com

Hi!

As Oleg explained on the bug, try to use the experimental tree on your setup. I have bumped a Portage file named toolchain.eclass, which was out-of-sync for ARM, causing a softfloat/hardfloat mix-up. Also, I had problems with GCC 4.6.3, let me know if it works for you.

Keep me posted!

JF

Pavol Cupka

unread,
Sep 17, 2012, 5:07:55 PM9/17/12
to funto...@googlegroups.com

I will know more tommorow. Trying it now with experimental tree. I was able to upgrade gcc on gentoo, but only while doing sequential update, that is from 4.5.x to 4.6.2 and then to 4.6.3 direct upgrade didn't work out. If I remember correctly.

Was the eclass out of sync in ports-2012 or experimental? Thanks.

Palica


On Po 17. září 2012, 22:47:11 CEST, Jean-Francis Roy <jeanf...@funtoo.org> wrote:

> Hi!
>
> As Oleg explained on the bug, try to use the experimental tree on your
> setup. I have bumped a Portage file named toolchain.eclass, which was
> out-of-sync for ARM, causing a softfloat/hardfloat mix-up. Also, I had
> problems with GCC 4.6.3, let me know if it works for you.
>
> Keep me posted!
>
> JF
>
> On Mon, Sep 17, 2012 at 4:11 PM, Pavol Cupka <pavol...@gmail.com>
> wrote:
>

> > **

Oleg Vinichenko

unread,
Sep 17, 2012, 10:51:22 PM9/17/12
to funto...@googlegroups.com

gcc update is possible, if you update glibc first. In funtoo toolchain update has correct order, headers and glibc are building before gcc.

Jean-Francis Roy

unread,
Sep 18, 2012, 12:27:15 PM9/18/12
to funto...@googlegroups.com
On Mon, Sep 17, 2012 at 5:07 PM, Pavol Cupka <pavol...@gmail.com> wrote:

I will know more tommorow. Trying it now with experimental tree. I was able to upgrade gcc on gentoo, but only while doing sequential update, that is from 4.5.x to 4.6.2 and then to 4.6.3 direct upgrade didn't work out. If I remember correctly.

Was the eclass out of sync in ports-2012 or experimental? Thanks.


It is updated in experimental, use it for now, you should then be able to updated GCC to 4.6.2-r1.

JF 

Pavol Cupka

unread,
Sep 18, 2012, 12:37:16 PM9/18/12
to funto...@googlegroups.com
Hi JF,

I tried today a manual toolchain update on experimental using
stage3-armv7a-funtoo-experimental-2011-10-29 with following results:

linux-headers update and glibc update without problems, gcc update
from 4.6.1 to 4.6.3

checking for C compiler default output file name...
configure: error: in `/var/tmp/portage/sys-devel/gcc-4.6.3/work/build':
configure: error: C compiler cannot create executables
See `config.log' for more details.
* ERROR: sys-devel/gcc-4.6.3 failed (compile phase):
* failed to run configure

with a unusable system.

I am starting the Metro experimental build now and will let you know
how it goes.

Thanks for your help
Palica

Pavol Cupka

unread,
Sep 18, 2012, 12:41:19 PM9/18/12
to funto...@googlegroups.com
Well that was fast :)

Running target stage1 with class stage
Cleaning up /var/tmp/metro/work/funtoo-experimental/stage1-armv7a-funtoo-experimental-2012-09-18...
Executing "/bin/rm -rf
/var/tmp/metro/work/funtoo-experimental/stage1-armv7a-funtoo-experimental-2012-09-18"...
Executing "/usr/bin/install -d -m 0700 -g root -o root /var/tmp/metro"...
Executing "/usr/bin/install -d -m 0700 -g root -o root
/var/tmp/metro/work/funtoo-experimental/stage1-armv7a-funtoo-experimental-2012-09-18"...
run_script: running steps/unpack...
Extracting source stage
/home/mirror/linux/funtoo-experimental/arm-32bit/armv7a/2011-10-29/stage3-armv7a-funtoo-experimental-2011-10-29.tar.xz...
Extracting portage snapshot
/home/mirror/linux/funtoo-experimental/snapshots/portage-2012-09-18.tar.xz...
Checking out files: 100% (117855/117855), done.
Previous HEAD position was 208d06d... initial commit by merge.py
Switched to branch 'funtoo.org'
Copying /etc/resolv.conf to
/var/tmp/metro/work/funtoo-experimental/stage1-armv7a-funtoo-experimental-2012-09-18/etc/resolv.conf...
Backing up /var/tmp/metro/work/funtoo-experimental/stage1-armv7a-funtoo-experimental-2012-09-18/etc/hosts...
Copying /etc/hosts to
/var/tmp/metro/work/funtoo-experimental/stage1-armv7a-funtoo-experimental-2012-09-18/etc/hosts...
Mounting /dev to /dev ...
Mounting /dev/pts to /dev/pts ...
Mounting /var/tmp/metro/cache/build/funtoo-experimental/stage1-armv7a-funtoo-experimental-2012-09-18/package
to /var/tmp/cache/package ...
Mounting /var/portage/distfiles to /usr/portage/distfiles ...
Mounting /proc to /proc ...
run_script: running steps/chroot/prerun...
New-style profile settings:
gentoo:funtoo/1.0/linux-gnu/arch/arm-32bit
gentoo:funtoo/1.0/linux-gnu/build/experimental
gentoo:funtoo/1.0/linux-gnu/flavor/core
run_script: running steps/chroot/run...
!!! Unable to parse profile: '/etc/portage/make.profile'
!!! ParseError: Parent
'/etc/portage/make.profile/gentoo:funtoo/1.0/linux-gnu/arch/arm-32bit'
not found: '/etc/portage/make.profile/parent'
>>> Regenerating /etc/ld.so.cache...
* Switching native-compiler to armv7a-hardfloat-linux-gnueabi-4.6.1 ... [ ok ]
!!! Unable to parse profile: '/etc/portage/make.profile'
!!! ParseError: Parent
'/etc/portage/make.profile/gentoo:funtoo/1.0/linux-gnu/arch/arm-32bit'
not found: '/etc/portage/make.profile/parent'
!!! Your current profile is invalid. If you have just changed your profile
!!! configuration, you should revert back to the previous configuration.
!!! Allowed actions are limited to --help, --info, --sync, and --version.
/tmp/steps/chroot/run.metro: line 127: die: command not found
!!! Unable to parse profile: '/etc/portage/make.profile'
!!! ParseError: Parent
'/etc/portage/make.profile/gentoo:funtoo/1.0/linux-gnu/arch/arm-32bit'
not found: '/etc/portage/make.profile/parent'
!!! Your current profile is invalid. If you have just changed your profile
!!! configuration, you should revert back to the previous configuration.
!!! Allowed actions are limited to --help, --info, --sync, and --version.
/tmp/steps/chroot/run.metro: line 130: die: command not found
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
!!! Unable to parse profile: '/etc/portage/make.profile'
!!! ParseError: Parent
'/etc/portage/make.profile/gentoo:funtoo/1.0/linux-gnu/arch/arm-32bit'
not found: '/etc/portage/make.profile/parent'

Probably a bug while the seed (from 2011-10-29) is using old profiles
and Metro is creating new ones, but still looking for old ones :)

Going to quick hack fix it and try again.

Palica

Oleg Vinichenko

unread,
Sep 18, 2012, 12:45:20 PM9/18/12
to funto...@googlegroups.com
please, provide a full failure log.

Oleg Vinichenko

unread,
Sep 18, 2012, 12:47:43 PM9/18/12
to funto...@googlegroups.com
yes, metro repository and Funtoo moved to new fashion profile but i guess metro configured to do a portage update at very early stage

Pavol Cupka

unread,
Sep 18, 2012, 12:50:01 PM9/18/12
to funto...@googlegroups.com
ok I will try it once more and let Metro fix it alone.

Pavol Cupka

unread,
Sep 18, 2012, 1:18:23 PM9/18/12
to funto...@googlegroups.com
the full logs are attached in bugtracker

http://jira.funtoo.org/browse/FL-109

and Metro didn't make it alone with old and new profile, here is the output:

(Bug filed) http://jira.funtoo.org/browse/FL-111

Palica

Pavol Cupka

unread,
Sep 19, 2012, 4:16:51 PM9/19/12
to funto...@googlegroups.com
So after whole day of manual updating I have come to a stage where the
2011-10-29-experimental-arm-stage3 is update up to last items and
those are: (binutils are updated to sys-devel/binutils-2.22-r1)

emerge -avuDN @world
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild U ] sys-kernel/linux-headers-3.4-r2 [2.6.39] 0 kB
[ebuild U ] sys-libs/glibc-2.15-r2 [2.13-r4] USE="-debug -gd
(-hardened) (-multilib) -profile (-selinux) -vanilla (-glibc-omitfp%)
(-nls%*)" 0 kB
[ebuild U ] sys-devel/gcc-4.6.3 [4.6.1-r1] USE="cxx%* fortran
mudflap nls nptl openmp (-altivec) -bootstrap -build -doc
(-fixed-point) -gcj -go -graphite -gtk (-hardened) (-libssp)
(-multilib) -multislot -nocxx -nopie -nossp -objc -objc++ -objc-gc
-test -vanilla (-libffi%)" 0 kB
[ebuild U ] sys-devel/libtool-2.4.2 [2.4-r3] USE="-vanilla" 0 kB

Total: 4 packages (4 upgrades), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No]

In a while I am going to hit Yes and let you know how it goes :)

Is there something else I should do or check before hiting Enter?

Thanks Palica

Jean-Francis Roy

unread,
Sep 19, 2012, 4:22:12 PM9/19/12
to funto...@googlegroups.com

I would backup in case it results on an unusable toolchain ;-)

Pavol Cupka

unread,
Sep 19, 2012, 5:16:17 PM9/19/12
to funto...@googlegroups.com
I have thought about that - the tar archive already created.

I have done the same manual upgrade to a copy ot the experimental
stage3 with current portage. Going to toolchain update in this order
experimental, current.

Cross your fingers :)

Palica

On Wed, Sep 19, 2012 at 10:22 PM, Jean-Francis Roy

Pavol Cupka

unread,
Sep 20, 2012, 3:47:58 AM9/20/12
to funto...@googlegroups.com
And the results are - for the experimental:

sys-libs/glibc-2.15-r2 compiled and after that the same error while
configuring gcc-4.6.3

attaching the error logs to http://jira.funtoo.org/browse/FL-109

- for the current:
gcc compilation end with the same complain about "VFP register arguments"

Let me know what should I test or try.

Thank you very much for your help
Palica

Pavol Cupka

unread,
Sep 20, 2012, 3:57:52 AM9/20/12
to funto...@googlegroups.com
Well I just test-extracted the binary package from my gentoo
(gcc-4.6.3) and everything seems to work.

Going to do emerge -e system

Palica

Pavol Cupka

unread,
Sep 20, 2012, 4:12:18 AM9/20/12
to funto...@googlegroups.com
well not really.

while trying to rebuild 4.6.3 with 4.6.3 i got:
checking for C compiler default output file name...
configure: error: in `/var/tmp/portage/sys-devel/gcc-4.6.3/work/build':
configure: error: C compiler cannot create executables

palica

Pavol Cupka

unread,
Sep 20, 2012, 1:18:52 PM9/20/12
to funto...@googlegroups.com
oleg, did you mask gcc-4.6.3 and glibc-2.15-r2 in experimental?

i might be getting somewhere, write more if it finishes.

palica

Metro teaser :)
>>> Emerging (44 of 72) sys-libs/glibc-2.15-r2 for /tmp/stage1root/
>>> Installing (41 of 72) dev-libs/libxml2-2.8.0-r1002 to /tmp/stage1root/
>>> Emerging (45 of 72) sys-apps/debianutils-4.3.3 for /tmp/stage1root/
>>> Emerging (46 of 72) dev-libs/libusb-compat-0.1.4 for /tmp/stage1root/
>>> Emerging (47 of 72) app-admin/eselect-1.3.1.1_rc2 for /tmp/stage1root/
>>> Emerging (48 of 72) app-editors/nano-2.3.1-r1 for /tmp/stage1root/
>>> Emerging (49 of 72) sys-devel/binutils-2.22-r1 for /tmp/stage1root/
>>> Jobs: 41 of 72 complete, 3 running Load avg: 3.41, 3.95, 4.37

Jean-Francis Roy

unread,
Sep 20, 2012, 1:39:44 PM9/20/12
to funto...@googlegroups.com
On Thu, Sep 20, 2012 at 1:18 PM, Pavol Cupka <pavol...@gmail.com> wrote:
oleg, did you mask gcc-4.6.3 and glibc-2.15-r2 in experimental?

I did it some weeks ago, after having issues with them.
 

Pavol Cupka

unread,
Sep 20, 2012, 2:05:00 PM9/20/12
to funto...@googlegroups.com

Jean-Francis,

would it be possible to build current-stage3 using stage1 from this experimental build?

Palica

Pavol Cupka

unread,
Sep 20, 2012, 2:31:14 PM9/20/12
to funto...@googlegroups.com
and another stupid question,

will metro save the generated stage1 somewhere? can you then use it to
build stage2/3 for funtoo-current and funtoo-stable (I mean can you
then bootstrap a different toolchain for example gcc-4.6.2-r1,
glibc-2.13-r2, binutils-2.21 for current and whatever the versions are
for stable?)

Thanks
Pavol

Oleg Vinichenko

unread,
Sep 20, 2012, 11:19:45 PM9/20/12
to funto...@googlegroups.com
new toolchain is not masked in experimental, probably only for arm?

Pavol Cupka

unread,
Sep 21, 2012, 4:06:27 AM9/21/12
to funto...@googlegroups.com
OK, I give up.

Building failed in the bootstrap.sh (stage2 build) section. Attaching
the build logs to the FL-109.

If someone wants my updated 2011-10-29-stage3 let me know.

Palica

Jean-Francis Roy

unread,
Sep 24, 2012, 1:55:09 PM9/24/12
to funto...@googlegroups.com

Got it to work :-)

I have an up-to-date Funtoo armv7a stage3, I will upload it on osuosl soon. You may want to try using it as a seed, it should help a lot!


JF

Pavol Cupka

unread,
Sep 24, 2012, 2:08:55 PM9/24/12
to funto...@googlegroups.com

How on earth did you manage it. Oh well that's why you are a dev :)

glad to hear that and thank you very much for all your hard work and time.

I will try using it as a seed and let you know.

I just wanted that funtoo could be also used on arm.

And my Odroid-X has arrived, already running gentoo on it, will try with funtoo soon.

Pavol

Pavol Cupka

unread,
Sep 26, 2012, 7:50:05 PM9/26/12
to funto...@googlegroups.com
Jean-Francis,

I would like to ask, if you already uploaded the stage3? I can't find it.

Thanks Pavol

Jean-Francis Roy

unread,
Sep 26, 2012, 10:14:56 PM9/26/12
to funto...@googlegroups.com

I didn't upload it yet, however I will contact you in private so I can give you a temporary access on my (limited bandwidth) server. :-)
Reply all
Reply to author
Forward
0 new messages