NetBSD or FreeBSD for Mobile Devices? - General Topics

Hey everyone. Last year you might remember hearing about the new Sidekick running a custom tailored version of NetBSD. Not being a fan of the Sidekick, I could really care less. But I still was intrigued by the fact that it runs NetBSD.
After a lot of Googling I noticed that there really are *no* projects out there for getting any type of BSD operating system running on mobile devices. I'm very curious about this for I've been a huge fan of all BSD distributions because their stability and speed. I mostly use these operating systems for server purposes of course, but anyone who has the time to make it a rock solid desktop OS can definitely make it happen. I've even installed NetBSD on computers with as little as 16mb of RAM running a Pentium 133mhz CPU and it runs very well. Which makes me think that it would definitely be a nice fit for a mobile device. After all, the iPhone runs an ARM variant of the Darwin kernel, which is based off FreeBSD.
Now of course an idea like this would require a boat load of work. Mostly with the bootloader and driver support for things like GSM, CDMA, WiFi, etc, hardware. But luckily as you may already know, the kernel has support for a huge range of architectures including ARM.
I know it sounds farfetched and might even sound retarded to a lot of you out there. "Why the hell would anyone want to do that? Linux is already doing the job just fine". But then again, why the hell not?
I would love to hear some input from the pros out there. I'm curious to know about the obstacles that I may face. Most importantly, I'd like to hear your opinions. At the least, I'd like to know if there is some kind of general bootloader out there, similar to HaRET that could boot another kernel other than Linux.
Thanks for your time.

project members
Hey guys, I'm going to begin cross compiling a custom NetBSD kernel for the ARM architecture and test it out a little with some emulation. I would love to get some help with the bootloader.

How have you been getting along with that?
Are you interested in creating a complete Net/Free BSD version of a mobile phone OS?
Get back to me when you have time

Sorry for offtop, but it's theme really interesting for me. Does anyone have any ideas how to do it?

I'm interested in this man, PM me if you want to compare knowledge

+1

Related

Ubuntu Linux (vs. Android) for phones and tablets?

