Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 May 2016 21:57:51 +0200
From:      Jan Beich <jbeich@vfemail.net>
To:        Kurt Jaeger <lists@opsec.eu>
Cc:        ports@freebsd.org
Subject:   Re: how to create a powerpc64 poudriere jail ?
Message-ID:  <bn3x-yif4-wny@vfemail.net>
References:  <20160522093001.GB41922@home.opsec.eu> <20160522093156.GC41922@home.opsec.eu>

next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Kurt Jaeger <lists@opsec.eu> writes:

> Hi!
>
>> What is the correct way to create a powerpc64 poudriere jail ?
>>=20
>> I've tried several versions of
>>=20
>> poudriere jail -c -j p64 -a <arch> -m svn+ssh -v head
>>=20
>> with arch as powerpc, ppc64, powerpc64/powerpc, to no avail.
>
> Ah, one more thing: I added the binmiscctl environment for ppc64, as
> described in
>
>   https://wiki.freebsd.org/QemuUserModeHowTo
>
> The problem is the correct name for binmiscctl and the correct <arch>
> for poudriere. That's what I'm missing.

qemu-user-static support for powerpc64 seems to be incomplete but
otherwise is supposed to work as follows. Only stuff represented on
pkg-fallout@ is known to work. aarch64 is also in a good shape but needs
devel/aarch64-binutils built with LDFLAGS+=3D-all-static copied inside jail.

freebsd-ppc@ folks may have a clue how to cross-build powerpc64 packages
without real hardware. If you're just looking for logs, see

https://lists.freebsd.org/pipermail/freebsd-ports/2016-April/102952.html

=2D-
# run rc.d script that defines common targets for poudriere
$ service qemu_user_static onestart

# check desired target is defined
$ binmiscctl list
[...]
name: powerpc64
interpreter: /usr/local/bin/qemu-ppc64-static
flags: ENABLED USE_MASK
magic size: 20
magic offset: 0
magic: 0x7f 0x45 0x4c 0x46  0x01 0x02 0x01 0x00  0x00 0x00 0x00 0x00
       0x00 0x00 0x00 0x00  0x00 0x02 0x00 0x15
mask:  0xff 0xff 0xff 0xff  0xff 0xff 0xff 0x00  0xff 0xff 0xff 0xff
       0xff 0xff 0xff 0xff  0xff 0xfe 0xff 0xff
[...]

# get TARGET.TARGET_ARCH tuple for |-a| from the source
$ make targets -C/usr/src | sed '1d; y,/,.,' | fgrep powerpc64
    powerpc.powerpc64

# build a jail for the target
$ poudriere jail -cj head-powerpc64 -a powerpc.powerpc64 -m svn+ssh -v head
[...]
[00:41:56] =3D=3D=3D=3D>> Recording filesystem state for clean... done
[00:41:57] =3D=3D=3D=3D>> Jail head-powerpc64 head powerpc.powerpc64 is rea=
dy to be used

# check qemu-user-static can run target (static) binaries
$ /poudriere/jails/head-powerpc64/rescue/ls /var/empty

# start building various packages
$ poudriere bulk -j head-powerpc64 devel/gmake                             =
             ~

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQF8BAEBCgBmBQJXQg8/XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXREQjQ0MzY3NEM3RDIzNTc4NkUxNDkyQ0VF
NEM3Nzg4MzQ3OURCRERCAAoJEOTHeINHnb3bX00IAIdunRB0hEdrx30OGoHW4Yne
tOkZXjOrnVqa8JrOSruTedksh7xRa+e6/xtIT6jv9hO8Mm1ZFKBJ7sjROjnJhFU1
tWuUNCWwZJ5I5z6zcFC3JXksPOwIUj4tNyEkwTY/n/KPdH+FspcabdfBwb52567q
dxjQBIlrBk/0aSU5P71g5uwQmmoqTEzqMQGjwNFktdaPnX94m9Cpo194JoBbPrkG
bx3B9zZGAu9xNvwaKBrkt3/hAEoj34YbJNU8bPxTL/yK92QeiNOZHZCwmqveHhkx
3HBiUa0uJs4Hi72IfzvXrgMB/aM9BMY8ECqxj5xXHsUB8/6LdLku8TJ7qVEOhDk=
=xiIK
-----END PGP SIGNATURE-----
--=-=-=--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bn3x-yif4-wny>