In my question i mentioned i dont have the platform tools folder and thats exactly my question can i exract the factory image folder to my desktop and open command window there,then execute the commands?
Alright it is gonna be more on the simplistic side because I don't know everyone's knowledge level.
The boot.img consists of a kernel and the ramdisk, the ramdisk includes all the init files and basic loading of everything. When developers talk about getting something to boot, they are normally working on the boot.img and fastboot (generally depending on the platform and availability of fastboot), you can also make update.zips and flash them as usual too. The inits between kit Kat and android L are different mostly because of selinux and induction of Knox so it is taking a bit longer to get that all worked out.
Second is the system.img that can either be fastboot flashed or turned into a zip with the proper layout and updater script to make a flash able update.zip too (once again depends on the device, some actually use tarballs)
Now here is where it is more difficult to explain.
Everything in a Linux file structure is a file, the ram, drivers, sdcard, all is a file. Proprietary binaries are the driver code provided in a binary file for everything from the camera to the touchscreen drivers to work the emmc hardware. Those binaries are code compiled against a certain version of the software and then distributed as closed source binary code. Google would have that code because it is provided under NDA to them to work with.
Next we talk about libraries, libraries are either static or dynamically linked and are compiled code for the system to use, these are highly important because these control everything at the upper system level. When programs are compiled they rely on other programs or hardware to work while also talking to the kernel. Dynamic libraries intertwine throughout other files with linker files or directly into the code while static libraries are worked on and don't need other libraries to function. As far as porting goes, you normally have the code that versions are based on so you can read it and have an idea of what links to what and write linker or fake files to bypass the dynamic libraries they are built on so you can rewrite a library for the function can continue (in porting, you write it so it will work with your hardware vs the original intended hardware)
Now the problems we are running into against say porting touchwiz to work on the n4 or even back porting. We don't have android L code at all, we don't even know what changes they made to the kernel or any code whatsoever in the source and since we can't compile our own libraries to work with our hardware because we don't have the code puts us at a distinct disadvantage against say a back port. There has been WiFi file structure change ups, selinux, Knox and art runtime changes that we don't know and can't see and we are working on unknown to us changes.
I hope that described it a bit, I kinda rambled and didn't proofread it, there is more involved but I was just trying to explain the gist of things in simple terms
You know what guys? We should all download the image for the nexus 5, make it into a flashable for the nexus 4 by changing 1-2 things in the updater script, post something like "done porting, will test in a bit". Then post "damn, bootloop". Later, something like "Ok, that didn't work. I'll try this tool. I hope it will boot now", etc...
Really, there are a few people claiming to be devs and getting hopes up like this. The guy says "bootloop", "no logcat"... Bootloop?? No logcat? Wow, that's something new. I don't remember seeing anything about that like 10 pages ago. You are the first to get to that point. Awesome!
What's more funny is that people are giving them a hell of thanks and are all like "Wow! Great job man! Keep it up. We believe in you!"...
I'm apologizing in advance in case you find this offensive but this one person posts "porting finished now testing" when he hasn't even flashed the package yet and he gets 34 thanks points which makes it to the top of the thread, above the people who are actually working on a port and have done numerous tests. Well, we can imagine that this person is a super developer who is super confident that his port will work and doesn't need any actual testing in order to say that he has "finished" porting. However, just after a single post he says "not even sure its booting", "Zipping now", "Rebooted hope it boots". Just, what the hell?
Now, do you see any actual devs going around the thread posting their every single status update? Do they do that? They don't, right?
I just hope these people are just posting out of pure excitement and have no intention of making use of this chance to fill their thanks meter up for no price.
google link was hit too much and dead now, thanks for the firedrive mirror @hardrockk
FIRST BOOT TAKES ABOUT 20 MINS, wipe your dalvik-cache also since it is a new runtime
I don't even know what will be working and not, defconoi was doing the testing and debugging while I was working on it so not exactly sure yet and as @percy_g2 pointed out there was missing vendor files that were for camera and bluetooth so they might be working.
Dalvik-cache is working now and was a big step in towards getting the package manager to instal but it isn't yet. It is set to selinux permissive at boot now too and strict policy was turned off which will have it booting fast
@percy_g2 pm'ed the none gapp version to you for you to help on debugging