Many would prefer a real Linux running on their phones or tablets, and that might not be too far away: http://blogs.wsj.com/tech-europe/2011/11/01/ubuntu-versus-android-for-phones-and-tablets/
Now how about a Gnome or KDE desktop environment to go with it?
Sent from my unrooted DroidX using Tapatalk from GetJar
Hi, im spam
Plasma is already being developed for mobile devices. Looks very promising.
Shoot me if I'm wrong, but MeeGo looks great as well.
Sent with Trix.
I support all open-source variants whether it is android, ubuntu, webos or meego
by the way, someone has tried to port ubuntu 11.04 to touchpad
http://forum.xda-developers.com/showthread.php?t=1304475
Why limit it to just one distro? What I'd like to have is the ability to run any chosen distro. This would require a bootloader that can load an arbitrary kernel, and all hardware drivers in a form that allows them to be compiled for any arbitrary kernel. This means keeping up with new releases of the kernel and new X versions. Like Nvidia does it for their Geforce graphic cards. Even better would be open-source drivers, but if the vendor keeps up, I don't mind a closed driver for a few hardware pieces.
But that's utopian thinking. And that's why (plus a few other reasons) I'll always prefer a netbook over a tablet. As for phones, with Nokia dropping Meego, I don't see any "true" Linux taking off.
omajgat said:
Hi, im spam
Click to expand...
Click to collapse
:-( the 10 post limit strikes again..
sent...ah whatever its on there now..
Moved

[Q] Trying to get Uplink: Hacker Elite working...

The passed few days I have been rtying to see if there was any way to be able to play Uplink: Hacker Elite game on my TF-101. It is a simple game and was released with windows and linux installs which lead me to believe it should be possible since Android is based off linux. Is there any one with better resources out there that might be able to find out more?
If the game was not developed for an ARM processor, or is not cross compatible between the architectures, then it won't work at all. Sorry :/
Thing O Doom said:
If the game was not developed for an ARM processor, or is not cross compatible between the architectures, then it won't work at all. Sorry :/
Click to expand...
Click to collapse
http://forums.introversion.co.uk/uplink/viewtopic.php?t=39111
Well someone was able to do a proof of concept but I can not find anymore so I feel your incorrect and just need some dev work or an emulator.
"It's an instance of android-x86 (http://www.android-x86.org/) running on VirtualBox because the Android emulator is way too slow."
Okay, I take it back. I said not at all, but okay an emulator would work, but no, you don't want that unless you like having 0.1FPS or similar.
You could port it to android via an app, if you could get the source. For now, assume no..
EDIT: "I bought the developer's CD from Introversion and am pretty much just translating the code to Java." <-- he's porting to an app (That guy you linked) You could wait for a proper port from him...
and progress on that port
--
"I have tested this demo on a HTC Wildfire and it does run, but the screen resolution is way too small for the game. So it _runs_ on mobile phones, whether it's playable is another matter."
What if I used:
http://forum.xda-developers.com/showthread.php?t=1364095
Shouldn't the Linux install work?
That doesn't change your processor, ARM linux is still ARM. If the game isn't built on a platform compatible with ARM, nope.
Master of Orion and many other games not built on a platform compatible with ARM and they work fine. Why is this so different? It is not a graphical game it is just a skinned spread sheet all text based with some pictures. None of the software requires any special hardware like T&L. I think you don't see the differences and only seeing "game" then taking a shot in the dark since for the most part you are right that 99% of games don't work unless made for the platform. It is because most games have hardware requirements outside the ARM architecture which this does not.
If you could point out something specific about why it would not work I might believe you but I think your guessing since you have a 99% chance of being right without needing the technical knowledge.
P.S. I had Uplink running on an Xbox running Ubuntu and it was not an ARM system.
xbox = 32bit, so that isn't a valid comparison.
I'm not taking a shot in the dark, I tried it on my Ubuntu install on my TF just to humour you since you don't seem to believe me.. Guess what? Didn't work. It needs to be ported, shouldn't be too hard if you could figure out how to get ubu on an xbox.
Thing O Doom said:
xbox = 32bit, so that isn't a valid comparison.
I'm not taking a shot in the dark, I tried it on my Ubuntu install on my TF just to humour you since you don't seem to believe me.. Guess what? Didn't work. It needs to be ported, shouldn't be too hard if you could figure out how to get ubu on an xbox.
Click to expand...
Click to collapse
Thanks for taking the time to try it out. I am good at implementation but I am not a coder. The xbox project I was part of but not alone.
If it's text only with not too many graphical interactions it shouldn't be terribly hard to port. You can download the SDK and give it a go if you like :] It'd be a learning experience, if you really love the game.
Looks like there getting some where with making it an app.
http://www.introversion.co.uk/uplink/mobile/
Only a matter of time then x)

[Q] Why our generation cant support WP8?

