From owner-svn-doc-head@FreeBSD.ORG Sat Jan 10 00:52:35 2015 Return-Path: Delivered-To: svn-doc-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2D8D113C; Sat, 10 Jan 2015 00:52:35 +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 194DC84A; Sat, 10 Jan 2015 00:52:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t0A0qYvY092746; Sat, 10 Jan 2015 00:52:34 GMT (envelope-from bjk@FreeBSD.org) Received: (from bjk@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t0A0qY1N092745; Sat, 10 Jan 2015 00:52:34 GMT (envelope-from bjk@FreeBSD.org) Message-Id: <201501100052.t0A0qY1N092745@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: bjk set sender to bjk@FreeBSD.org using -f From: Benjamin Kaduk Date: Sat, 10 Jan 2015 00:52:34 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r46183 - 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-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jan 2015 00:52:35 -0000 Author: bjk Date: Sat Jan 10 00:52:34 2015 New Revision: 46183 URL: https://svnweb.freebsd.org/changeset/doc/46183 Log: Add linuxulator Heavily edited by me and may have some content errors. Approved by: hrs (mentor, blanket) Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml ============================================================================== --- head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml Sat Jan 10 00:27:22 2015 (r46182) +++ head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml Sat Jan 10 00:52:34 2015 (r46183) @@ -1788,4 +1788,82 @@ + + Linux emulation layer a.k.a. Linuxulator + + + + + Dmitry + Chagin + + dchagin@FreeBSD.org + + + + +

The main goal of the lemul project is the execution of + multithreaded Linux applications, which requires the glibc library + version 2.20 or later to be available on &os;. Glibc 2.20 + requires a Linux kernel (or emulation thereof) of version 2.6.32 + or later. The main obstacle preventing this is that the current + Linuxulator uses native FreeBSD processes for emulating Linux + threads. This leads to several problems, including problems with + process reparenting and dethreading, wait() and signal + handling. It would be much better to reuse the FreeBSD kernel + code for thread management than to create a completely new + codebase for pseudothread management in the Linuxulator.

+ +

At present, the linux emulation layer project has + implemented all of the necessary system calls for supporting glibc + 2.20, and more:

+ +
    +
  • Using native threads for emulating Linux threads
  • +
  • Implemented VDSO support, including DWARF for signal + trampolines, which are needed for stack unwinding in + pthread_cancel()
  • +
  • Implemented the "vsyscall hack", used by some + Linux-based distributions, including CentOS 6
  • +
  • Implemented the epoll() system call + emulation
  • +
  • Many bugs were fixed
  • +
+ +

The project's code is located in the FreeBSD Project's + Subversion repository, at base/user/dchagin/lemul (a + little bit old). To facilitate merging the improvements back to + head, several patches have been placed on reviews.FreeBSD.org with + the tag #lemul. Nearly half of the patches have already + been approved by &a.emaste; and &a.trasz;.

+ + + + +

Review and merge the lemul branch to head within the next + month or two.

+
+ + +

Implement native and Linuxulator inotify() + system calls.

+
+ + +

Implement the ptrace() system call for the x86_64 + Linuxulator.

+
+ + +

Implement the signalfd() and timerfd + system calls for the Linuxulator.

+
+ + +

Extend xucred support, which is required for + many Linux applications.

+
+
+
+