# Why doesn't Android use FreeBSD?



## bleakwind (Oct 26, 2010)

Why? Why? Why?  :\


----------



## UNIXgod (Oct 26, 2010)

If it did maybe we wouldn't have dropped calls and battery killin crashed apps.


----------



## SirDice (Oct 26, 2010)

It's a good question, one I've been wondering myself. If they used FreeBSD as a base they wouldn't have to release the source code. Something they seem to be reluctant to do anyway.


----------



## lyuts (Oct 26, 2010)

I guess it was one of the historically established decisions, i.e. authors (as most of others) thought that Linux is more popular. But I wish Android used FreeBSD.


----------



## ahavatar (Oct 26, 2010)

Google uses Linux servers, so they are more familiar with Linux than FreeBSD ?


----------



## lyuts (Oct 26, 2010)

As far as I know, Android was a startup later acquired by Google. So the decision was made before Android became Google's Android.


----------



## DutchDaemon (Oct 26, 2010)

http://en.wikipedia.org/wiki/Android_(operating_system))



> *At Google*, the team led by Rubin *developed* a mobile device platform powered by the Linux kernel which they marketed to handset makers ..


----------



## fronclynne (Oct 26, 2010)

FreeBSD's ARM port looks a bit rough, to say the least: http://www.freebsd.org/platforms/arm.html
Installation also isn't just a matter of running an installer and rebooting: http://people.freebsd.org/~cognet/arm.html
Though given the Chinese and their Kylin, there might be some development going on behind the bamboo curtain.




			
				DutchDaemon said:
			
		

> http://en.wikipedia.org/wiki/Android_(operating_system))


I'm not sure it's wise to cite a source edited by 12 year olds as definitive; in any case, I can't find anything about the actual Android operating system prior to Google.com's acquisition.

In any case, the reason they use Linux is probably because it's (a)more polished and (b)all the kids coming out of college with BSs in CS know Linux, and anyone who remembers the last 1990s can easily extrapolate that given 22% unemployment on the West Coast (of the United States) and the rash of dingleberries going into CS ten years ago, Linux developers are as abundant and bountiful as adipose tissue at a Scientifiction Convocation.


----------



## SirDice (Oct 26, 2010)

Suppose FreeBSD fully works on ARM, what else would it need to make a FreeBSD based smartphone?

I imagine we'd need some sort of library and/or driver to communicate to the radio ROM?


----------



## oliverh (Oct 26, 2010)

bleakwind said:
			
		

> Why? Why? Why?  :\



Android uses the Linux kernel because of the drivers and it uses NetBSD libc because of better portability. So it's no real GNU/Linux, it's the best of different worlds.

http://thereplaced.blogspot.com/2008/10/google-android-and-bsd-code.html


----------



## oliverh (Oct 26, 2010)

SirDice said:
			
		

> Suppose FreeBSD fully works on ARM, what else would it need to make a FreeBSD based smartphone?
> 
> I imagine we'd need some sort of library and/or driver to communicate to the radio ROM?



ARM is the least problem, because it's just the cpu part, but there are lots of custom parts in it and FreeBSD has almost no drivers for those parts. As I said before, they're using already a plethora of BSD code (OpenBSD/NetBSD).


----------



## aragon (Oct 26, 2010)

SirDice said:
			
		

> I imagine we'd need some sort of library and/or driver to communicate to the radio ROM?


Yes.  That's one of the few closed components of Android devices, so I guess a FreeBSD phone would probably need manufacturer support for more than WiFi support.


----------



## oliverh (Oct 26, 2010)

aragon said:
			
		

> Yes.  That's one of the few closed components of Android devices, so I guess a FreeBSD phone would probably need manufacturer support for more than WiFi support.



So you need manufacturer support for the radio part and for all of the free drivers not available in FreeBSD. Most Android devices are using different ARM custom chips. So without a manufacturer it's almost impossible to port FreeBSD for every device out there.

Motorola Milestone e.g. uses TI OMAP 3430, HTC Desire uses Qualcomm Snapdragon and so on. The TI ARM uses PowerVR Grahics, whereas Snapdragon uses something acquired from AMD.