I dont understand much about the architecture of software, im asking this because i dont get it, why the processors of our devices cant understand the new kernel and the instructions of WP8. in my head, its exacly the same saying that our pc desktops processors couldnt run the new Windows 8. i would like to know what are the barriers in this case. So guys, what they would be in your opinion?
This was posted by a dude on Reddit.
Disclaimer: I work at Microsoft. But not on Windows Phone.
Windows Phone 7 was built on top of Windows CE kernel (the same as Windows Mobile, and for those who are young enough to remember, Pocket PC and Windows CE Handhelds - this was in 1997).
Windows Phone 8 is moving to NT kernel, the same one as your desktop operating system is using. NT kernel requires radically different hardware - specificaly, TLB mappings in pre-v7 ARM CPU contained logical addresses and this does not work very well on symmetric multiprocessor OS.
So older ARM CPUs did not work with NT kernel, and move to the different OS kernel required radical redesign of the OS. Also, of course the desktop/server OS kernel requires significantly more RAM.
With the large generational shifts it is not uncommon for OS to lose compatibility with old software. These shifts do not happen very often, but they do happen.
For example, Windows NT did not support PCs with 286 CPUs (which were rather common when it shipped), or with less than 12MB RAM (something that is easily upgradeable on a PC, but much more difficult with the phone). Similarly, Windows NT 3.5 dropped support for 386 family entirely.
For Microsoft to have, as you call it, "foresight", it would probably have to drop Windows Phone 7 altogether and go to NT-kernel based solution. It would not have made Phone 8 to appear any faster, however - it would just have lost 2 years.
Click to expand...
Click to collapse
http://www.reddit.com/r/gadgets/comments/vdjwe/designed_to_fail_all_windows_phone_7_handsets/c53rh01
I think that answers your question.
Beautifuly!!! Thanks!!
m125 said:
This was posted by a dude on Reddit.
I think that answers your question.
Click to expand...
Click to collapse
This answer is a complete bull****! MS already run NT kernel on the arm cpus for a years! This guy is referred to the "desktop" kernel but of course Apollo/WinRT/ (whatever the MS ****heads will call it in the future) has a different (from the desktop OS-es) kernel.
What the "older arm cpu" he's mentioned about??? Nokia Lumia 900 has Qualcomm APQ8055 Snapdragon cpu (google or wiki for that). What the hell "pre-arm"???
Sorry, it's not an explanation, just a stupid bull**** from ignoramus. He definitely needs a "radical redesign" of his brain
Oh c'mon, if our CPUs were the same old Qualcomms from Android 1.6 days I would believe it, but they are last-gen Snapdragons, goddamit!
I'm pretty sure Microsoft could support it as easy as adding two drivers, but it won't. Specially since all phones are the exact same hardware, with WP7.
The point about TLB mappings might be valid... if it weren't for the fact that these are all single-CPU, single-core processors (in WP7 devices). There's no need for a kernel to support SMP. In fact, you don't *want* a SMP kernel on such a processor; there are performance optimizations you can make for single-hardware-thead systems.
Historically, Microsoft has actually shipped two copies (per architecture) of the NT kernel on their desktop OS install media, one for SMP and one for single-core. The installer would use the correct one for the hardware. There is no technical reason that they couldn't do similar with WP8, shipping one NT kernel for single-core phones (which would be able to run on ARM v6) and one for multi-core (which would require ARM v7).
As for the RAM issue, that's a red herring. The RAM requirements of a basic MinWin system are far below the half-gig of WP7 devices. Even adding the phone's extra libraries and user interface, it should still be possible to implement msot if not all of the software features of WP8 while leaving a comfortable overhead for running and app or two at a time (that being all that WP7 officially allows anyhow).
@sensboston: The first that I'd heard of Microsoft running NT on ARM was 2010, when multi-core ARM v7 was already available.
Actually, I agree that the guy doesn't seem to know what he's talking about; according to Wikipedia (unreliable but in this case I see no reason to expect incorrectness), the Snapdragon processors use the ARM v7 instruction set anyhow.
@GoodDayToDie, last two days I've heard a lot of very different (but all BS and incompetent) explanations from MS employees... Seems like guys in marketing department don't have enough engineering knowledge, and can't announce any realistic-looking reason. But may be they don't have to: for general public some unknown "martian" words like "TLB mapping", "GDT and IDT" etc. sounds very "reasonable"
guilhermedsx said:
Oh c'mon, if our CPUs were the same old Qualcomms from Android 1.6 days I would believe it, but they are last-gen Snapdragons, goddamit!
I'm pretty sure Microsoft could support it as easy as adding two drivers, but it won't. Specially since all phones are the exact same hardware, with WP7.
Click to expand...
Click to collapse
I really agree with that!! how loudly do we have to yell? But in my point of view nothing about it will be done, microsoft need money and need for yesterday, and yes they will sacrificate the poor white sheeps (that would be us) and watch them bleed just to launch "a completely new OS" that our phones "doesnt support".

Voice of confidence.!

