[Q] Porting From Xoom - Xoom Q&A, Help & Troubleshooting

Hi all,
I'm hoping some of you guys in the know would lend me a hand here. I recently became the proud owner of a Fusion Garage Grid 10. It's a really great slate that's based on the Tegra 2 platform, just like the Xoom. Unfortunately, unlike the Xoom, it was neither successful nor did it ever run a "true" version of Android. It is also no longer supported by the manufacturer, as the company itself no longer exists (they went bankrupt, big time).
Right now, through the efforts of some other Grid 10-owning community members, there is a stable build of Android 2.2 for the device, which I am currently running. However, I would really like the device to have a working version of the latest Android 4.0.3, not only because the chipset is powerful enough to justify it, but also because the device has no hardware buttons, making navigation in Froyo a bit of a hassle.
To this end, I have starting looking around and trying to learn as much as I can about Android, the nVidia Tegra chipset, and embedded computing in general. Although I have some significant experience with both Linux (I'm a Linux SysAdmin by trade) and Windows (MCSA, MCSE, MCDST, MCTS for Win7), I'm finding that the world of embedded computing is very different from that of the PC.
I was hoping that some of you more learned guys here could tell me if my current understanding of the situation is well-founded, and maybe give me some pointers on where to go from here:
As far as I understand, the easiest (ha!) way for me to go about getting a version of Android 4.0.3 running on the device is to port a build meant for another device to the Grid 10. To do this, I need the boot.img and system.img from another device. After I get those, I need to extract their contents, replace the kernel in the boot.img with the original kernel for my device, and replace the hardware and kernel specific files in the system.img with the corresponding original ones. After this I need to flash the updated images to the device and then debug through adb for a long, long time.
Obviously, that's a bit of an "in a nutshell" overview, but hopefully it is basically correct. Assuming it is, I have started taking steps towards completing this goal. So far I have:
1. Made a 1:1 backup of the internal NAND of the device using nvflash (a partition at a time)
2. Acquired the bootloader.bin, system.img, boot.img, and recovery.img used in the build of Froyo that was created by the community for the device (nvflash is used pretty much exclusively at this point, no update.zip's here!)
3. Downloaded the latest master branch of Android 4.0.3 from the AOSP and compiled it for the Xoom - this generated a boot.img, system.img, and recovery.img of Android 4.0.3 (albeit for another device)
Right now, I am in the middle of trying to transfer the data from the old images into the new one, and am running into some problems. However, I think I've already typed enough, and I don't want to overwhelm you guys with questions, so I'll stop there
Is the road I'm heading down right now the way I should be headed if I would like to have Android 4.0.3 running on the device (eventually)? If not, could you please point me in the direction I should be heading?
Thank you in advance, your patience and assistance is very much appreciated
~ Kent
MODS - Please feel free to move this to a more appropriate forum if applicable. I posted here because a lot of the issues I am running into revolve around my build of the AOSP for the Xoom, so I figured this would be the best place to ask.

Related

[Q] ROM's, Kernals, Recovery's and ROOTING?

Hi Fellow old and New Devs,
The title suggests it all. I have four questions that I think ALL newbies want to understand. I would try and explain them, but as I am just coming out of the newbie stage, I'm sure people would prefer an answer from a experianced Dev.
When answering a question please put the Question Number. Feel free to answer only one or two of the questions, I'm sure other people will cover your missing fields of knowledge.
Here they are:
1. What is rooting? Can I root my device (HTC Buzz Wildfire) and keep the stock interface? Will I loose my data?
2. What do all these Dev's mean by Recovery? What are they, why are they needed?
3. What is a ROM? Do I need to be rooted for a custom ROM? How can you trust them? Will I loose my data when installing a custom ROM?
4. What is a Kernal? How are they Different to ROM's? Should I change from the stock Kernal?
I know this is a tall order and you could write a book on the topic, but please could you write a short (a couple of sentaces will do) paragraph on each question you choose to do.
When we get enough understandable answers I will edit this post publish the Final answers for other newbies in the future.
Also feel free to enter the poll! As this is a Dev site I presume one of the options will have the most votes but we will see....
Cheers for any contribution in advanced.
th3ant
th3ant said:
Hi Fellow old and New Devs,
The title suggests it all. I have four questions that I think ALL newbies want to understand. I would try and explain them, but as I am just coming out of the newbie stage, I'm sure people would prefer an answer from a experianced Dev.
When answering a question please put the Question Number. Feel free to answer only one or two of the questions, I'm sure other people will cover your missing fields of knowledge.
Here they are:
1. What is rooting? Can I root my device (HTC Buzz Wildfire) and keep the stock interface? Will I loose my data?
2. What do all these Dev's mean by Recovery? What are they, why are they needed?
3. What is a ROM? Do I need to be rooted for a custom ROM? How can you trust them? Will I loose my data when installing a custom ROM?
4. What is a Kernal? How are they Different to ROM's? Should I change from the stock Kernal?
I know this is a tall order and you could write a book on the topic, but please could you write a short (a couple of sentaces will do) paragraph on each question you choose to do.
When we get enough understandable answers I will edit this post publish the Final answers for other newbies in the future.
Also feel free to enter the poll! As this is a Dev site I presume one of the options will have the most votes but we will see....
Cheers for any contribution in advanced.
th3ant
Click to expand...
Click to collapse
Okay, from the best of my understanding, here we go:
1: Rooting. To understand this, we must consider a computer, running linux, windows, or mac. In windows, the "Administrator" account is similar to the root account in linux and mac. Basically if you have root privileges in a system, you can modify every part of the filesystem, as well as perform any tasks the system is equipped to handle. Basically achieving root on an android device means that you can unlock the ability to flash roms, mod, and otherwise hack your device any which way you like. Nearly every model of android device has been rooted, so in most cases, yes you can root XXXXX phone. Also, since you're just gaining privileges, you can root without losing any data, apps, or settings.
2: Recovery. This is a long standing concept in SoC/Embedded device hacking. Basically it is a minimal operating system that performs some very basic, but very important tasks. The reason for it is so that you can write to the necessary areas on the NAND, which would be "busy" while android is booted. This offers a way to access the necessary partitions and write data to them while the data is not being accessed. It's also useful for backing up your NAND. Hence the name "nandroid."
3: ROM. By definition, it means "Read Only Memory." This is a chip on the board. ROM has evolved over the years. It started out as a chip that was sensitive to UV light. The earliest ROMs were "flashed" to a device by stenciling out the pathways and exposing the chip to UV radiation. Nowadays, we have fancy EEPROMs instead, which stands for Electronically Erasable Programmable Read Only Memory. This means that you can "flash" the chip by means of software, namely via Recovery mode in our case. Different ROMs have different features. They are all variations on source code made available by AOSP, or the android open source project. Some projects have their own code tracking, such as CyanogenMod. In most devices, you must be rooted to be able to install a ROM, however it is not explicitly necessary. A bit vague, I suppose. Specifically the tablet I own, the WITS a81e, you can flash a ROM to it just by putting the correct files on the TF card. This is not very common with phones, however. Flashing any rom that is not just a newer version of your current ROM will require a full format. For instance, if you have cyanogenmod and switch to a Sense or Blur ROM, you must format, but if you update from CM6 to CM6.1 you will not need to wipe. How can you trust ROM's? Well the best way to know is to either roll your own, or go with CyanogenMod, as their source is freely and easily available for scrutiny and improvement, along with a nice changelog tracker.
4. Kernels. A kernel is basically the most low level part of an operating system. It interfaces directly with the processor and provides all instruction for operation. Linux is technically not an operating system, it's a Kernel. The different distributions have the Linux kernel, and use their own different User Interfaces. Different kernels in android devices can allow you to overclock. There are many choices in kernels, and the features they offer. Some features are BFS/CFS which is the priority scheduling of processes. Some kernels allow you to charge your battery differently and conserve life. These are often called battery kernels. Also, some kernels unlock extra multitouch points in certain devices. There are different versions of the linux kernel, with many improvements with each iteration. Currently, the latest kernel available that I know of for android devices is 2.6.37. The froyo default kernel was a 2.6.32. I wish I knew a bit more about kernels, however this is about all I know. Perhaps someone could help us out and expand on this a bit?
Brilliant answer not too complicated... let's see what others say....
Sent from my HTC Wildfire using XDA App
What he said...
Pyroboy1080 well said...
That pretty much covers it.
thx for the infos..
Agreed. Thanks for using the poll!
nothing to add on that, as we used to say "merci beaucoup"
Can't ROM
Gotta be something stupid......
Can't install 2.2 or 2.3. Tried two different ODIN flashers. When I do the reset I do not get the triangel with downloading in the center. I'm rooted, Have ROM Manager, Superuser, Root Explorer, Super Manager, I'm unlocked.
I have Android SDK, Congnitive 4.1, NPS, Samsung Kies,SGH I897 USB Drivers, What else? I think I have it covered. In any case I never get the download . Even if I do a "ROM Manager Install fron SD Card, the result is a screen, blue at top and yellow at bottom with the last line saying "Installing Multi- CSC. I can let it run all night, no change in ROM. Does the Captivate sold by ATT have some kind of block or filter keeping me from updating?
Current firmware is 2.1 update 1, baseband I897UCJH7, Kernel 2.6.29 [email protected] #2, Build ECLAIR.UCJH7
Thanks
To better answer your question, I first need to know what type of device you're using...
fxstsb said:
Gotta be something stupid......
Can't install 2.2 or 2.3. Tried two different ODIN flashers. When I do the reset I do not get the triangel with downloading in the center. I'm rooted, Have ROM Manager, Superuser, Root Explorer, Super Manager, I'm unlocked.
I have Android SDK, Congnitive 4.1, NPS, Samsung Kies,SGH I897 USB Drivers, What else? I think I have it covered. In any case I never get the download . Even if I do a "ROM Manager Install fron SD Card, the result is a screen, blue at top and yellow at bottom with the last line saying "Installing Multi- CSC. I can let it run all night, no change in ROM. Does the Captivate sold by ATT have some kind of block or filter keeping me from updating?
Current firmware is 2.1 update 1, baseband I897UCJH7, Kernel 2.6.29 [email protected] #2, Build ECLAIR.UCJH7
Thanks
Click to expand...
Click to collapse
didn't know where to ask this?
hello, everyone..
i have some questions, i'm hoping some of you can anwser.
I used unrevoked to root my htc desire. after that, I used alpharev to gain s-off.
everything went fine, i got the joker, the white screen that lets me pick different options..
now Í tried all those options, nothing works.
I've been searching all night for a solution, and it seems my recovery boot and rom are missing? and what I came across is installing ANDROID SDK tools, and then run fastboot to recover an image. So I installed SDK tools, but fastboot doesn't run, it says some .dll driver is missing. in the platform-tools map is that .dll driver, should i move it?
Can someone get me a step by step tutorial on how to make my desire work again? Im kind of a noob, all I needed was to make a screenshot..
Thanks in advance, it would be appreciated so much..
Pyroboy, I'm using a Samsung Captivate. In another thread someone lead me to "All in One Toolbox". The other stuff is just stuff. That allowed me to install my ROM.

[Q] Creating Custom ROM

Hello, I'm new to all this Android stuff (I don't even have a phone yet, but its on it way)
I have been reading up on custom ROM creation but there are some things I don't quite understand.
Let's say I have a phone in Android 2.3. I want to create an Android 4.0 ROM to put on the phone.
Now... to compile Android 4.0 I need the drivers for my phone (which I doubt I will ever have access too since its only a cheap Android with a MediaTek CPU)
So I have a 2.3 ROM that contains all the compiled drivers and the Android 4.0 source code.
Is it possible to compile 4.0 and replace the zImage (if I'm correct) with the 2.3 zImage. From what I have read, that's where all the drivers are stored.
I guess its not that simple since I also think the zImage contains the OS. If so, is it then possible to extract the zImage and replace the invalid driver files in 4.0 with the correct drivers from 2.3?
Also, I think my phone will arrive with an annoying UI, is it possible to just get any 2.3 ROM (that doesn't have an annoying UI and shares the same CPU as my phone) and replace the zImage in that with my phones 2.3 zImage?
Sorry, if my questions are stupid but this is all new to me. I've tryed to read up on this but nothing is straight to the point.
Thanks
Anyone there?
try out some roms first. see what you like and dont like. it'll probably give you a better idea for how you would make your own rom.
I don't think you could just port an entire zimage to ICs and say it will work (it might not even compile i think). It won't work. You could probably take some drivers' code (screen, speaker, etc), modify them a bit so it compiles, and test to so if it works. You more than likely have to modify the ICS code also so it works. And the zimage is just the kernel no? And the kernel really only has to do with low level system processes, drivers, etc. I think UI's and such are more fitted in frameworks and such.
Personally if it was so easy to port ICS by simply replacing the zimage or file with another, ICS would have been ported to many devices, fully working, by now.
Kailkti said:
I don't think you could just port an entire zimage to ICs and say it will work (it might not even compile i think). It won't work. You could probably take some drivers' code (screen, speaker, etc), modify them a bit so it compiles, and test to so if it works. You more than likely have to modify the ICS code also so it works. And the zimage is just the kernel no? And the kernel really only has to do with low level system processes, drivers, etc. I think UI's and such are more fitted in frameworks and such.
Personally if it was so easy to port ICS by simply replacing the zimage or file with another, ICS would have been ported to many devices, fully working, by now.
Click to expand...
Click to collapse
Yeh, but my problem is I don't have the drivers for the phone. I just have the stock ROM that come with it.
Is not that simple. I am 99% sure that you can't do that.
The phone I'm getting has a horrible theme on it. Its running Android 2.3
I have the ROM for a very similar phone (also using Android 2.3), uses the exact same CPU so it should be compiled using the correct platform.
Is it possible to use that phones ROM but replace it with my phones Kernel and .prop (so it has all my phones drivers and settings etc...)?
the hard work required in making a custom rom
I think you can take from the stock rom and compared with existing custom rom
but some sources are not shared freely as an example Tegra
CMIIW
I will mess about with the ROM when I get my phone. Hopefully I wont brick it...
I too am fairly new to android. I spent a couple weeks reading and watching TONS of youtube videos on how to ROOT and Unlock my bootloader. My best advice from one n00b to another would be to do the same. In particular...research how to do it on YOUR phone. Also, Roms are device specific. I recommend you finding the forum here on XDA for your phone and read up on whatever ROMS are available here. This might not be the ONLY place to find ROMS, but this place simply rocks! Once you get your device rooted and if necessary, your bootloader unlocked...you can easily try out any ROM without much fear. Just make a good backup...make sure you also have a factory recovery image too...just in case. For backups...if you install and use Clockwork Mod (CWM) you can use the nandroid backup it offers. I bought Titanium backup from the market and used it to do a full backup before I started...it backs up to dropbox even, which was a nice feature for me. Extra safety so incase I hosed my external SD card which had my backups...I could easily retrieve a backup ANY place that had internet access. Lastly...get ready to have some FUN! Flashing ROMs is VERY addictive!! :-D
Ok, Thanks. I will see what I can do then.

Linux on TF300?

Hi Guys,
I am looking for linux working on TF300T, is there anyone who has anything working? I am planning to start with linux for TF300T, I want to know if anyone has tsarted, how do I collaborate and not reinvent the wheel. I have questions regarding what bootloader to use, lilo / grub / u-boot as Nvidia has a ubuntu distribution for its chip, which uses U-boot. Lot of questions can any dev please reply, so I can think of a place to start.
Thanks
Sent from my ASUS Transformer Pad TF300T using xda premium
So far I'm quite satisfied with my android linux device ( with some chroot debian thrown in for good measure).
I'm wondering about this as well. I've got some experience with linux (servers) but not a clue how the android boot structure works.
I have found this though: http://eeepadhacks.net/transformer-hacks/how-to-install-native-ubuntu-on-eeepad-transformer/
Not to spam, but does anybody have *NIX running on the TF300? I'm very interested since Android is based on the Linux kernel, so I would think that there is some form of *NIX running on this device, since I'm hoping that there is so I could actually use this as a "laptop" for my school work.
I am fairly sure that Android is Linux. However what people are missing is the GNU environment (and tools) that the majority of the Linux distributions have. You can see that Android/Linux is vastly different from GNU/Linux.
Thus, I think the question becomes something like "Is there anyone who has GNU/Linux working on the TF300T?"
There are two methods I know of to get GNU/Linux running on Android: Chroot and Dual boot.
* The chroot method runs the linux services and programs inside Android, but is available for basically most devices.
* The dual boot method works (mostly) with the original transformer (as Citruspers has mentioned)
I myself don't have a tablet yet, but I have been looking to get a TF300T (if I don't buy a TF700T - but that is for another discussion) on the basis I can dual boot Android with a GNU distribution.
Linux = kernel. Android runs a Linux kernel. Android IS Linux.
The two biggest differences between Android and "ordinary" Linux distributions are libc (called bionic in Android) and the lack of a real X server on Android (there is a Java version at https://code.google.com/p/android-xserver/ , but it's wayyyy too slow to get anything done (it's still awesome, though). It needs to be implemented in a lower level language).
/dev/void said:
Linux = kernel. Android runs a Linux kernel. Android IS Linux.
The two biggest differences between Android and "ordinary" Linux distributions are libc (called bionic in Android) and the lack of a real X server on Android (there is a Java version at https://code.google.com/p/android-xserver/ , but it's wayyyy too slow to get anything done (it's still awesome, though). It needs to be implemented in a lower level language).
Click to expand...
Click to collapse
Any chance Wayland will work any better with Android than X? I wouldn't mine tossing a *box or even WindowMaker on my tablet (assuming they play nicely with Wayland).
Edit: Yes, I realize that Wayland barely works with GNU/Linux as it is, and it probably won't be usable even on the desktop until I'm upgrading to a new tablet. I'm not expecting it anytime soon.
Extracted from http://androidroot.mobi/2012/06/17/ubuntu-on-the-transformer-prime-preview/ regarding Ubuntu on Prime 201...
It has been a while since the last post about ubuntu on the Transformer Prime. This post is going to explain a few of the new changes, and show a video preview of the system in action.
There have been a few changes since the last update:
3.1.10 Kernel -- Asus don’t update the kernel while remaining on the same android major release, so they won’t update the kernel until at least Jellybean, but we have worked really hard to bring us up to the latest kernel. This has given us the ability to use the latest Tegra ULP GeForce binary from nvidia and maintain acceleration with the latest releases.
Linux as a bootloader -- With some work to the process we have managed to get kexecboot working to give us a boot menu that will boot not only multiple kernels from eMMC, but also to allow booting from USB, SD, and MicroSD. At this point in time the guest kernel also requires two patches, one for speed (it is really slow to boot without this patch, 30sec-5minutes) and the second to copy ATAGS, this second patch is important so that the new initrd and command line get used.
Ubuntu 12.04 LTS -- The last image was 11.10 which is a little less stable. 12.04 has a new gpower applet which can read the battery levels. 12.04 also includes the mtrack driver allowing the trackpad to work. The biggest change with the new image is the use of armhf over armel.
LVM -- Turning mmcblk0p8 (/data under android) to an lvm volume group has allowed both android and ubuntu to coexist on the eMMC without needing nvflash for reformatting. This however does require a modification to the android initrd to reflect the change and for the lvm binary to be included so it can mount /data. Ubuntu natively supports booting from logical volumes.
Click to expand...
Click to collapse
I know, I know this is TF300 forum, but it seems the TF300 is more similar to the TF201 than the primitive TF101
EndlessDissent said:
Any chance Wayland will work any better with Android than X? I wouldn't mine tossing a *box or even WindowMaker on my tablet (assuming they play nicely with Wayland).
Edit: Yes, I realize that Wayland barely works with GNU/Linux as it is, and it probably won't be usable even on the desktop until I'm upgrading to a new tablet. I'm not expecting it anytime soon.
Click to expand...
Click to collapse
Good call. While we're on the desktop managers, how about KDE's entry in the mobile device space? Aren't they supposed to have a native linux tablet going to retail soon?
My chroot runs smooth but native would be fun! Hope someone get's this working.
I hope once the guys at androidroot.mobi release the installer package for Ubuntu for the Prime, it works on TF300.
I'm looking for the ubuntu on my tf300t too.
Its strange, I know Ubuntu showed off dual booting kernel for android devices like 6 months ago. You basically docked your phone and it became a full Linux desktop with unity. But haven't heard anything since, only a page on Ubuntu's site for hardware manufacturers.
http://www.ubuntu.com/devices/android
(Sorry to revive this old-ish thread, but I didn't think it was any better to start a new one and clutter up the forum)
It seems that no one gave an honest shot into loading linux NATIVELY (not via the "linux on android" project). The original poster mentioned being interested into giving it a shot -- so how things are going on your end aditya?
I am by no means an Android rom developer, hacker, or even linux hacker, but I started my first steps into it, I thought of getting things done by this method:
Instead of wiping the whole recovery partition like the guy on the TF100 did, i'd use a somewhat altered version of a recovery where I launch a recovery-like menu where the user can continue to the "real" recovery, or boot linux
(Basically, I got myself a version of the /sbin/recovery, which has its menus altered to only show "linux" or "recovery". Selecting recovery launches the real /sbin/recovery)
If the user choose to boot linux (which could be automatically selected after a timeout), that's where kexec steps in and boots the right kernel and linux pre-baked image files
I got all that covered (my pre-recovery menu is 90% working, custom kexec'd kernel w/kexec binaries packed into my recovery), but i forgot a small detail: There is no way I could load a full 1Gb Ubuntu image into memory, (in other words, what does happen to the old mount points managed by the first kernel when I load the second kernel via kexec? Gets broken, right?) So I came into realization I would need an initial ramdisk to mount my mmc so I could finally load/mount my main 1 Gb image file.
Honestly, for somebody not into hacking, I am under the impression this is getting out of hand. This could work, but I heard we could have nvflash fully working (read: re-paritioning coming our way, just like for the TF100 where there's linux natively on its own partition).
Is there anybody else trying to do such things like I do? I might also need a reality check on what i'm doing-- altough it seems the right way to me now
Linux and GNU
It's true, Linux is the OS kernel, but with the word Linux you can also mean the GNU/Linux environment with the kernel and all the applications running on top ("The gimp" or "Libre Office" for example).
Should be nice to have a GNU/Linux system running on a tablet device; I read that Canonical (Ubuntu) is working on a project for multi-core devices but I don't know about the development stage.
/dev/void said:
Linux = kernel. Android runs a Linux kernel. Android IS Linux.
The two biggest differences between Android and "ordinary" Linux distributions are libc (called bionic in Android) and the lack of a real X server on Android (there is a Java version at .... , but it's wayyyy too slow to get anything done (it's still awesome, though). It needs to be implemented in a lower level language).
Click to expand...
Click to collapse
Trying to make this work too.
I have a basic changeroot with gentoo and compiled a kernel and initrd. I wanted to try it out using fastboot (fastboot -i 0x0b05 -c real_root=/dev/sdb1 boot kernel-genkernel-arm-3.3.8-gentoo initramfs-genkernel-arm-3.3.8-gentoo) but it doesn't even try to load the kernel. I get an error 0x120000 on the screen of the TF300. I googled a bit and found out that the TF201 has the same problem, you have to flash a boot image.
How can I make a boot image using the gentoo files? I looked into abootimg but it seems it won't work. At least it won't split up the original images, so I fear it uses another format. Has anybody tried mkbootimg?
AEblefisk said:
I have a basic changeroot with gentoo and compiled a kernel and initrd. I wanted to try it out using fastboot (fastboot -i 0x0b05 -c real_root=/dev/sdb1 boot kernel-genkernel-arm-3.3.8-gentoo initramfs-genkernel-arm-3.3.8-gentoo) but it doesn't even try to load the kernel. I get an error 0x120000 on the screen of the TF300. I googled a bit and found out that the TF201 has the same problem, you have to flash a boot image.
Click to expand...
Click to collapse
I only know a part of the story here, but here's my findings so far. I never got "fastboot boot" to work on my TF300, always giving me that 0x120000 error. I am under the impression (I MAY BE WRONG) that "fastboot boot" requires a more devloper friendly device (think HTC G1, GNex, anything Google branded).
That being said, I am curious why you wrote "real_root=/dev/sdb1" as your kernel parameters
AEblefisk said:
How can I make a boot image using the gentoo files? I looked into abootimg but it seems it won't work. At least it won't split up the original images, so I fear it uses another format. Has anybody tried mkbootimg?
Click to expand...
Click to collapse
Personally I was able to look at how a recovery image was used and flashed onto a TF300. Without going into the details, I looked at how xplodwild's recovery was being made, and hacked around that recovery to use my own (basically trivial modifications from his).
To flash my image files, I am using "fastboot flash recovery" with my own recovery, which is basicaly a mkbootimg based image file like you said (you were on the right track), but wrapped around in a BLOB file format (using blobpack / blobunpack, see this xda thread).
So to answer your question, the only way I found so far to boot my custom kernels and init rootdisks is to flash it onto the device outright.
BTW: if you were to look at a pre-baked img file, (or, if you had no idea whats the file contents like), you could load the file into a hex editor (I use 'hexer' on ubuntu/debian, thats a command-line one). If you see "SIGNED-BY-BLOB", thats a blob file (a nvidia tegra and/or asus file format). If you see something else (usually starting with "ANDROID.."), thats usually something you can either mount or unpack using linux natively (most probably with "mount -o loop file /mnt/mountpoint")
EDIT: Slightly off topic, but still for AEblefisk: if you compile your own kernel, i suggest turning on activating the framebuffer tux logo option. More importantly, you could as well try and activate the framebuffer console too, however apparently "fbcon is broken on 2.6.39.4", so says Rayman. But at least, you'd get a hint that your own kernel is loaded and running if you see 4 tuxes on screen (one per core)
Thanks for pointing me in the right direction.
Now I managed to make a blob with the gentoo kernel and ramdisk. It flashes sort of OK with fastboot, sending in 2 seconds, but the write time is 0.016s and it seems nothing is written. I boot into Android when I reboot. (I'm flashing to boot, not recovery). Maybe I'm missing some offset or blocksize parameters?
bilange said:
...
That being said, I am curious why you wrote "real_root=/dev/sdb1" as your kernel parameters
...
EDIT: Slightly off topic, but still for AEblefisk: if you compile your own kernel, i suggest turning on activating the framebuffer tux logo option. More importantly, you could as well try and activate the framebuffer console too, however apparently "fbcon is broken on 2.6.39.4", so says Rayman. But at least, you'd get a hint that your own kernel is loaded and running if you see 4 tuxes on screen (one per core)
Click to expand...
Click to collapse
The real_root is for the gentoo initrd to find the real root filesystem on microSD. I have no idea if it will turn out to be mmcblk1p1, sdb1 or something completely different. I'll probably have to correct that once my initrd boots.
Yes I'm definitely trying to make the framebuffer logos work. Seeing that lineup of 4 tuxes is a goal in itself
I'm using 3.3.8 in gentoo so I hope fbcon is fixed.
AEblefisk said:
Now I managed to make a blob with the gentoo kernel and ramdisk. It flashes sort of OK with fastboot, sending in 2 seconds, but the write time is 0.016s and it seems nothing is written. I boot into Android when I reboot. (I'm flashing to boot, not recovery). Maybe I'm missing some offset or blocksize parameters?
Click to expand...
Click to collapse
I never touched boot so far to tinker around Linux booting, for the simple reason we never use the recovery partition except to flash/nandroid backup (which I rarely do), plus it gave me with Android booting if I dont press the volume button on startup. As far as development went, I think this was a win/win situation, although lilstevie (the guy who did make Ubuntu boot natively on his TF101/200) told me to "never touch recovery, flash boot instead", he was most probably talking about deploying our custom OSes to the world to use.
Now i'm kinda lost as to why the regular Android boot is being shown up. Having 0 experience with the boot partition (which i thought was similar to recovery), i can't really help you. Maybe you should get on freenode into the #asus-transformer and ask around (Don't let the numbers of nicknames scare you, this is a low activity channel, but the most knowledgables people are hanging in there. Just be sure to do your homework (aka Google etc) before asking, you should be fine )
As a sidenote, you should probably use some (most?) of the kernel parameters used in /proc/cmdline from a live Android OS. Most specifically the "tegraboot=sdmmc gpt gpt_sector=..." part. This makes sure your kernel reads the partition table at the right (unusual) location instead of reading where ever it was on a regular system (the first 512 bytes of the drive? don't quote me on this). I suppose this doesn't prevent the kernel from booting, but it will make the SSD partitions visible from your OS.
AEblefisk said:
The real_root is for the gentoo initrd to find the real root filesystem on microSD. I have no idea if it will turn out to be mmcblk1p1, sdb1 or something completely different. I'll probably have to correct that once my initrd boots.
Yes I'm definitely trying to make the framebuffer logos work. Seeing that lineup of 4 tuxes is a goal in itself
I'm using 3.3.8 in gentoo so I hope fbcon is fixed.
Click to expand...
Click to collapse
Would that be a 'vanilla' 3.3.8? I'm asking because, in case you don't know, I think you can't have much success using the regular kernel from kernel.org, and hope it will detect all the devices (specifically touch, sensors, wifi, gps(?), etc). It will maybe boot (your guess is as good as mine), but it will surely lack a few things here and there. That's why there are a ton of devices specific github kernel code base here and there: it's basically a 'stock' kernel source code, with the constructor's additions to make their various devices work, with community enhancements on top of all that. I may be wrong on the following (if there are any veterans reading this, feel free to call me a noob and point me to the right direction), but if you try to compile ASUS' kernel source code for the TF300, funnily enough everything compiles silently UNTIL it gets to the Tegra parts where it gets noisy with over 9000 warnings all along (but it compiles). That led me to believe that 1) NVidia or ASUS are lousy coders and 2) They added (most likely) OR modified a bunch of code to the stock kernel tree to make it 100% functioning on their devices.
All that wall of text only to say that I assume that the broken fbcon issue is most probably due to either ASUS/NVidia additions to the kernel code, or a bug from the 'stock' kernel code, and i'm assuming it was fixed in later versions (which lacks device's constructor modifications then again).
--
Offtopic: it seems ASUS has released the kernel source code for TF300 for their JB update! Compile all the things!! (And hope fbcon as been fixed so I can see something out of the screen)
I'll definitely do my homework now I'm worried I may have flashed some other place than boot, since Android is still booting, so now checking all corners of the tablet is on top of the agenda.
I know some things may not work with a vanilla kernel, but I was hoping enough would work for it to boot. Then I could worry about the rest afterwards. Maybe using the JB kernel source will be easier, but I don't know how much has been changed in android which is used in linux. I suspect Google has worked more on modifying linux for android use than ASUS has worked to make their hardware run in android. Another option is to work on what Nvidia has published.
Now I'm getting more experienced. I hope I get some real progress before I brick it
It turned out I wasn't writing anything to flash. It seems the first blob(un)packing tools mentioned in http://forum.xda-developers.com/showthread.php?t=1697227 aren't working (for me on my tab anyway). But when I tried the BlobTools2 with the blobpack -s option my resulting linux blob was written to flash (using fastboot -i 0x0b05 flash boot boot.img).
Unfortunately my gentoo linux kernel wasn't any good. I never got past the first Asus logo and on top of that CWM recovery couldn't restore Android. CWM went through the motions but nothing booted. I had to flash the stock blob, then I got my Android back.

[ROM][CM/AOSP][JB/KK] sediROM for LG Optimus F3Q / D520

sediROM for LG Optimus F3Q - Custom ROM (codenames: fx3q, d520)
This is about building a custom ROM like Cyanogenmod or AOSP working on the LG Optimus F3Q.
Introduction
First of all: At the moment there is no CM or AOSP based ROM available for the F3Q. Not yet.
That said it means I try to port CM (or build pure AOSP) to the F3Q and this is this thread about.
Some words about me and what I do:
I do Android ROM development since June 2014 mainly doing things based on stock.
Before the F3Q I never had to do with porting CM or AOSP to a brand new (no not such "new" anymore) device before.
New means "no file device tree" etc available. So I dive into porting months ago and still learning every day new things here.
Porting is nothing you can learn in a week or so The main problem with porting is that there is not much you can read or
where you can get many help for. The guides out there are very generic and to be honest the best would be having a pro on your site
which guides you through all the problems which WILL occur when porting.
Before starting I never heard about "loki", doesn't know how TWRP gets compiled or created an Android kernel with or without CM
automatism. In the meantime I compiled a working TWRP version, having a kernel in place which allows to boot unsigned system
images and many more. The only "little" thing left is to get CM ready.. Nevertheless I have 2 things which helped me a lot over
the years: patience and "never-give-up".
The state:
If you ever tried to compile Android or CM by your own you know that you need a valid file device tree (in this case "device/lge/fx3q/")
which contains all the stuff which describes the hardware, the things to do, proprietary files you cannot compile because their sources
are kept by LG and so on. Building that from scratch is a pain in the a.. so you need to find another device whose hardware is as much
the same as yours. In this case this means LG Optimus F6 which has the same processor etc. The great thing is that there are people
out there who had build a working device tree for the F6 which means it should be possible to have the same for the F3Q!
The problem is that before I used the DT from hroark and fixed several build errors there and well now I use the very much more newer
one from dm47021 and this means: adapt everything again, fixing build errors again..
Even when there is such a valid base available from a device with same specs this does not means it would simply work when copying
it over.
I need to adapt nevertheless many things to get the sources at least compiled! and then the question is what works and what not.
This is where we are atm: Fixing compilation errors (fix 1 and you get 2 new) and then we will see..
For updates about the state scroll down to the "current state" topic.
Here what we achieved so far :
Root:
Saferoot: http://www.andromods.com/root-unlock/d520-one-click-rooted-tmobile-lg-optimus-f3q.html (Original: http://forum.xda-developers.com/showthread.php?t=2565758)
Recovery:
CWM (I cannot recommend that CWM version atm! Because it was build with not a full valid device tree and is missing features TWRP has included!): https://play.google.com/store/apps/details?id=com.pressy4pie.oudhs.manager
TWRP (highly recommended!): http://forum.xda-developers.com/showthread.php?t=2867339
Kernel:
sediKERNEL thread
ROM related:
AROMA installer for customized ROM installation
Stock based "hLe Storm ROM" by @joel.maxuel: [ROM][STOCK][JB 4.1.2] LG Optimus F3Q / D520
Guides & Discussions:
General talk: http://forum.xda-developers.com/showthread.php?t=2650840
Revert to STOCK again: http://forum.xda-developers.com/showpost.php?p=54667480&postcount=181
If you want to help let me know and I provide you the sources and whatever else needed.
Current state (as of 2015-04-30):
Spent time = about 244 hours... any "Thanks" click still HIGHLy motivating..
Done:
Lokifying (without that we were absolutely L-O-S-T!!! BIG thx @djrbliss) process is done automatically by my self created build-script (took me some time but was it worth)
Lokifying means: due to a hack by @djrbliss (click here and click at his THANKS button!!) we can trick the locked bootloader to boot whatever we want!
boot a modified compiled kernel with the stock ROM / or hLe stock ROM
custom 3.4.0 kernel with kexec(disabled atm), xattr, selinux support and much more based on the stock kernel sources (sediKERNEL thread)
the ability to boot unsigned ROM's provided by sediKERNEL
Fully (or mostly) working TWRP version where storages correctly mounted and backup/restore working fine (TWRP thread)
adapt hroark's device tree of the LG optimus F6 to the F3Q (superseeded by dm47021)
adapt DM47021 DT to F3Q and compiling CM KK systemimage/full otapackage (do not expect too much it simply means that I was able to fix all the thousands of compilation errors. which is GREAT but now the debuggin starts)
Rebasing EVERYTHING of the file device tree to the f6mft one by Dm47021. Reason: CM is now available for the F6 which is damn great because we use the same hardware in many cases. I currently rewriting everything from scratch, adding the correct proprietary files etc. Will take a while but hopefully then we get more in the right direction then before.
Build system:
Intel® Core™ i7-3632QM CPU @ 2.20GHz × 8 (Quadcore. Due Hyperthreading 8 threads/CPU's)
8 GB RAM
Ubuntu Server 14.04 - 64 bit, running in a highly optimized VM based on KVM
CM11 compilation time (full cleaned working directory)
real 56m47.417s - up to 80m
user 213m6.612s
sys 20m9.400s
Click to expand...
Click to collapse
Current progress:
Testing and debugging CM KK image
Building a custom kernel without stock initrd (Details on the process here: sediKERNEL thread)
To do:
must-have: Building a custom kernel without stock initrd
must-have: having a working device tree (depends on having an own initrd)
undecided: compiling AOSP JB
undecided: compiling CM JB
Stalled:
compiling CM11 kernel based on the F6 device tree (too many compilation failures)
compiling AOSP Jellybean including the LG sources works (but different issues with booting)
compiling AOSP KitKat including the LG sources fails (doesn't start at all because of several changed vars maybe. Didn't investigate that further cause I focus on kernel now)
compiling CM JellyBean fails with the adapted LG Optimus F6 device tree
MultiRom (discontinued as sediKERNEL can now do all I need):
Multirom TWRP = compiling OK but no screen shown?!
Multirom binary = compiling OK
Multirom trampoline = compiling OK if it works or not? Cannot test it until TWRP
Kexec Kernel = Porting to F3Q (hopefully) finished. compiling OK but it has problems with mounting the correct places (I think. Didnt investigate that further atm)
For testers: ALPHA/BETA testing download area
http://tinyurl.com/q7fwcf3
(password protected - PM me to get access)
For developers: my sources
My current device tree of the fx3q AOSP build can be found here: device_lge_fx3q_aosp (updated from time to time, PM me for an immediate commit)
My current device tree of the fx3q CM11 build can be found here: android_device_lge_fx3q_cm (updated from time to time, PM me for an immediate commit)
My build tools (useful tools I developed for me to speed up build/compile etc): buildtools (updated from time to time, PM me for an immediate commit)
.
XDA:DevDB Information
sediROM for LG Optimus F3Q / D520, ROM for the Android General
Contributors
xdajog, joel.maxuel
Source Code: https://github.com/xdajog/android_device_lge_fx3q_cm
ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 3.1.x
Based On: CyanogenMod
Version Information
Status: Testing
Created 2015-05-19
Last Updated 2015-05-20
Reserved
reserved 1
reserved 1
BUT IN THE MEANTIME YOU COULD USE THIS POST FOR ANOTHER THANKS CLICK
Questions & Answers
Frequently Asked Questions (FAQ)
(in no special order)
Question #1: Is CM or pure AOSP (or similar) for this device available now?
No. Not AFAIK. If you find some please tell me! But afaik I'm the only one working on that port so if you find someone or you want to help by yourself please send me a PM!!!
I currently trying to port CM to this device and as I'm doing that alone and the whole process is very complex this is nothing you can do in 2 weeks or so.
Question #2: When will be CM or pure AOSP or similar available?
When it is ready. Sorry but for this no timeline can be made. I will update the OP from time to time so come back often to check if there are any news.
Question #3: Why are you doing this?
Well .. the main reason is I want to have an absolutely fully localized (German) Android for my wife. Yes it's that simple. There are plenty of apps who can switch the language in many dialogs but all LG ones (like settings, power menu etc) are all still English.
The following may harm you but the F3Q is not a device I would buy for myself. I do not really like it's design, it has more weight and height than my current one (Samsung i927). Ok not all is that bad: What I really like is the physical keyboard which is much more better than from the i927..
Nevertheless I own a F3Q since a while because the community sponsored one to me which makes it possible for me to continue developing for this phone. Otherwise I had stopped that at the time where my wife used her F3Q productive.
The other reasons are:
There are problems here in Germany regarding the reception: 3G (or better) is not possible (but it should be from the point of technical specs).
Besides that the displayed information about the speed seems to be wrong in some cases but that is another story..
Last but not least the problem of overfilled storage makes me mad (well in fact makes my wife mad but well that makes me mad then). There is always to less even with tricks like moving apps etc.
So in short: I want to be able to fix problems who are annoying me/my wife.
Question #4: I have bought the phone and need to unlock it (service provider lock, network lock, ...) now. How to do that?
Well there are thousands of services out there who offers unlocking and no guarantees wherever you go.
Just 1 thing before you read on:
I'm not responsible if the mentioned site doesn't work for you! For me it had worked but there are no guarantees out there in the evil internet ocean...!
The following describes my personal experiences with those services only. No guarantees no responsibilities no whatever.
I have tested 2 of them:
The first one is a "free" service named www.unlockphone.me.
Free means first of all: WAIT. As an example my request have this as the waiting time:
1027 people are in queue in front of you. 2 weeks, 3days, 10hrs, 14min remaining until you will receive your CODE
The service itself is free but as I do not wanted to wait such long I donated to them 10$ to receive the code more quickly.
Result: Well I got a code but is was not working. I send them 4 mails - never received any answer. Bad luck. That is what I mentioned above. No guarantees. Well you could try it on your own - at least the free one without a donation - and see what happens for you. It's may worth the try.
.
The second one was fine. To be sure: I do not own the following service or get anything for pointing there but I have used them 2 times and at least the service provider lock could be unlocked both times successfully. The first time used they unlocked for $2 CAD (November 2014) and today (April 2015) they unlocked for $7,50 CAD.. Well it still seems to be a reasonable price (at least for me).
freemyblackberry.com
I filled in the following:
Brand = LG
Carrier/Country = USA / T-Mobile
Model = LG Optimus F3Q
When you have received your code (the one way or the other):
if you do not see the unlock screen already type in the following in the dialer: 2945#*520#
in the displayed menu choose the type of unlock you want to do (in my case it was service provider locked so I choosen that)
type in the received unlock code (for my case the freemyblackberry named it SPCK)
the phone may reboot now automatically
enjoy.
Question #5: What can I do to help?
I thought you would never ask! :victory:
The first one EVERYONE can do even when no programming skills is: Use the "Thanks" button. :good:
This is simple, easy and can be done very quickly. This will not speed up anything of course but it keeps me motivating because it shows me that you like what I do.
.
The second one EVERYONE can do is to participate in beta testing versions.
From time to time I release a new Kernel or TWRP version or some day a CM version. If you want to help you should do that by installing those beta versions (if one is available) and telling me about the good and bad of it.
This needs always a full backup and you may need to restore things afterwards but I'm here to assist you as far as I can.
.
The third one is not for everyone: helping to port.
That means going to the steps of CM porting guide and downloading the LGE sources and cloning my git repos. Get in contact with me before so you use an uptodate repo like the device tree etc.
This one would be the biggest effort but it is the most time consuming. At least for the full port.
If you "only" want to help partly like making TWRP better or helping with Kernel development it will be much much easier because those both are already fully working and you can start with fixing things instead of try&error!
That said Option 3 here is the only option if you really want to speed up the process!
.
The last one I can think of is donating, of course. I do not beg for money here - it is simply one of the available options.
One thing about this is important: a donation is much much more motivating then the mentioned "Thanks" click but you also will not speed up anything (Ok you would speed up things when the donation is about 10.000 € or more haha)!
But seriously: I do all that in my free time atm and that means I need to cut out time somewhere else from RL. This is not a problem for me and if you donate or not I will continue until I reached my personal goal.
That simply means that it will take much more time than doing it full time. The only other option would be developing in the normal work hours which means not earning money here for this time. So there needs to be a balance for if I would do that. That said there will be times where I can work on it and may times not for weeks. It depends.
Question #6: What is that "adb" thing?
adb stands for: Android Debug Bridge and can help a lot when it comes to work with your device. It is not for developers only but they use it a lot of course.
But a normal user can use this to exchange files without the need of mounting, backing up the device, reboot the device and use it as a very comfortable way of having a terminal emulator.
.
Normally adb itself is not available as a standalone application - it comes with the Android SDK which is very big and heavy if you want to use adb and/or fastboot (another great tool) only.
But we live in a great world with many people wanting to make things easy so here you go when you want/need only adb and fastboot:
download & install adb @lifehacker
Question #7: How can I find the LG Hidden Service Menu (STOCK)?
Normally you will not need this! But you may want to enable the USB DIAG mode if you're a developer or you simply want to make your phone unusable - so here we go:
As usual: Use on your own risk!
adb shell
su
am start -a android.intent.action.MAIN -n com.lge.hiddenmenu/com.lge.hiddenmenu.HiddenMenu
Click to expand...
Click to collapse
or simply by typing the following in the dialer:
3845#*520#
Click to expand...
Click to collapse
I know I am getting ahead of myself, but I know some devices have a /datadata partition (like the Samsung Infuse) when ported for a KitKat ROM.
When it comes time to design for KitKat, can this separate partition be eliminated? I know it is done for performance reasons, but with such limited userdata space as it is, another partition would come as a detriment. This has already proved a problem on the Infuse, and they have much more space to deal with (albeit ~600mb /datadata).
The alternative would be building Link2SD into the ROM, knowing that there will still be only a small collections of apps that can be installed.
Unfortunately, because of our limited userdata, we probably won't be able to develop past KitKat, at least end up with something usable. ART will prove to be too much of a pig for this device (storage wise).
Just my nickel's worth...
Bad news..
The Desire Z of my wife is completely broken now.
That means I cannot develop anymore..
- I ported and released the latest TWRP version to the F3Q
- I'm able to build AOSP JellyBean (not booting yet though),
- I compiled and released a custom AOSP Kernel (named sediKERNEL)
.... and a lot more..
I have everything I need to continue here in place...
I have the will and the ability to continue...
But no device anymore..
If someone has a F3Q to give away.. then I will continue but I'm not willing to buy a F3Q for developing only. So if you have an idea how we could continue let me know.
Otherwise that will end here for me unfortunately...
Hopefully not.
Yours
Xdajog.
Update:
Check out the following link if you want to help http://forum.xda-developers.com/showthread.php?t=2952919
-----
Sent from my SGH-I927 using XDA Android mobile app
xdajog said:
sediROM for LG Optimus F3Q - Custom ROM (codenames: fx3q, d520)
Recovery:
CWM (I cannot recommend that CWM version atm! Because it was build with not a full valid device tree and is missing features TWRP has included!): https://play.google.com/store/apps/details?id=com.pressy4pie.oudhs.manager
TWRP (highly recommended!): http://forum.xda-developers.com/showthread.php?t=2867339
Done:
Lokifying succesful and is done automatically by my build-script (took me some time but was it worth)
I am able to boot a modified compiled kernel with the stock ROM
Custom JB kernel with kexec support based on the stock sources (stock initrd)
Custom JB kernel with xattr support based on the stock sources (stock initrd)
Custom JB kernel with selinux support based on the stock sources (stock initrd)
Fully (or mostly) working TWRP version where storages correctly mounted and backup/restore working fine (TWRP thread)
Current progress:
Building a custom kernel without stock initrd (Details on the process here: sediKERNEL thread)
To do:
Building a custom kernel without stock initrd
having a working device tree (depends on having an own initrd)
compiling AOSP JB (depends on device tree)
compiling CM JB (depends on device tree)
compiling CM KK (depends on device tree)
Stalled:
compiling CM11 kernel based on the F6 device tree (too many compilation failures)
compiling AOSP Jellybean including the LG sources works (but different issues with booting)
compiling AOSP KitKat including the LG sources fails (doesn't start at all because of several changed vars maybe. Didn't investigate that further cause I focus on kernel now)
compiling CM JellyBean fails with the adapted LG Optimus F6 device tree
compiling CM KitKat fails with the adapted LG Optimus F6 device tree (mainly because some of the adaptions enforces the goldfish emulater?! Havent found out why! damn.)
MultiRom:
Multirom TWRP = compiling OK but no screen shown?!
Multirom binary = compiling OK
Multirom trampoline = compiling OK if it works or not? Cannot test it until TWRP
Kexec Kernel = Porting to F3Q (hopefully) finished. compiling OK but it has problems with mounting the correct places (I think. Didnt investigate that further atm)
Well one of the ideas is to have a working MultiRom installation which then would boot a custom ROM like CM with the kexec technique.
That way we could boot a "insecure" ROM with our locked boot loader.
That really seems to be possible because I can flash a TWRP image to the BOOT partition for example. That means TWRP would start up everytime.
If we could get MultiRom in place where the boot partition sits we COULD be able to boot everything we want.
Sources:
My current device tree of the fx3q AOSP build can be found here: device_lge_fx3q_aosp
.
Click to expand...
Click to collapse
Just so im clear what exactly is incomplete about the cwm that was compiled? you say its not a valid device tree (crazy because ive never heard those kind of terms even used before) what exactly makes it invalid to you?
what was the point of labeling this thread? gain some thanks by saying you spent 200+ hours on compiling the stock kernel source that has a guide to compile it in teh source zip? cuz it doesnt appear to make any progress on booting aosp even though you forked an oudhs device tree from another device. then you talk about needing hacks etc to get past the locked bootloader yet you dont seem to understand that there was an exploit tahts how there even was a cwm.
instead you are pulling in search results giving false hope to people looking for cm in hopes they donate to you so you can buy a phone when you obviously dont understand how it works.
Just so im clear what exactly is incomplete about the cwm that was compiled? you say its not a valid device tree (crazy because ive never heard those kind of terms even used before) what exactly makes it invalid to you?
Click to expand...
Click to collapse
Never said that CWM is incomplete but to be honest it was and it is missing features TWRP has, of course. It is a while ago that I took a look at that CWM version so I would need to check again maybe. The last time I tried it the mounting of /data/media (the internal usb storage) was not possible as backup, too. But that may have changed.
cuz it doesnt appear to make any progress on booting aosp even though you forked an oudhs device tree from another device
Click to expand...
Click to collapse
You may have more experience in porting to a complete new device so what is wrong with forking from a device which has more or less the same hardware specs ? That is the recommended way mentioned in the porting guides.
The reason why there was no progress since a while is:
I had no device anymore
Donation offer took some weeks
Then the new (used) device need to be shipped for about 2 weeks
Then I was on vacation for 2 and a half weeks
Then I needed to bring down the workload in RL to continue which took me another week
Then I started with development again since 1 day
Today
The main focus is to develop a fully working initial ram disk build from scratch instead of using the stock one. Then I will continue on porting AOSP as the ram disk is an essential part as you know.
then you talk about needing hacks etc to get past the locked bootloader yet you dont seem to understand that there was an exploit tahts how there even was a cwm.
Click to expand...
Click to collapse
Well it seems that you do not understand but that is not a problem I explain it for you:
The locked bootloader is a problem because normally we have not the possibility to install a custom kernel and/or custom ROMs. There is a hack available named "loki" which makes it possible to circumvent that fact. The only thing you need to do is to use the loki patch on the kernel/boot image.
The other thing around this is that the bootloader send kernel boot parameters which avoid starting a custom or modified ROM. This is one of the examples I fixed as you can see in the kernel thread and the reason why the modified stock ROM from @joel.maxuel is booting.
The multirom thingy (you may point to) was about having a special boot image (based on TWRP) named multiROM. With this it would be possible to power on the device and choose different ROMs you may have installed (that means different ROMs on 1 device in parallel). Great thing and at the time of writing one thing I tested. The main problem here is not using the Loki patch mentioned above but instead the /data/media internal storage which need to be mounted correctly and some other things as well. Nevertheless is multirom nothing I want to work on atm because the main part of work is to have CM/AOSP compiled and working.
what was the point of labeling this thread? gain some thanks by saying you spent 200+ hours on compiling the stock kernel source that has a guide to compile it in teh source zip?
Click to expand...
Click to collapse
I never said that I spent 200+ hours for compiling a stock kernel. Please read carefully before getting rude. This thread here is for developing on the F3Q ROM not the kernel. Kernel things are located in the Kernel thread. (Btw. compiling the stock kernel was never a problem or somehow time consuming there are other things like the initial ram disk and correct mounting paths etc which had taken some time but that is another story and as said not related to this thread.)
You may have heard about people porting ROMs to new devices? I try to do so and that is the reason why this thread exists. Not for some thanks clicks - some people define their self not with this you have to know. To be honest I do not get paid for everything here - which is ok. So a thanks click is appreciated, of course. Nothing more nothing less.
btw: I believe that a user can decide on their own if they want to click thanks when they want right? TWRP and Kernel are both things ready to use and the ROM porting is a WIP which a user can or can not say thanks for. That should be decided by the user IMO.
instead you are pulling in search results giving false hope to people looking for cm in hopes they donate to you so you can buy a phone when you obviously dont understand how it works.
Click to expand...
Click to collapse
To be honest it seems obvious that you do not understand. That is not a problem because I can explain it to you again.
As stated before and in the OP I try to port AOSP and/or CM to this device. Well it is true that I'm still learning and will learning forever but that is the truth for everyone (maybe not for you, ok ).
The donation part is something which was an offer to continue the work because I do not owned the device anymore but I was and I am willing to continue. As stated in the the donation thread I do not use the device for anything other then development because I do not really like the phone itself. But my wife uses the phone and she needs CM / AOSP to be able to be fully in German language and having a smoother Android experience than with the stock ROM.
If you know everything better than me then why you do not share your knowledge so we can speed up the process of porting? Would be more efficient than writing
Check out the brand new FAQ: :good:
Frequently Asked Questions
.
.
.
.
......and another thing I want to mention today!
The following has been done 10 minutes ago:
adapt DM47021 DT (device tree) to F3Q and compiling CM KK systemimage/full otapackage
This is 1 step further into the right direction but do not expect too much it simply means that I was able to fix all the thousands of compilation errors for the new adapted device tree.
Which is GREAT, of course but now the debugging starts and recompiling etc ..
The first boot was a mess I believe it has to do with a wrong used gcc version but I need to investigate that further in the next days/hours whatever..
just wanted to keep you updated
greetings from the front
xdajog
EDIT:
if someone interesting in This is the time duration of a full cleaned compilation (real = the actual duration):
Build system:
Intel® Core™ i7-3632QM CPU @ 2.20GHz × 8 (Quadcore. Due Hyperthreading 8 threads/CPU's)
8 GB RAM
Ubuntu Server 14.04 - 64 bit, running in a highly optimized VM based on KVM
CM11 compilation time (full cleaned working directory)
real 56m47.417s
user 213m6.612s
sys 20m9.400s
Click to expand...
Click to collapse
.
Thanks for the update. It's amazing how difficult it can be just to get all the variables of a dev environment to agree. Certainly getting somewhere.
xdajog said:
.
.
.
......and another thing I want to mention today!
The following has been done 10 minutes ago:
adapt DM47021 DT (device tree) to F3Q and compiling CM KK systemimage/full otapackage
This is 1 step further into the right direction but do not expect too much it simply means that I was able to fix all the thousands of compilation errors for the new adapted device tree.
Which is GREAT, of course but now the debugging starts and recompiling etc ..
The first boot was a mess I believe it has to do with a wrong used gcc version but I need to investigate that further in the next days/hours whatever..
just wanted to keep you updated
greetings from the front
xdajog
EDIT:
if someone interesting in This is the time duration of a full cleaned compilation (real = the actual duration):
.
Click to expand...
Click to collapse
My hat is tipped to you xdajog. I'm looking for a qwerty slider replacement phone for my wife as her current one is reaching 5 years old soon.
Your efforts have tipped me towards this phone as a working ASOP or CM would be necessary as I do not think this phone will be updated by anyone else. I'm always leery of putting a family member on anything past a feature phone unless I can be confident of keeping it patched. Since there are no flagship phones with qwerty keyboards the efforts of devs like you are all the rest of us have.
@xdajog than you truly for your continued support on this device, i am a late adopter to this phone but is there any hope for getting android 5 on it?
vordhosbn said:
@xdajog than you truly for your continued support on this device, i am a late adopter to this phone but is there any hope for getting android 5 on it?
Click to expand...
Click to collapse
Well.. lets talk about that when we have KK ready
-----
Sent from my SGH-I927 using XDA Android mobile app
already has a ready rom CyanogenMod with kk ask you to take a look, you just need to fix the camera, can test or basaer it?
link: http://androidforums.com/threads/t-mobile-metropcs-beta-4-4-4-cyanogenmod-11-unofficial.923379/
GhostDwl said:
already has a ready rom CyanogenMod with kk ask you to take a look, you just need to fix the camera, can test or basaer it?
link: http://androidforums.com/threads/t-mobile-metropcs-beta-4-4-4-cyanogenmod-11-unofficial.923379/
Click to expand...
Click to collapse
Thx but this is for the F3 not F3Q.
-----
Sent from my SGH-I927 using XDA Android mobile app
xdajog said:
Thx but this is for the F3 not F3Q.
-----
Sent from my SGH-I927 using XDA Android mobile app
Click to expand...
Click to collapse
yes, but the lg optimus f3 and f3q have the same specifications and the same kernel, the difference among them is where it was manufactured and the f3q comes with a keyboard and different touch buttons, take a look at the comparison below:
http://www.gsmarena.com/compare.php3?idPhone1=5998&idPhone2=5509&
GhostDwl said:
yes, but the lg optimus f3 and f3q have the same specifications and the same kernel, the difference among them is where it was manufactured and the f3q comes with a keyboard and different touch buttons, take a look at the comparison below:
http://www.gsmarena.com/compare.php3?idPhone1=5998&idPhone2=5509&
Click to expand...
Click to collapse
Of course. Thats the reason why I use the F3 device tree as base for development. But there are many differences in compiling. If you want you can try would be nice to have another dev here.
-----
Sent from my SGH-I927 using XDA Android mobile app
xdajog said:
Of course. Thats the reason why I use the F3 device tree as base for development. But there are many differences in compiling. If you want you can try would be nice to have another dev here.
-----
Sent from my SGH-I927 using XDA Android mobile app
Click to expand...
Click to collapse
Yeah, i will try, give me the a one time
So I've got an Ubuntu 14.04 LTS VM set up on my machine and I downloaded the Android source tree (AOSP) and configured the build environment per the instructions. I ran a build and everything came out okay (but slow ). I have some additional RAM on order for my machine so I can dedicate more resources to the VM.
I have an extra F3Q I can use for testing and I have a pre-paid SIM on order so that I can actually use my test device in real-world scenarios.
I'm ready to start digging in here. :good:
Edit: RAM arrived today, have 32GB now which means I can dedicate a full 16GB to the Ubuntu build environment!

[Request][Android-x86] GRUB based recovery similar to CWM

Hello all,
Updating android-x86 variant could be accomplished via OTA updates, and/or
another bootable installer, however wouldn't having the ability to 'flash'
customizations via a GRUB like interface be beneficial as well?
I feel for testing purposes that this could be beneficial. Having the
ability to rework the source without having to do a clean install every
time could provide a more accurate method for testing. This would also be
good for devs, who want to modify their actual system rather than a virtual
one.
I have little knowledge of android building, however I am vaguely familiar
with C and java. I have the source downloaded and I am reviewing it, in the
case that people will find this worthwhile, I will (hopefully) be able to
contribute to the cause.
Again, if I am completely off base here, please inform me. I am just trying
to help the cause!
Thanks all for future inputs. :good:
korg bootable recovery ( may be useful) : http://sourceforge.net/p/android-x86/korg_bootable_recovery/ci/master/tree/
Source thread : http://grokbase.com/t/gg/android-x86/143w3yx749/grub-based-recovery-similar-to-cwm
bump
no idea?

Categories

Resources