From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 23 02:48:31 2015 Return-Path: Delivered-To: freebsd-hackers@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 8C25ADAC; Mon, 23 Mar 2015 02:48:31 +0000 (UTC) Received: from mail-ig0-x22c.google.com (mail-ig0-x22c.google.com [IPv6:2607:f8b0:4001:c05::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 50D84BE6; Mon, 23 Mar 2015 02:48:31 +0000 (UTC) Received: by igcau2 with SMTP id au2so25029804igc.1; Sun, 22 Mar 2015 19:48:30 -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:content-type; bh=Mu09Wfh6e7OFI9bqMqW9/Blas9TyGnkz6XpeVDCBVns=; b=ikWKCUuyUYuQBKnNNG2MgiEc/WOQx/2vJSzYXIbPURBsfjcmolCauiTuMgqxDn/FtE LLnH7im4LBQ6+PCbJrasi0L4XxnzQNdWZa2V8FZ9vcY0ynRhC8C4s5JulNzT8QCbJMqm PhG0u8q7/hTN+tCGTZn7YGOdhNafLB90bqQYAuLk9BoTDuThHkqF5Xm6H5tOy/UTQHCK zZtWLk3tF901kDAhnO+yMFGhtMH/aavnCACQh+Xp5tuIdU/p8vkHmjbkXvyrZLXQBdOG aJ4SpExy/niMQrWDw0MEQCyfUGyAy3B+bDZyRGgT8NckXphOg6Thz1xncYnbMCQUF6Dv go8Q== MIME-Version: 1.0 X-Received: by 10.107.12.150 with SMTP id 22mr2761623iom.71.1427078910737; Sun, 22 Mar 2015 19:48:30 -0700 (PDT) Received: by 10.107.143.149 with HTTP; Sun, 22 Mar 2015 19:48:30 -0700 (PDT) Date: Sun, 22 Mar 2015 21:48:30 -0500 Message-ID: Subject: [gsoc15][idea-proposal] Port FreeBSD to a smartphone [needs-feedback] From: Giovanny Andres Gongora Granada To: wkoszek@FreeBSD.org, freebsd-mobile@freebsd.org, freebsd-hackers@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Mar 2015 02:48:31 -0000 Hello, My name is Giovanny, I am an student from Universidad Cooperativa de Colombia planning to participate this year in the gsoc with FreeBSD organization. I reviewed the project list [1] for this year and I am interested in propose a project for Port FreeBSD to a smartphone (any maker and model) [2]. I will share with you my idea, I really appreciate have some feedback for my final proposal in the gsoc page. FreeBSD has a good compiling process for ARM [3] architecture and hardware. Taking advantage of this FreeBSD could run on a smartphone by three ways: 1. Using Android (based device and build process) we can compile FreeBSD kernel with support to the hardware of the device, then use a SD as system partition and configure it as a normal FreeBSD system. Flash an image generated for boot, equal to zImage in the block partition of the device using fastboot, so at reboot it will be running the FreeBSD system. After have the device running is more easy work on a display lib for the device. At the end if it can boot a device using this process and emulator could do this (changing the boot image for the one with FreeBSD) too, I use AOSP to define an environment and a set of tools to compile a light emulator with just the components necessaries to run the FreeBSD system. Mozilla does this to build Firefox OS with AOSP (devices and emulators) [4]. [This is not a image to chroot-jail] 2. Porting the idea of Gentoo for Android [5] to FreeBSD, this could be more difficult than expected due to port the concept of Gentoo RAP to FreeBSD could take a long time of research. Added to it, Gentoo RAP is made to work over Linux, so will take more time adapt the concept to FreeBSD and get something working with the low level layer of Android in the device. If by X reason the concept of Gentoo for Android it's done for FreeBSD could be possible think on port and use Webtop [6] as output for X servers how was done in Ubuntu for Android. 3. Running FreeBSD directly on an Android device using an application that emulates-wraps a terminal to boot a pre-compiled obb (just a tar package with a different name) package of a FreeBSD system. It will provide a shell to access all the programs in FreeBSD system but only text-mode will be supported. To interact from the smartphone with a graphical environment in FreeBSD there are to ways, first use other apps like a vnc client or embed a custom vnc/display client with own libs to display the enviroment. This method doesn't require root on the phone to run FreeBSD and the final apk of the application to run FreeBSD could be published in the Play store (if the idea is to publish it), so everyone could install it and run FreeBSD instantly after apk installation from Play Store. Three possible ways but personally I see 1 and 3 are the ones with best results. Number 1 is the way we more friendly for daily testing and with more percentage for future development. It will keep compatibility with latest changes in arm build process and after new CPU and boards support is added, will be easy build and test on more devices with this method. Number 3 it's more a user side and probably not offers a complete FreeBSD system experience as expected. I see that part of the gsoc is R&D, so I will be happy to research and develop until the end with all the ideas to get the best experience of FreeBSD on a phone. I know all this needs to be more detailed to get and idea if I am wrong or not, so feel free to quote where you think needs clarification in the process. Any feedback or opinions about this is really appreciated to my final proposal in the gsoc page. Thanks, Gio ---------------------------------------------------------------------- * About me: I am studying at University Cooperativa de Colombia, my future degree will be Systems Engineer. I had been contributing to open source project since 4 years ago, today I am an active Mozilla contributor [7], I work sending patches to the Firefox and Firefox OS code base [8]. Also I am part of the reviewer team at Firefox Marketplace (I review the apps that are sent to the Marketplace to be published) and I am a Mozilla Reps [9] too. I contribute to other open source projects too (Tor Project time ago as ES translator) different to Mozilla, you can see some of my contributions to other projects in my Github profile [10]. Most of my projects are open sourced in Github [11] and those projects are coded using different languages, some of them are C, Go, Python, Javascript, Ruby, Java and some shell scripts. * Previous experience with FreeBSD: I maintain some FreeBSD systems running in my University and a year ago I helped to run some FreeBSD servers with an IT team for a hosting provider company. ---------------------------------------------------------------------- [1]: https://wiki.freebsd.org/SummerOfCodeIdeas [2]: https://wiki.freebsd.org/SummerOfCodeIdeas#Port_FreeBSD_to_a_smartphone_.28any_maker_and_model.29 [3]: http://www.freebsd.org/platforms/arm.html [4]: https://github.com/mozilla-b2g/B2G [5]: https://wiki.gentoo.org/wiki/Project:Android [6]: http://sourceforge.net/motorola/motorola-webtop/home/Home/ [7]: https://mozillians.org/en-US/u/gioyik/ [8]: http://hg.mozilla.org/mozilla-central/log?rev=gioyik%40gmail.com [9]: https://reps.mozilla.org/u/gioyik/ [10]: https://github.com/Gioyik/ [11]: https://github.com/Gioyik?tab=repositories