I am a beginner on this page. I am writing this to backup the other developers on this form. A lot of people who has been going around on the surface forum repeating over and over fat some functions will never work. I've been around modding phones since when Windows Mobile 3 came out back when I was in middle school. I remember when Windows Mobile came out a website called geekstoolbox.com whats the phone for many modders to build custom firmware for Windows Phones. I remembered and middle school it was difficult to make certain improvements because Windows Mobile phones were close systems. I remember then listen to visit on the forum who actually broken too the phone am I allowed a dump of data to flow in Internet of his phone start new custom ROM custom firmware revolution to begin. Afterwards, I begin saying revolutionary products such as wifi tether, Bluetooth tethering, Mobile sharing, and in custom OS. to those web visiting thi about s forum repeating over and over and over, that there would be no Windows based x86 programs on when does RT we'll be eating crow when it finally does happen within the next few months. I see it being possible when you consider if someone will, compile a virtual machine enabling many features of Windows 8 x86. Furthermore, suppose it becomes like parallels Macintosh. In addition, maybe someone will develop 8 translator package for Windows 82 windows Rt to understand each other's programs. all that I am saying is please do not be downers and out other people expressions about this tablet and is always
Sent from my SGH-T999 using xda premium
I meant to end by saying, please do not doubt other people's expressions about this templates capabilities in with the wish to see on this tablet because the possibilities are there and if someone desires it enough it will come to fruition.
Continuously be blessed signing out!
Sent from my SGH-T999 using xda premium
There are already two x86 emulators (Bochs and DosBox) for Windows RT. Bochs is slow to the point of being unusable, and DosBox is slow to the point of lagging while playing games from 1992.
x86 will likely never run (games) well on Windows RT, but it does in fact already run.
See,! It already possible . I have 1 questions, do they use virtual machines or do they do rely on the Internet
Sent from my SGH-T999 using xda premium
befreshshaveivorysalesoap said:
See,! It already possible . I have 1 questions, do they use virtual machines or do they do rely on the Internet
Sent from my SGH-T999 using xda premium
Click to expand...
Click to collapse
They use virtual machines, but they're slow to the point of complete uselessness. It takes half an hour to boot XP in them.
befreshshaveivorysalesoap said:
I meant to end by saying, please do not doubt other people's expressions about this templates capabilities in with the wish to see on this tablet because the possibilities are there and if someone desires it enough it will come to fruition.
Click to expand...
Click to collapse
Tempered with a dose of reality, when you acknowledge that even a dual core ARM cpu is still very underpowered to emulate a full x86 cpu/environment. If what you want is a good x86 experience, the Surface RT isn't what you want.
That's not saying you can't get a decent toy x86 environment, or really good recompiled for arm desktop apps. Those two work fine.
schettj said:
Tempered with a dose of reality, when you acknowledge that even a dual core ARM cpu is still very underpowered to emulate a full x86 cpu/environment. If what you want is a good x86 experience, the Surface RT isn't what you want.
That's not saying you can't get a decent toy x86 environment, or really good recompiled for arm desktop apps. Those two work fine.
Click to expand...
Click to collapse
Maybe not the full experience but something like WINE on Linux. Most people who buys the RT version aren't power PC users and don't require much anyhow , except for a few apps
befreshshaveivorysalesoap said:
Maybe not the full experience but something like WINE on Linux. Most people who buys the RT version aren't power PC users and don't require much anyhow , except for a few apps
Click to expand...
Click to collapse
Wine on x86 linux isn't emulating the CPU. This is a critical difference.
schettj said:
Tempered with a dose of reality, when you acknowledge that even a dual core ARM cpu is still very underpowered to emulate a full x86 cpu/environment. If what you want is a good x86 experience, the Surface RT isn't what you want.
That's not saying you can't get a decent toy x86 environment, or really good recompiled for arm desktop apps. Those two work fine.
Click to expand...
Click to collapse
I believe that all the Windows RT devices are quad core right now.
befreshshaveivorysalesoap said:
Maybe not the full experience but something like WINE on Linux. Most people who buys the RT version aren't power PC users and don't require much anyhow , except for a few apps
Click to expand...
Click to collapse
It's really very unlikely that any x86 program bigger than Notepad will ever be usability fast/stable. I'd go read up a bit on emulation and the downsides regarding speed with it. This is the same reason that android tablets, which are quite arguably far more suited for this, can't do anything better than emulate 20 year old OSes, and do that poorly.
netham45 said:
I believe that all the Windows RT devices are quad core right now.
Click to expand...
Click to collapse
d'oh! flip flopping between windows phone 8 and windows RT Yep, 4 arm cores. Still like trying to emulate a V8 with an inline4.
netham45 said:
I believe that all the Windows RT devices are quad core right now.
It's really very unlikely that any x86 program bigger than Notepad will ever be usability fast/stable. I'd go read up a bit on emulation and the downsides regarding speed with it. This is the same reason that android tablets, which are quite arguably far more suited for this, can't do anything better than emulate 20 year old OSes, and do that poorly.
Click to expand...
Click to collapse
Instead of emulating an entire OS, would anyone entertain the idea of a program translator; A program could be build with the libraries of some main OS'es. Within the translator, when an x86 program is called the programs determines what operating systems' library to use. The translator would then render a version of the program Windows with RT can understand.
Couldn't this be likely.
netham45 said:
There are already two x86 emulators (Bochs and DosBox) for Windows RT. Bochs is slow to the point of being unusable, and DosBox is slow to the point of lagging while playing games from 1992.
x86 will likely never run (games) well on Windows RT, but it does in fact already run.
Click to expand...
Click to collapse
I believe I no what the issue with these are.......... Bochs and DosBox do not allow users to control processing cores for each emulation. These emulators need to be updated to take advantage of this feature, it's a blessing for other OS'es
There's already a translator project much like what you describe, actually. It's early alpha quality right now, only able to run a few apps and those slowly and with stability problems, but it's a very promising proof of concept. The developer is using the DOSBox dynamic recompilation engine, optimized for THUMB-2 (ARM variant that Windows uses) with some hacks in it to remove support for stuff that only the kernel has to care about like page tables and whatnot (these hacks apparently substantially increase speed). The recompilation engine is not currently thread-safe, which means it has to run on a single core (although it's possible that the translated program itself might be able to run across multiple cores; I don't know for sure) but the possibility of fixing that is being investigated.
The project is on the Dev&Hacking sub-forum, and there's a download link for it and a (mostly playable) demo of Heroes of Might and Magic 3 as an example of what it can currently do.
Can someone point me in the duration to learn about building for ARM. I want to see if I can contribute. In school I am only learning about the x86 and x64 architectural
befreshshaveivorysalesoap said:
Can someone point me in the duration to learn about building for ARM. I want to see if I can contribute. In school I am only learning about the x86 and x64 architectural
Click to expand...
Click to collapse
Currently this is the porting method: http://forum.xda-developers.com/showthread.php?t=2096820&highlight=arm
Requires visual studio to cross compile from a desktop windows machine.

