From owner-freebsd-emulation@FreeBSD.ORG Sun Sep 7 18:01:13 2014 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1643578D; Sun, 7 Sep 2014 18:01:13 +0000 (UTC) Received: from mail-wi0-x22d.google.com (mail-wi0-x22d.google.com [IPv6:2a00:1450:400c:c05::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 398C5188A; Sun, 7 Sep 2014 18:01:12 +0000 (UTC) Received: by mail-wi0-f173.google.com with SMTP id cc10so1566155wib.12 for ; Sun, 07 Sep 2014 11:01:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=AG7jPUP5GOQW453Rv6J5WZXUBb6dtuexfMIe+WQdf8U=; b=V4aqyjpR8xRPAt3yH1S+zGcWHlCWWFWgei+aDgHbaqOTqroWr52uA7xNPPaMIqNR+W Yu/+PsK3BE5nTWb/RNbMSMEkc/UoX4Eip+B2pbZmT6ROaxDGAOmlrS+o1yEA5rbCIcns IuzMuvpo2NwbpNxEs4/Ml0FNGM84RYRVrsX6twlIFm1nNal6Xe7Qms0JlVBN3e7LT6Vi xozMAw4N22ho/pwOPgFhCCOdAXCokMybxLq718348vm0tR0BLk+yujNnE7IEYi5t9ymY fo+HhDQGKG2jEZjadx22DAB5eTjVli2H5sG8WhtWw15AgaEV4lKoYhfqMwJWf5YGp9k1 RtLQ== MIME-Version: 1.0 X-Received: by 10.194.19.165 with SMTP id g5mr29180956wje.65.1410112870408; Sun, 07 Sep 2014 11:01:10 -0700 (PDT) Received: by 10.180.87.228 with HTTP; Sun, 7 Sep 2014 11:01:10 -0700 (PDT) Date: Sun, 7 Sep 2014 22:01:10 +0400 Message-ID: Subject: Android Emulator for FreeBSD + FreeBSD/ARM port From: Alexander Tarasikov To: "freebsd-arm@freebsd.org" , freebsd-hackers@freebsd.org, freebsd-emulation@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Cc: Gavin Atkinson X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Sep 2014 18:01:13 -0000 Hi, FreeBSD crowd! During summer as part of GSoC program I was working on porting FreeBSD to the Android Emulator. Besides, I have ported Android Emulator to run natively on x86_64 as opposed to using linuxulator for 32-bit support. As for the kernel side, I have implemented the support for the following hardware: *IRQ, Timer, UART *MMC *Ethernet *Framebuffer (using NEWCONS) It allows to mount rootfs and boot up to login prompt with raspberry pi sd card image. As for the emulator, it's a bit complicated. FreeBSD boots fine if you launch the emulator on Linux or Mac OS X. I have fixed some parts of the build system and headers to make it compile and pass the tests on FreeBSD. Unfortunately, the GUI doesn't work right now and only console output (virtual UART) works. If anyone is interested, I would like that you read my blog post, review my kernel commit and suggest ways to improve and push the changes upstream. As for the Emulator, I think we can get it running with GUI and everything because it just has too many "#ifdef __linux__" stuff around the code which should compile and run on FreeBSD as well, we just need to gradually uncomment each of these sections. Relevant links: [kernel code commit] https://github.com/astarasikov/freebsd/commit/514be1f08a552f54abef83232498559c72e1d33b [README, compilation instructions] https://github.com/astarasikov/freebsd/blob/android_goldfish_arm_master/sys/arm/goldfish/README [Emulator with patches] https://github.com/astarasikov/qemu/tree/l-preview-freebsd [blog] http://allsoftwaresucks.blogspot.ru/2014/09/gsoc-results-or-how-i-nearly-wasted.html -- Regards, Alexander