From owner-svn-doc-all@FreeBSD.ORG Sun Jul 13 17:46:30 2014 Return-Path: Delivered-To: svn-doc-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 630DF8C4; Sun, 13 Jul 2014 17:46:30 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 448202A34; Sun, 13 Jul 2014 17:46:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s6DHkUsk098541; Sun, 13 Jul 2014 17:46:30 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s6DHkUhN098540; Sun, 13 Jul 2014 17:46:30 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201407131746.s6DHkUhN098540@svn.freebsd.org> From: Glen Barber Date: Sun, 13 Jul 2014 17:46:30 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r45267 - head/en_US.ISO8859-1/htdocs/news/status X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "SVN commit messages for the entire doc trees \(except for " user" , " projects" , and " translations" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Jul 2014 17:46:30 -0000 Author: gjb Date: Sun Jul 13 17:46:29 2014 New Revision: 45267 URL: http://svnweb.freebsd.org/changeset/doc/45267 Log: Add QEMU report. Submitted by: sbruno Sponsored by: The FreeBSD Foundation Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2014-04-2014-06.xml Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2014-04-2014-06.xml ============================================================================== --- head/en_US.ISO8859-1/htdocs/news/status/report-2014-04-2014-06.xml Sun Jul 13 17:36:52 2014 (r45266) +++ head/en_US.ISO8859-1/htdocs/news/status/report-2014-04-2014-06.xml Sun Jul 13 17:46:29 2014 (r45267) @@ -43,7 +43,7 @@ ?>

Thanks to all the reporters for the excellent work! This - report contains 4 entries and we hope you enjoy reading it.

+ report contains 5 entries and we hope you enjoy reading it.

The deadline for submissions covering between July and September 2014 is October 7th, 2014.

@@ -330,4 +330,113 @@ charsets/key-codes in the vt(4). + + + QEMU bsd-user enabled ports building + + + + + Stacey + Son + + sson@freebsd.org + + + + Juergen + Lock + + nox@freebsd.org + + + + Sean + Bruno + + sbruno@freebsd.org + + + + + Overview of technology + Status of ports building + Master respository for collaboration + + + +

The ports-mgmt/poudriere-devel port is aware of how to build + ports via an emulator. Configuration of the miscellaneous + binary image activator is required prior to a poudriere-devel + run.

+ +

ARMV6, MIPS32 and MIPS64 packages can be produced via full + emulation. There are several packages that block a full run of + builds. They can be viewed on the Status of ports building + link.

+ +

On current or latest stable/10:

+ +

Clone the github + repository of qemu, and switch to + the bsd-user branch. Then run:

+ +

./configure --static \
+ --target-list="arm-bsd-user i386-bsd-user \
+ mips-bsd-user mips64-bsd-user mips64el-bsd-user \
+ mipsel-bsd-user ppc-bsd-user ppc64-bsd-user sparc-bsd-user \
+ sparc64-bsd-user x86_64-bsd-user"

+ +

gmake; gmake install

+ +

Then setup the binmiscctl tools to do some evil hackery to + redirect execution of armv6 binaries to qemu:

+ +

binmiscctl add armv6 --interpreter \ + "/usr/local/bin/qemu-arm" --magic \ + "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02 \
+ \x00\x28\x00" --mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff \
+ \xff\xff\xff\xff\xfe\xff\xff\xff" --size 20 --set-enabled

+ +

Install poudriere-devel from ports. It knows how to setup + things.

+ +

Build poudriere jail to do all the magic:

+ +

poudriere jail -c -j 11armv632 -m svn -a armv6 \
+ -v head

+ +

You can now run poudriere against that jail to build all the + ports:

+ +

poudriere bulk -j 11armv632 -a

+ +

Nullfs mount your ports tree into the jail:

+ +

mkdir /usr/local/poudriere/jails/11armv632/usr/ports
+ mount -t nullfs /usr/ports /usr/local/poudriere/jails/11armv632/usr/ports

+

To chroot into the jail:

+ +

mount -t devfs devfs /usr/local/poudriere/jails/11armv632/dev
+ chroot /usr/local/poudriere/jails/11armv632/

+ + + + + PPC on AMD64 emulation. WIP as there appears to be some serious issues running the bsd-user binary on big endian hardware. Justin Hibbits working on this. + + + SPARC64 on AMD64 emulation is non-functional and instantly segfaults. Looking for someone to poke at the bits here. + + + External Tool Chain, XDEV support. Partial support for using an AMD64 tool chain that can output other architecture (use AMD64 toolchain to build MIPS64 packages). Currently tracking a linking issue with ports-mgmt/pkg. Thanks to Warner Losh, Baptiste Daroussin, Dimitry Andric for poking at bits in here to make the XDEV target useful. + + + Signal Handling, MIPS/ARMV6 target still displays a failure that manifests itself when building devel/p5-Sys-SigAction + + + Massive documentation update needed. These modifications actually allow you to chroot into a MIPS or ARMv6 environment and use native tool chains and libraries to prototype your software for a target platform. + + +