For more information: http://forum.xda-developers.com/forumdisplay.php?f=564

The Radio firmware itself is for low level functionality like GPS, network, WiFi etc.


----------



## bleakwind (Oct 27, 2010)

Does FreeBSD have any radio ports for phone?


----------



## bleakwind (Oct 27, 2010)

oliverh said:
			
		

> Android uses the Linux kernel because of the drivers and it uses NetBSD libc because of better portability. So it's no real GNU/Linux, it's the best of different worlds.
> 
> http://thereplaced.blogspot.com/2008/10/google-android-and-bsd-code.html



I can't view that url. You know why.

Android use  NetBSD libc? Very smart.
I think use Linux Kernel because Linux programmer much more than FreeBSD programmer, and as you say the drivers...


----------



## bleakwind (Oct 27, 2010)

I found this:
http://bsdroid.org

-_-!!!


----------



## aragon (Oct 27, 2010)

bleakwind said:
			
		

> I found this:
> http://bsdroid.org


Correct me if I'm wrong, but it looks like the above project is for porting the SDK only to FreeBSD?


----------



## SirDice (Oct 27, 2010)

aragon said:
			
		

> Yes.  That's one of the few closed components of Android devices, so I guess a FreeBSD phone would probably need manufacturer support for more than WiFi support.



Yes, but if the API/ABI specifications are available it shouldn't matter if the radio ROM itself is closed source.


----------



## Eponasoft (Oct 27, 2010)

aragon said:
			
		

> Correct me if I'm wrong, but it looks like the above project is for porting the SDK only to FreeBSD?


That is what it is, but even as such, that's pretty dang useful.


----------



## alie (Feb 9, 2011)

I was going to ask the same question ha ha ha

I was wondering if Android with FreeBSD kernel would be faster and more stable or not, insteresting...


----------



## sossego (Feb 10, 2011)

There's a better chance of NetBSD or OpenBSD running on the platform. You need a device with any of the ARM CPUs and a working environment. From using Xscale and attempting both an OpenBSD and NetBSD boot, the problem is having a boot loader which can properly start the system. Create this, place it on a removable media, and boot from there. What remains is 512M or more of RAM to run the system.


----------



## sossego (Feb 11, 2011)

SirDice said:
			
		

> It's a good question, one I've been wondering myself. If they used FreeBSD as a base they wouldn't have to release the source code. Something they seem to be reluctant to do anyway.


 It's bad business to be as such.
A better situation would be:

1) The device has the OS on it functioning properly.
2) The source code is available with the note that "Whatever you do and if it screws up it's your fault."
AKA You're responsible and free us from liability.
3) The device is available without anything installed on it.


One loses the chance of possible improvements if everything is closed. Case in point: FreeBSD as an example.



			
				UNIXgod said:
			
		

> If it did maybe we wouldn't have dropped calls and battery killin crashed apps.



Dropping calls has more top do with service. Apps that behave badly have to do with the SDK environment, not the underlying OS.



			
				SirDice said:
			
		

> Suppose FreeBSD fully works on ARM, what else would it need to make a FreeBSD based smartphone?
> 
> I imagine we'd need some sort of library and/or driver to communicate to the radio ROM?



The application for use of the actual transceiver on the device is part of a separate branch. I've installed android to a card on an unsupported device (Pocket PC ) .

The arm port needs more work. Collaboration between the developers of the various BSD projects would help. Stubbornness remains the only obstacle to keep this from happening.


----------



## Bentley (Feb 12, 2011)

Android recently switched /bin/sh to mksh, which is based on OpenBSDâ€™s ksh.


----------



## oliverh (Feb 13, 2011)

Bentley said:
			
		

> Android recently switched /bin/sh to mksh, which is based on OpenBSDâ€™s ksh.



MirBSDâ„¢ Korn Shell: http://www.mirbsd.org/mksh.htm



> mksh is a DFSG-free and OSD-compliant (and OSI approved) successor to pdksh, developed as part of the MirOS Project as native Bourne/POSIX/korn shell for MirOS BSD, but also to be readily available under other UNIXÂ®-like operating systems.



I wouldn't even dare to compare it anymore to "ksh" of OpenBSD.


----------

