svn commit: r45267 - head/en_US.ISO8859-1/htdocs/news/status

Glen Barber <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
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 @@
     ?>
 
     <p>Thanks to all the reporters for the excellent work!  This
-      report contains 4 entries and we hope you enjoy reading it.</p>
+      report contains 5 entries and we hope you enjoy reading it.</p>
 
     <p>The deadline for submissions covering between July and
       September 2014 is October 7th, 2014.</p>
@@ -330,4 +330,113 @@
 	charsets/key-codes in the <tt>vt(4)</tt>.</task>
     </help>
   </project>
+
+  <project cat='proj'>
+    <title>QEMU bsd-user enabled ports building</title>
+
+    <contact>
+      <person>
+        <name>
+          <given>Stacey</given>
+          <common>Son</common>
+        </name>
+        <email>[email protected]</email>
+      </person>
+      <person>
+        <name>
+          <given>Juergen</given>
+          <common>Lock</common>
+        </name>
+        <email>[email protected]</email>
+      </person>
+      <person>
+        <name>
+          <given>Sean</given>
+          <common>Bruno</common>
+        </name>
+        <email>[email protected]</email>
+      </person>
+    </contact>
+
+    <links>
+      <url href="https://wiki.freebsd.org/QemuUserModeHowTo">Overview of technology</url>
+      <url href="http://dirty.ysv.freebsd.org/">Status of ports building</url>
+      <url href="https://github.com/seanbruno/qemu-bsd-user">Master respository for collaboration</url>
+    </links>
+
+    <body>
+      <p>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.</p>
+
+      <p>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.</p>
+
+      <p>On current or latest stable/10:</p>
+
+      <p>Clone the <url href="https://github.com/seanbruno/qemu-bsd-user">github</url>
+	repository of qemu, and switch to
+	the bsd-user branch.  Then run:</p>
+
+      <p><tt>./configure --static \<br/>
+	  --target-list="arm-bsd-user i386-bsd-user \<br/>
+	  mips-bsd-user mips64-bsd-user mips64el-bsd-user \<br/>
+	  mipsel-bsd-user ppc-bsd-user ppc64-bsd-user sparc-bsd-user \<br/>
+	  sparc64-bsd-user x86_64-bsd-user"</tt></p>
+
+      <p><tt>gmake; gmake install</tt></p>
+
+      <p>Then setup the binmiscctl tools to do some evil hackery to
+	redirect execution of armv6 binaries to qemu:</p>
+
+      <p><tt>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 \<br/>
+	  \x00\x28\x00" --mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff \<br/>
+	   \xff\xff\xff\xff\xfe\xff\xff\xff" --size 20 --set-enabled</tt></p>
+
+      <p>Install poudriere-devel from ports.  It knows how to setup
+	things.</p>
+
+      <p>Build poudriere jail to do all the magic:</p>
+
+      <p><tt>poudriere jail -c -j 11armv632 -m svn -a armv6 \<br/>
+	  -v head</tt></p>
+
+      <p>You can now run poudriere against that jail to build all the
+	ports:</p>
+
+      <p><tt>poudriere bulk -j 11armv632 -a</tt></p>
+
+      <p>Nullfs mount your ports tree into the jail:</p>
+
+      <p><tt>mkdir /usr/local/poudriere/jails/11armv632/usr/ports<br/>
+	  mount -t nullfs /usr/ports /usr/local/poudriere/jails/11armv632/usr/ports</tt></p>
+      <p>To chroot into the jail:</p>
+
+      <p><tt>mount -t devfs devfs /usr/local/poudriere/jails/11armv632/dev<br/>
+	  chroot /usr/local/poudriere/jails/11armv632/</tt></p>
+    </body>
+
+    <help>
+      <task>
+           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.
+      </task>
+      <task>
+           SPARC64 on AMD64 emulation is non-functional and instantly segfaults.  Looking for someone to poke at the bits here.
+      </task>
+      <task>
+           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.
+      </task>
+      <task>
+           Signal Handling, MIPS/ARMV6 target still displays a failure that manifests itself when building devel/p5-Sys-SigAction
+      </task>
+      <task>
+           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.
+      </task>
+    </help>
+  </project>
 </report>
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-doc-all
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.