Hi, I´ve been modding my sgs for a year or so, I have tried hardcore speedmod and from there I later moved on to the cyanogenmod 7.1 nightlies.
I am familiar with odin, used it a lot and had a couple of panic flashes, once because nandroid restore failed. This seems unlikely, but it might have been because the rom was the stock 2.3.5.
Now I was thinking about all the partitions that are supposed to be on the internal memory (not the sdcard right?) and why wiping boot or recovery is tremendously fatal.
On a pc there is always the bios, and the bootloader can be installed in the mbr of the partition. Are the android bootloaders all similar regardless of the manufactor, and do they work like lilo and grub do? Could you boot with grub/lilo on a android device?
Sent from my GT-I9000 using XDA App
I doubt it very much.. Been asking myself this same question many times, but even without firing up my debugger and disassembler, an obviosu answer comes to mind : on IBM-PC compatibles (and, like it or not, even your brand-new kickass rig based on the latest 1500$-worth core i7 is still considered a IBM-PC compatible, it still carries the stigmas and limitations of the good old 8086 architecture from 30 years ago), you always have a common denominator : the BIOS (or EFI for the newer machines. But it's basically the same modus operandi, or principle of operation if you will), which passes control to the 'bootstrapper' (the part which launches the bootloader. In turn, the bootloader will be tasked with finding a launchable kernel on one of the partitions of the disks it can 'see') once the POST (or power-on self-test) is completed, and hands over control to the actual bootloader (LILO or GRUB, whichever you happen to be using), which will finish the boot sequence and load the rest of the whole circus...
On mobile devices the situation is entirely different, what with different device manufacturers using different processors (even if they're mostly all based on a basic common architecture, like the ARM specification that's so dear to our Andro-devices) and whatnot, all of which probably use very different bootloaders -which for the most part are incompatible and not interchangeable. It'd be too easy, and manufacturers would sell less hardware if we could all swap parts too easily
Hence the need for a specific bootloader (or more accurately 'bootstrapper', since the crucial part is when the chipset hands over control to the initramfs. The bootloader is the next step) for each device -or at least for each family of devices that are based on the same chipset (heck, even among the Samsung Galaxy family of devices, you got a truckload of different bootloaders which are not interchangeable. Try flashing the bootloader of a SGS2 on a i9003, and you'll most certainly earn a free trip to the nearest Samsung service centre)..
Those devices are just too "cutting-edge" (and the manufacturers too busy shooting at each other's feet to even think about consumers interests, let alone actually working towards satisfying the end-user) to be standardized like the PC architecture has been standardized (and looking back, even this has taken years to accomplish and countless -and endless- meetings among the representatives of the different corporations, who all had to work together to accomplish that, and all this in spite of their conflicting interests... Just see what happened with the HD-DVD and the Blu-ray standards to get an idea of the mess it can be, and how it always winds up taking the consumer hostage, caught in the crossfire)... :/
But to answer the basic question : booting an Android via GRUB *should* be doable -provided that GRUB is compiled with the specific optimizations and adresses needed by the host architecture (it'd probably be different whether your device is based on a Exynos CPU or a Qualcomm-based ARM clone, for example)- but this kinda makes the point moot, since you'd still be needing the specific libraries that the chipset needs in order to make it work, otherwise GRUB wouldn't know how to "talk to" the device in order to tell it to 'boot this kernel out of this partition, with such and such extra parameter'.. :/
Related
i was wondering if someone could help me install android on my sciphone dream g2, i know i am cheap and probably stupid too. but i needed a phone to work with and it was cheap. if you know how to do it and also, i would like to try and install android on my cect m88+ iclone.
I'm not sure if it would be possible. You have a different set of drivers (which means you have to build your own build from the proper Android tree). Then you'd have to incorporate the features you want from the other trees. What I'm worried about is the storage space on the device. It's really small. (If I read correctly.) But I'm not a guru by any means.
Different sites reports different storage sizes.
ivanmmj said:
Another site reports more space...
And:
Support Java MIDP 2.0
Is this true??
Click to expand...
Click to collapse
That's not going to help - you're talking about talking the OS... It's quite a big project IMO. If you're familiar enough with the hardware on the device and have some experience of writing device drivers it's probably doable (provided the phone is capable of it - 32mb RAM, 32mb Flash, 200mhz processor as an absolute minimum).
Features
* Slim/Flat Touch Screen
* Dimensions : 56 x 107.2 x 11.8mm
* Weight : 110G
* High-Res TFT display, 240 X 320 dots resolution with
* 2.8 inch Touch Screen
* Memory card slot supporting up to 16 GB microSD memory cards
* Up to 80MB internal dynamic memory for messages, ringing tones, images, video clips, calendar notes, to-do list and applications
* Talk Time: Up to approximately 2-3 hours
* EDGE 2.75G high-speed network
thats some of the specs of my phone
You would need further:
* exact type of processor: type, version, frequency
* exact type of GSM hardware, including version and subversion PLUS an appropriate radio flash or source therof or something making the Radio stuff work
* architecture of memory / flash
* chip and version of the USB subsystem: EHCI, OHCI or UHCI ?
* video chip: type, architecture, speed, version
* chip and version of the WiFi subsystem PLUS the orginal manufacturer's firmware
* sound chip: type, version - how does it interact with the GSM Radio subsystem?
... and so on, and so on. It would be nice to have a test cell tower simulator. But then, who would'nt like to have one?
Once you get this data (it's probably easiest to get an original schematic - from the manufacturer or from somewhere else), you can check each of the hardware components if they're supported in Android, if not, if they are supported in Linux. If not, you might be able to code them yourself.
Brace yourself. This will be a project using up about 1-5 man-years (and I'm talking about 5 days / wk, 8-hour days, not 1-3 evenings a week) depending on the amount of hardware support that already exists. Furthermore, it will be beyond a lot of peoples abilities (including mine) to assist you in any way. This is one hell of a tough job you're facing (barring the magical event that the phone accidentally is virtually a G1 clone. ).
I guess what I'm saying is: It's not worth the trouble. Once you've done all this, Android 5.0 will be running World of Warcraft II .
Yah...if this were doable with any kind of ease, you'd see many other phones out there with Android on it. It's just not feasible without the right resources.
Android may be free and open source, but it's only ever really been configured to work with one phone so far, the G1. There's a whole separate tree on Android just for the G1.
This is the same reason why you can't take a Windows Mobile ROM from a Motorola and put it on an HTC device. Software has to be made to work with hardware
So basically it's going to take some heavy heavy development to get something like this done and wouldn't be worth it for anyone to do it for free, when they could be making a VERY nice income getting paid to do it.
It cost a company thousands of $$ in resources to get an OS working with its hardware. This is why MACs couldn't run PC hardware for so long. MAC OS only worked with certain processors.
So yah...I don't think anything like this is going to happen real soon and be on a level where it's supported. The good thing is that since Android is free and open source, some software chop shop in India or China will have it working on Generic phones once the OS matures a little further past G1 hardware.
****and yes I know the OS has been on other phones, but really only supported on one phone successfully so far.
Give it up
give what up?
Guys, you missed one thing. The phone ALREADY RUNS ANDROID, just not a very good version. He's not asking about porting Android, he's asking about building a full featured build and installing it on his phone.
No it doesn't. It runs a chinese OS, with a skin on it to make it look like android.
See http://www.youtube.com/watch?v=fNJcBs2D4r8
One thing I'll say for the chinese though.. they make damned good knockoffs.
TonyHoyle said:
No it doesn't. It runs a chinese OS, with a skin on it to make it look like android.
See http://www.youtube.com/watch?v=fNJcBs2D4r8
One thing I'll say for the chinese though.. they make damned good knockoffs.
Click to expand...
Click to collapse
haha! The quality of the copy is AMAZING!
just shoot my dreams down then -.- i only came here for help. i know it doesn't have the real android os and i know it's going to be a trip porting drivers over for it. if i have to i guess i will have to code the drivers myself if i can. i was just here looking for some friendly help and not being shot down for a phone i bought. i did not have enough for the real deal so i thought i could make something good out of a clone. i did that with my iclone cect m88+. shoot i don't mind if i can install windows mobile on it. atleast it is something i can use and maintain with a better os then the one on it.the phone works but it has alot of bugs in it.
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".
I'm juggling with this idea for a little down the road but when I sit back and think about it, I have a hard time thinking of the benefits other than just for fun. What would be beneficial to you if you're considering dual boot for the tf700. This question is directed at android/ubuntu or android/win8 (if possible) users.
Sent from my ASUS Transformer Pad TF700T using Xparent SkyBlue Tapatalk 2
The main benefit I see is the ability to run Linux applications that are designed for laptops/desktops. Things like full office suites, more robust browsers, photo editors etc. Would add a lot more functionality to the tablet, and also get you all the advantages that a windowed environment would provide for multitasking. You can do all that without dual boot through a chroot, but since you're sharing ram and cpu time with Android its a bit slow and tight.
Would also give you the option to try Win8 if we ever get a port, if it actually delivers on its promises (I highly doubt it) it could save some money initially over buying a tablet actually designed for the OS.
I actually don't see a point in dual booting. There are not much other applications you would be able to run on Linux or win 8 other than stock apps. This is an ARM device which is not compatible with x86/x64 apps.
monkey10120 said:
I actually don't see a point in dual booting. There are not much other applications you would be able to run on Linux or win 8 other than stock apps. This is an ARM device which is not compatible with x86/x64 apps.
Click to expand...
Click to collapse
That really only applies to Win8. Since Linux and most of its software is open source, applications can generally be compiled to run on (or existing packages found for) any CPU type so long as its physically fast enough to handle it. The only catagroy I can see lacking on the Linux side would be heavily optimimized or 3D accelerated games, which there arent very many of in the first place.
Is it theoretically possible for me to install gentoo on my tablet?
Jotokun said:
That really only applies to Win8. Since Linux and most of its software is open source, applications can generally be compiled to run on (or existing packages found for) any CPU type so long as its physically fast enough to handle it. The only catagroy I can see lacking on the Linux side would be heavily optimimized or 3D accelerated games, which there arent very many of in the first place.
Click to expand...
Click to collapse
I thought some Windows 8 devices were to work on Tegra 3 devices? That could mean that over time, Windows 8 could get ported, right?
Not that I care, I -myself- prefer a touch-based OS for a touch-based device.
However, I still believe the are huge possibilities to improve browsing performances on Android.
Actually, being able to dual boot is very nice if you're into flashing different roms (flashaholic). It lets you have a stable go to rom. Then you can have that experimental rom to try out that may not all things thing functional or so forth.
I use Boot Manager on my HTC Evo 4G, which lets you have multiple roms on your phone; it runs them off your SDHC card. I have a stable Sense rom on the phone. Then I have, usually two, other roms on the SDHC card, such as CM7 and CM9.
jdeoxys said:
Is it theoretically possible for me to install gentoo on my tablet?
Click to expand...
Click to collapse
Theoretically, it would be possible. They got Ubuntu on the Prime, so I dont see why other variants of Linux couldn't be made to work.
adelancker said:
I thought some Windows 8 devices were to work on Tegra 3 devices? That could mean that over time, Windows 8 could get ported, right?
Not that I care, I -myself- prefer a touch-based OS for a touch-based device.
However, I still believe the are huge possibilities to improve browsing performances on Android.
Click to expand...
Click to collapse
Not quite... Win8 is only for x86 CPUs. WinRT will be made to run on Tegra 3 and has a chance of getting ported, but it wont run any Win8 desktop software, and is completely locked down iOS style so if you wanted to add any additional software without going through an app store (or period for the Desktop) you'll have to root/jailbreak.
lovekeiiy said:
Actually, being able to dual boot is very nice if you're into flashing different roms (flashaholic). It lets you have a stable go to rom. Then you can have that experimental rom to try out that may not all things thing functional or so forth.
I use Boot Manager on my HTC Evo 4G, which lets you have multiple roms on your phone; it runs them off your SDHC card. I have a stable Sense rom on the phone. Then I have, usually two, other roms on the SDHC card, such as CM7 and CM9.
Click to expand...
Click to collapse
This right here is the only reason I would ever dual boot. I love having a unstable cool new JB ROM but hate losing my daily driver ROM.
I'd love to dual boot (or emulate). Using Ubuntu/Win8 would massively enhance my productivity.
Let's see. I have a Casio E-750, an Old PocketPC which has a 200mhz NEC VR4131 MIPS Processor and has a 32mb of RAM and 32mb of ROM and could load almost any --big-- CF card (I actually tried loading up an 8GB CF card and it worked.) Around the year 2000-2003, I see sites rising up telling that you can actually Boot a Linux in your old PocketPC during those days, People made that possible using a bootloader. CyaCE. It's a boot loader almost similar to GRUB, i think. Though I'm not so sure if it actually erases your ROM and replaces it with the bootloader.
There's an Android System Image for MIPS floating around the Android SDK.
Around Year 2010 (correct me if i'm wrong) one of you guys made HARET and made Booting Android possible to all ARM based Windows Mobile Devices.
I came up with the idea of Using CyaCE (Since it's the only bootloader for MIPS) to use it as a bootloader for this little old thing I have and just put up the Android MIPS System Image on it.
Is it POSSIBLE for such a thing to happen that this Old.Old Thing here Could ever load Android?
Yes, probably the very much older versions that has less demanding hardware requirements, especially memory requirements.
http://www.netmite.com/android/mydroid/development/pdk/docs/system_requirements.html
http://android.stackexchange.com/qu...e-minimum-hardware-specifications-for-android
Your MIPS will probably work with the earlier versions of Android, but I think the performance will suffer, especially if you will be running it off the CF card.
Good luck with your experiment.
Sorry for reviving.
Found the good old files by internet wayback machine sites and all, Across some Japanese Websites back and forth.
After testing some few stuffs on it, Nah it fails at first attempt to launch the bootloader.
This thing aint compatible with the bootloader either way. Can't even ask those old dev's for it either.
Got no choice but to give it up then.
Either way, I got a new phone (HTC Inspire 4G). I've been installing ROM's on it and it's quite performing good. My Cassiopeia's Standing by on my desk these days. xD
Anyway, Thanks for the help.
-ZhakamiZhako-
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?