How to do Virtualization on Android

Disclaimer: This is an open discussion thread for How to do virtualization on Android! It's not a reference or guide! But hope this thread can lead us towards making a way to do it!
Intro: Once phones was a tiny piece of electronic device which was mainly used to talk and sending text messages! (I am talking about mobile phones off course! )
Then here comes smartphones like the symbian one and then iphones and Android!
They opened a lot more way to do on a device rather than only talking or texting!
But still we needed to rely on laptops or desktops to do extensive tasks which we couldn't do (yet) on smartphones!
The main reason was the lack of technology or the memory and processing power limitations on these device!
I remember I bought my first Redmi 2 at a cost of 200$ back in April 2015 which featured quadcore Qualcomm processor, 1GB of RAM and 8 GB of internal storage space!
But now the time has changed! Technology advanced exponentially! After 3 years of my first Xiaomi device, I bought another one (Mi A1) with almost the same price! Whuch features double (on the basis of cores) processors and 4X RAM and 8X internal spaces!
In the mean time on the mainstream computing counterpart, virtualization technology becomes so popular that if not all but most of the servers runs based on it! We have also docker now!
We can now use or test any software/OS on any device (mainstream computers off course) by the grace of virtualization!
On the other hand, Android devs still needs to do the hard work to port ROMs let the OS itself! And yet we can't run Windows on a Android device!
But wait! Android is also a Linux! Isn't it?
So, if Linux can run QUEMU/KVM, why not Android?
And most of the Android SOCs now are 64bit!
So, can't we just make it happen? Can't we just find a way to do virtualization and run any OS on a virtual environment right in our hand?
May be!
I don't know if any guys working on this or not!
But here's how to:
1) Enable virtualization support on kernel
2) Make an apps for Android for manging the virtual machines (like VirtualBox, VMWare etc.)
I think the Android kernels (most of them) supports virtualization already!
The hardest part is to make it compatible with the frontend Android! Which brings the apps and interfaces!
I know there's wine exist for Android! But that's just a complete different thing what I am talking about!
And I wasnt able to run wine on my tissot (Xiaomi Mi A1)!
Thanks everyone who is reading!
Give your valuable opinion and ideas!
Hope someone like @CosmicDan can make it!
ARMv8 (every phone) doesn't have hardware virtualisation extensions, so it would be as slow as emulation.
For that, we already have QEMU and KVM. But it's too slow to be of any practical use.
If you want proper virtualisation, you need ARMv8.1, which no phone has.
CosmicDan said:
ARMv8 (every phone) doesn't have hardware virtualisation extensions, so it would be as slow as emulation.
For that, we already have QEMU and KVM. But it's too slow to be of any practical use.
If you want proper virtualisation, you need ARMv8.1, which no phone has.
Click to expand...
Click to collapse
Hmm! I just realised the hardest part: it's ARM and not x86_64!
ProttoyX said:
Hmm! I just realised the hardest part: it's ARM and not x86_64!
Click to expand...
Click to collapse
That's emulation, not virtualisation.
You can use QEMU, Bochs or DOSBox to emulate x86 (x86_64 is probably impossible, idk but it's pointless to try). But it's dog slow and always will be.
CosmicDan said:
That's emulation, not virtualisation.
You can use QEMU, Bochs or DOSBox to emulate x86 (x86_64 is probably impossible, idk but it's pointless to try). But it's dog slow and always will be.
Click to expand...
Click to collapse
Hmm! Got it! This thing came into my mind when I was reading about servers based on ARM! Wondered if they provides virtualization/container service or not! And ARM provides more cores than x86_64! I guess it's it's related to RISC/CISC thing! Not sure though!
ARM servers uses ARMv8.1?
AND PLEASE DON'T MIND ABOUT ENDING EVERY SENTENCE WITH (!)! PLEASE!
No one can always be rude! ?
I am surely not!
Again thanks for what you’ve done for the tissot and other staffs! You are genius! ?
ProttoyX said:
Hmm! Got it! This thing came into my mind when I was reading about servers based on ARM! Wondered if they provides virtualization/container service or not! And ARM provides more cores than x86_64! I guess it's it's related to RISC/CISC thing! Not sure though!
ARM servers uses ARMv8.1?
AND PLEASE DON'T MIND ABOUT ENDING EVERY SENTENCE WITH (!)! PLEASE!
No one can always be rude! ?
I am surely not!
Again thanks for what you’ve done for the tissot and other staffs! You are genius! ?
Click to expand...
Click to collapse
Yes those ARM servers would be 8.1. It's not so much a RISC vs CISC thing but more an SoC vs CPU thing. Our devices are SoC's - sure they have many GHz and cores but they're still a lot slower that a proper CPU which has countless of extensions designed for accelerating tasks, and have more IPC capability and other such things (in short GHz/core count is comparable across different platforms or architectures, it's more relative than that). Our SoC's simply don't have those extensions that would make this feasible.
CosmicDan said:
ARMv8 (every phone) doesn't have hardware virtualisation extensions, so it would be as slow as emulation.
For that, we already have QEMU and KVM. But it's too slow to be of any practical use.
If you want proper virtualisation, you need ARMv8.1, which no phone has.
Click to expand...
Click to collapse
Every ARMv8,and even ARMv7 has.On v8 it's called EL2 while on v7 it's HYP mode.However the biggest headache is that most SoC vendors do not allow users to enter it even with bootloader unlock.
On Qualcomm there are no way except a low level powerful exploit. On Exynos it is possible,needs a specific SMC to trustzone,and can be done only with an unlocked bootloader with custom kernel.
fxsheep said:
Every ARMv8,and even ARMv7 has.On v8 it's called EL2 while on v7 it's HYP mode.However the biggest headache is that most SoC vendors do not allow users to enter it even with bootloader unlock.
On Qualcomm there are no way except a low level powerful exploit. On Exynos it is possible,needs a specific SMC to trustzone,and can be done only with an unlocked bootloader with custom kernel.
Click to expand...
Click to collapse
do you have any references links on this? maybe a cve for the qualcomm exploit?

Categories

Resources