From owner-freebsd-arm@FreeBSD.ORG Tue Apr 22 02:56:54 2014 Return-Path: Delivered-To: freebsd-arm@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 40CE03BB for ; Tue, 22 Apr 2014 02:56:54 +0000 (UTC) Received: from mail-ie0-x22e.google.com (mail-ie0-x22e.google.com [IPv6:2607:f8b0:4001:c03::22e]) (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 0E44E16FA for ; Tue, 22 Apr 2014 02:56:54 +0000 (UTC) Received: by mail-ie0-f174.google.com with SMTP id rp18so4536950iec.5 for ; Mon, 21 Apr 2014 19:56:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=bQDnYjhg6aPlHve+vq3KwQX/diw/qw5y/7uzuGm8p5A=; b=m7gpzAoNEug475oRHN81ZGXAQzJzeOpV/6HWh/1JHJGEPhyAAM9Pl5OTAGynZkjtCL A64O8zW6m7TGV11FnXWJPuKfwuExDY6yPAds2eZJuenO90zHhZiKTk536Ucpt1YX3EMt wt+NXMBvGCSqJunnmry6Xb046xGwHNnC0qrB17Aa+evkoQht1721Blx9NuoYJqS8ZrV+ mu5yAFsiQKL0sLVoTaPk+RkJCJupBHrIyMp1p7x7pcpLOwFyRsfotg2QZfteXm6+EXY0 xjEXiTuf6vlp5VaXPpa9xe75frYfbf3y5fZkTTgIHHGXq+VdP9e8ABdsQJqPk9IHJ+eP SBGA== MIME-Version: 1.0 X-Received: by 10.42.44.4 with SMTP id z4mr35019743ice.34.1398135413411; Mon, 21 Apr 2014 19:56:53 -0700 (PDT) Received: by 10.64.107.3 with HTTP; Mon, 21 Apr 2014 19:56:53 -0700 (PDT) In-Reply-To: References: Date: Tue, 22 Apr 2014 10:56:53 +0800 Message-ID: Subject: Re: GSoC 2014 - FreeBSD on Android Emulator and (possibly) a phone From: Ganbold Tsagaankhuu To: Alexander Tarasikov Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: "freebsd-arm@freebsd.org" X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Apr 2014 02:56:54 -0000 Alexander, On Tue, Apr 22, 2014 at 4:54 AM, Alexander Tarasikov < alexander.tarasikov@gmail.com> wrote: > Hello, FreeBSD hackers! > > It's great news that I was accepted to GSoC 2014 for the project of > porting FreeBSD to Android Emulator. > That is great news and it is very cool. > I would like to report some of my progress and get advice on further > directions. > > So I started by looking into the FreeBSD port to ARM Versatile board > by Oleksandr Tymoshenko and got the image booting in QEMU which > indicates that the cross-compiler toolchain is working correctly. > > I have added rudimentary Goldfish board (which is the virtual SoC and > board emulated by the Android Emulator) to FreeBSD kernel and pushed a > branch named 'android_goldfish_arm_10.0.0' based on release-10.0.0 to > my github fork at > https://github.com/astarasikov/freebsd/tree/android_goldfish_arm_10.0.0 > > Currently I did not manage to get it booting on the emulator yet. I > have attached the GDB and verified that it gets loaded to the correct > address and single-stepped it, but looks like MMU is not getting set > up correctly and as soon as the kernel loads the program counter with > the virtual address, it booms. I have tried various ARM revisions in > both FreeBSD kernel and Android Emulator, but it's still not there. > However, it was an overnight hack I made today so I need to invest > more time into debugging and understanding FreeBSD Virtual Memory > management. > > Are you sure release 10.0 would do ok in your case? In my opinion it is much better to use head version of the src tree, there are number of reasons. If necessary it would be easier to commit code changes to head src tree instead of 10.0 release or stable src tree. > Since Android Emulator is based on QEMU, I will probably try adding > Goldfish board to the source code of the QEMU version on which I had > Versatile kernel running, but I think it's rather my fault :) > > Currently I'm running QEMU with Versatile inside FreeBSD and Android > Emulator in Linux. I will look into using linux emulation to run the > latest version of Android SDK and Emulator on FreeBSD. I think it > would be good to get the latest version of emulator into ports, but > that will depend on whether I have time for it. > > So currently for the midterm I want to get the kernel running with MMU > :). If that goes well, porting MMC and Ethernet (SMC chip) emulation > should be relatively easy. > > If I don't get drowned in debugging VM issues, we may have everything > working quite soon. So I would like to ask the community which > features would you recommend to implement during the course of the > project except kernel with the support of block devices and > networking? I can think of prebuilt images that could be easily > deployed to Android Emulator on any platform. > > In previous mails it was discusses that it would be cool to get > FreeBSD also running on some popular phone. If the emulator port does > not take the whole summer, I could look into that. Unfortunately my > phone (Sony Xperia Z) broke (the modem is not working and the screen > is damaged partially though it can boot) so I'm thinking of getting > some used Android Phone for hacking. I'm choosing between a Nexus 5 > and Galaxy Note 3. I don't like Qualcomm but Nexus 5 is very popular > (and has UART schematics available) while the exynos-based Galaxy Note > is more freedom-friendly and the SoC is supported by the FreeBSD. > I heard exynos doc is not good or even no doc at all in some cases. Correct me if I'm wrong here. best regards, Ganbold > > -- > Regards, Alexander > _______________________________________________ > freebsd-arm@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org" >