Date: Sun, 22 Mar 2015 21:48:30 -0500 From: Giovanny Andres Gongora Granada <gioyik@gmail.com> To: wkoszek@FreeBSD.org, freebsd-mobile@freebsd.org, freebsd-hackers@freebsd.org Subject: [gsoc15][idea-proposal] Port FreeBSD to a smartphone [needs-feedback] Message-ID: <CAB_vas8J4ysNcGB5DXacDaXe0t5ZYmEVpoweuo%2BmcS3DH4JVAQ@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAB_vas8J4ysNcGB5DXacDaXe0t5ZYmEVpoweuo%2BmcS3DH4JVAQ>