Why doesn't Android use FreeBSD?

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.
 
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.
 
As far as I know, Android was a startup later acquired by Google. So the decision was made before Android became Google's Android.
 
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:
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.
 
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?
 
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).
 
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.
 
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.
 
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...
 
Last edited:
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.
 
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...
 
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.
 
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 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.
 
Back
Top