[Q][DEV] Archos G9 series firmware extracting? - Gen8, Gen9, Gen10 Q&A, Help & Troubleshooting

I've been playing with the new firmware file for a few hours now, but can't really extract it. I'm really interested in the apps, etc, so could someone tell me if there's any way to extract it? OpenAOS, and other archos AOS extractors didn't work sadly.
If someone could do me a system dump of the 101 G9, it would make this whole extraction unneeded (for me atleast!).
Thanks in advance!

And what do you want to do?
None of the Apps will work as they are for HoneyComp.
They all need a newer OS and all the other things that come with the new tablet.
It would be the same useless try that has been done in the beginning of the year with the HC SDK Binaries.
Stop hurting yourself and wait for ICS Sourcecode and then we will see.

fzelle said:
And what do you want to do?
None of the Apps will work as they are for HoneyComp.
They all need a newer OS and all the other things that come with the new tablet.
It would be the same useless try that has been done in the beginning of the year with the HC SDK Binaries.
Stop hurting yourself and wait for ICS Sourcecode and then we will see.
Click to expand...
Click to collapse
So my Asus Transformer isn't HC? Good to know...
I exactly know what I want to do with the apps, so please, no more non helping posts. I started this thread to find answers, not stupid people commenting on everything without reading.

And where did you state that you want to use them on a Transformer?
Even then, none of the Archos APK will work there, as Archos has also changed some underlying OS Funktions and drivers.
As the Gen9 has a completely different SOC ( Tegra2 vs TI OMAP 4430/4460) none of those needed Drivers are working.
So again, what do you want?

fonix232 said:
I exactly know what I want to do with the apps, so please, no more non helping posts. I started this thread to find answers, not stupid people commenting on everything without reading.
Click to expand...
Click to collapse
To simply answer your question...
I'm not familiar with the gen9 devices, but i assume that archos did not change their basic infrastructure on these devices (using squashfs).
If that's the case there are basically three ways i'm aware of:
1. Gain root access on your device and directly copy the files to an external device. Of course this is not very comfortable and you'll have to take care of symlink's, etc.
2. Make a dump of the partition where androidmerged.squashfs.secure is
included using a dd tool or similar.
After doing so, you'll have to investigate the raw data for squashfs signature and remove the leading header.
Then you might be able to get the raw squashfs file containing all data.
This file could be mounted as loop on a linux machine supporting squashfs files.
As i pointed out, i'm not aware of the internal structure in gen9 devices, so i can't tell you which partition is the right one.
Maybe you could post some output of your device (e.g. cat /proc/partitions or mount)
Anyway i guess you'll have to be root to access the mtd devices in the end.
3. Extract the androidmerged.squashfs.secure file directly from the .aos.
Using this way you'll neet to tweak aos-tools with the correct key for gen9 devices. This key has not been published yet and that's why aos-tools is lacking support for gen9 devices.
To be honest we don't know anything about the security mechanism on gen9 yet.
Some words in common...
Please respect the rules!
Abusing other users is a no go
Regards,
scholbert

fzelle said:
And where did you state that you want to use them on a Transformer?
Even then, none of the Archos APK will work there, as Archos has also changed some underlying OS Funktions and drivers.
As the Gen9 has a completely different SOC ( Tegra2 vs TI OMAP 4430/4460) none of those needed Drivers are working.
So again, what do you want?
Click to expand...
Click to collapse
Please, do check my signature...
I want to check out the apps what aren't stock, etc.

wait the SDE

Hey fonix232,
did you see this:
http://forum.xda-developers.com/showthread.php?t=1349184
With the gen9 keys, the aos-tools could be tweaked to extract gen9 firmware files.
Ask letama for help/code.
He already successfully extracted the firmware!
Regards,
scholbert

Hi there,
Here it is:
extracted 3.6.29 firmware
Almost untouched, just with su+SuperUser.apk added.
LeTama

Related

[Q] Reverse Engineering the Archos Gen8 firmware

So I am probably asking out of ignorance, but why hasn't this been attempted. It seems like the best way to get rid of SquashFS would be to rewrite the firmware to not use it. I'm sure it would be a huge undertaking if it's even possible.
i think the biggest problem is the .aos file.
That's what I would think. These files surely aren't hack proof.
I would imagine that they used a similar system to the PS3. Signed files etc and without some master key, I think backwards engineering and creating your own aos files will be impossible. Guessing though. I haven't looked into it and wouldn't really know where to begin.
Thanks for the reply!! I suspect you are probably right here.
And you are sure you looked into http://forum.xda-developers.com/forumdisplay.php?f=877
I'm not entirely sure what you are trying to link to fzelle, but as far as I know actually creating an aos update file to flash to the devices (which is what I took this topic to mean), rather than making a custom firmware running in dev mode has not been broached over in the android dev forum.
I absolutely agree that to get full read/write and root on your device the ONLY way to go is UrukDroid. It's great.
You were only talking about reverse engeneering, and that is not needed if you have the full sourcecode and a possibility to install your own making.
This is the first time you are talking about aos.
AOS is just an automatic installation environment on the Archos,
something like MSI on windows.
Everything you get with uruk could than be done with an aos.
BUT ATM Uruk is far away from being usable by the normal "MOD User".
So ( my2cent ) we shouldn't do an AOS until uruk ( or any other rom ) is installable
by those non techies.
And you can install Uruk internaly.
Orly?? Forgive my ignorance.
Does the kernel or initramfs change on the stock OS ever? If it does, is it updated with the aos update file?
I only ask, because if that was the case and we can pack aos files to flash to the archos devices, then what is the need for the SDE at all?
What I took the OP to mean in his original post was, could we edit the aos file to get full read / write access to the stock file system. I don't think we can, but again I am not sure as I have a limited knowledge of the subject.
I probably stopped making sense a couple of posts back (if ever), but I just want to get everything correct in my head.
The Archos Kernel is flashed by the AOS and the SDE flashes another one.
But as the AOS is just an Installer without any knollage of the device, the software inside has to manage the flashing, so yes you might be able to do this but as the internal version are probably signed you would not be successfull.
Thats why the SDE allows to install an unsigned kernel.
So you then have 2 kernels on the device and they can coexist.
It is possible to update the orginal Archos Kernel when having for ex. an Uruk installed.
They can have diff kernels, so everything is possible.
But feel free to browse http://www.openaos.org/ for more infos ;-)
fzelle said:
The Archos Kernel is flashed by the AOS and the SDE flashes another one.
Click to expand...
Click to collapse
Correct the /mnt/rawfs/init is the standard kernel and the /mnt/rawfs/custom is the sde kernel and /mnt/rawfs/recovery is a third one.
fzelle said:
But as the AOS is just an Installer without any knollage of the device, the software inside has to manage the flashing, so yes you might be able to do this but as the internal version are probably signed you would not be successfull.
Click to expand...
Click to collapse
Signed yes, I doubt that it's an installer because of the things i found in the recovery. That kernel and boot filesystem contains everything to flash custom kernels and standard kernels and also can process aos files. There could be some kind of scripting included in the aos to do some specific tasks but the recovery is probably doing all the work.
fzelle said:
Thats why the SDE allows to install an unsigned kernel.
So you then have 2 kernels on the device and they can coexist.
It is possible to update the orginal Archos Kernel when having for ex. an Uruk installed.
They can have diff kernels, so everything is possible.
But feel free to browse http://www.openaos.org/ for more infos ;-)
Click to expand...
Click to collapse
I think the sde enables the flashing through some kind of flag because on the stock system the file /mnt/rawfs/custom exists but is 0 bytes long.
wdl1908 said:
Signed yes, I doubt that it's an installer because of the things i found in the recovery. That kernel and boot filesystem contains everything to flash custom kernels and standard kernels and also can process aos files. There could be some kind of scripting included in the aos to do some specific tasks but the recovery is probably doing all the work.
Click to expand...
Click to collapse
There are a bunch of binaries in initramfs of recovery and init as far as I remember called "abcbox", "cramfschecker" and "aosparser", and THESE are doing the hard work like check whether it's signature is valid or not or even sign it, update the files, etc..
AOS files
If you google around you can find some information.
Without the private key the problem is repacking the AOS file and getting the device to load it.
Some interesting details on the AOS files in this page over at OpenAOS:
http ://dev.openaos.org/wiki/SettingUpMultiRootGen7

My own st.pid Thread with st.pid Questions

I never tried S8500 Android, nor I have experience with Android handsets...
But I have stupid Questions.
Feel free to correct me, if I'm too stupid.
1.
I have never seen "optimized" aka custom ROMs...
Why?
Is it not possible to remove few Sounds, Pics... config files?
Maybe edit few settings...
2.
What is with such funny and normally easy tasks like this...
Some Logo or maybe start Animation or something like this:
http://forum.xda-developers.com/showthread.php?t=1396818
3.
Please read now carefully or ignore it.
Your choice.
Everyone is welcome to post something usefull...
if not usefull... who cares...
Free speech for everyone.
Best Regards
P.S.:
I'll start soon with Download files... and check few things...
As I am Android MEGANOOB.
1. Kernel is not ready so it is harder to make a ROM
2. The boot animation is a minor thing. The most important is to make android working on Wave I and II. Maybe after the devs would choose a boot animation.
1. Kernel is not ready so it is harder to make a ROM
2. The boot animation is a minor thing. The most important is to make android working on Wave I and II. Maybe after the devs would choose a boot animation.
Click to expand...
Click to collapse
At the moment our Porting "Gods" not talk anymore with as stupid groupies...
I am not dumb enough to wait ... wait...
Why not use time to learn something.
I will starting now with lesson 1.
I will teach myself.
Attention. Lesson 1.
Downloading file from Internet... You need any space on HD and Browser...
Lesson 2.
After 10000 seconds I found this file:
ext2system.zip
Impossible task.
Zippo I know, but what is ZIP...
Sounds like .trip...
Oh, found something to decompress...
ZIP
WinRAR
Lesson 3.
New file ext2system.img
What I need to open this file...
Thanx in advance...
Best Regards
Okay, this time no joke...
How to extract *.img
Maybe this?
http://forum.xda-developers.com/showthread.php?t=1132724
Need some time for learning...
Best Regards
There is very useful page where You can check file formats and how to open it :
fileinfo . com/extension/img
Maybe you dont have to open img files.
http://forum.xda-developers.com/showthread.php?t=1212616
you can find all the files inside the img files in this thread hopefully. If the links still works.
adfree said:
Okay, this time no joke...
How to extract *.img
Maybe this?
http://forum.xda-developers.com/showthread.php?t=1132724
Need some time for learning...
Best Regards
Click to expand...
Click to collapse
You just have to mount it under linux (something like mount -t ext2 -o loop whatever.img /some_folder). It's an ext2 filesystem image.
But without the working kernel you can't do much... You can change the boot animation (it's stored in the system.img), or the boot logo with some tricks (you have to trick here as the bootlogo comes from the kernel, but it's pretty easy to change).
What do you want to acheive?
What do you want to acheive?
Click to expand...
Click to collapse
Good question...
I want to see files inside to analyze... learning.
This is what I do since 2006...
Playing with Firmware...
Maybe Android is cool...
NO idea yet. As no Android handset in use nor Linux on my PC...
But why not use time...
I am not smart enough to have enough Coding skills...
But my butt is fat enough... waiting for something is not really an option.
Best Regards
As Windows Fanboy maybe I'll try this...
http://www.howtoforge.com/access-linux-partitions-from-windows
Best Regards
My fault...
WinHex can extract files from ext2system.img
Later more...
Best Regards
as I've said many times, you can MOUNT the ext2system.img file from a Linux system using the following:
mount -o loop ext2system.img /some_dir
kind of same principle as here, except it's ext2 filesystem and not samsungs moronic rfs:
http://forum.xda-developers.com/showthread.php?t=751827
when working with android it's definitely preferable to do so on a Linux system, suggest you try installing Ubuntu on a Virtual machine.
I guess the reason a bunch of custom roms haven't popped up is because the lack of modem drive means they don't make it more useful, and we still have no idea how to solve problems like the sleep-power off or microphone crash.
If you want to have a go at modifying it however, the contents of the ext2system.img file are mostly from the I9000XXJPX firmware's "factory.rfs" file image, and many modifications that can be done to that (which is froyo 2.2 based) can possibly be made to work with this one.
note: do not attempt to use the recovery system for any of the "update.zip" packages available
I can see *.qmg Pics...
Are there any Viewer for Android?
I mean any Tool to see *.qmg on PC?
Interesting...
Around 1000 files in 50 folder...
biggest file is Swype.apk with 10 MB...
libicudata.so is with 6 MB biggest .so file in lib folder...
.so are ELFs...
Hmmm...
First I would remove Sounds...
Btw... few Fonts... in ttf...
Hmmmmm.... maybe first would be around 50 MB reduce...
Best Regards
adfree said:
Hmmmmm.... maybe first would be around 50 MB reduce...
Best Regards
Click to expand...
Click to collapse
But why do you want to remove stuffs from it? It's just storage space... I think you'd better install the SD based "release" on your Wave, it's easier to experiment with it. But I totally agree with nbates66: you will need Linux at some point to progress. I have Ubuntu in VirtualBox to tinker with Android.
the ".so" files are kernel module drivers(I am incorrect here, ".ko" files are kernel modules, ".so" files are some form of library), ".apk" files are android applications. The contents of .apk's can be extracted by using an archiver, I just checked using 7-zip.
".qmg" files are basically some sort of animation graphic, you can see them in /system/media/ for battery animation, and boot animation, there is nothing new here it has all previously been modified to death on the 100's of other android devices and most mods done for a Galaxy i9000 Froyo 2.2 firmware should be workable for this one.
you can also clearly see the shutdown animation stored as a set of .png files at /system/media/video/shutdown
the various audio files are all in the .ogg format in audio.
the 4 files inside "/system/firmware" are firmware files for a Galaxy i9000 camera NOT FOR A WAVE S8500 camera!!!
the bootsound and various settings are stored in "/system/etc"
"/system/bin" has various executable files used by the system, though they all are symlinked from "toolbox", this includes things like mv (move file), rm (remove file), and also executables for tasks during boot and handling wifi like "bootanimation" or "playlogo" and "dhcpcd"
if you really have to look at it from within windows, I believe Winimage can extract the contents of ext2system.img.
EDIT: wrong on ".so" files
".qmg" files are basically some sort of animation graphic, you can see them in /system/media/ for battery animation, and boot animation, there is nothing new here it has all previously been modified to death on the 100's of other android devices and most mods done for a Galaxy i9000 Froyo 2.2 firmware should be workable for this one.
Click to expand...
Click to collapse
I need only way convert from qmg into JPG or PNG...
QMG-->JPG
Reason is very simple in my eyes.
the ".so" files are kernel module drivers,
Click to expand...
Click to collapse
Hmm. Maybe now more clear... if folder is named lib like library.
Then these are only parts... like DLL in Windows world...
Btw...
"Surprise". QMG and *.so also exists in bada world...
About *.so...
Are these proprietary Samsung stuff?
Or open source...
Maybe then we could more understand, what is for what...
But why do you want to remove stuffs from it? It's just storage space...
Click to expand...
Click to collapse
Why not... nobody will die or explode.
1.
Train my little brain
2.
Removing unnessary crap can help to free more RAM or other memory...
This is no secret.
3.
XDA is for sharing knowledge and to learn something usefull.
Not only download, without asking why...
Best Regards
adfree said:
I need only way convert from qmg into JPG or PNG...
QMG-->JPG
Reason is very simple in my eyes.
Click to expand...
Click to collapse
well i'm afraid I don't know how to open the QMG's themselves, but all they contain are some sort of animation, the "playlogo" and "playlogos1" executables appear to be something non-standard Samsung created for their boot animations, to use custom animations I believe the workaround used is to rename the playlogos file to something else, and in it's place put a file that points to the android standard "bootanimation" executable, the bootanimation executable plays a boot animation from the "bootanimation.zip" file which is just a zip file with a set of images and a txt file that describes how it should play
here is some info regarding the bootanimation.zip: http://android.modaco.com/topic/338...nimationzip-futurama-bender-bootanimationzip/
adfree said:
Btw...
"Surprise". QMG and *.so also exists in bada world...
About *.so...
Are these proprietary Samsung stuff?
Or open source...
Maybe then we could more understand, what is for what...
Click to expand...
Click to collapse
well the QMG format I believe is some proprietary Qualcomm format (the modem in Wave phones which happens to be Qualcomm can be used for processing of various formats) but the (INCORRECT INFO).so file extension is used across a variety of systems for kernel driver extensions, and .so's are used in this case and for many android devices to allow manufacturers to install drivers without putting them into the Android kernel source (which apparently voids them the responsibility of publishing source codes) however .so's are NOT inter-compatible with different systems, IE bada .so files will likely fail if you attempt to use them on Linux kernel and vice versa, even Linux .so's for a slightly different Linux kernel version fail to load.(".ko" files are Linux kernel modules, ".so" files have been described as some form of software/native code libraries)
as for storage space on the "ext2system.img" file, it is generally mounted as read-only by the system and not modified unless your modding, the space in ext2system.img is normally not used for install of applications or for file/document/save storage of any kind.
sorry if this post doesn't make much sense, I in fact know very little about the inner workings of android, I mainly contributed slightly to modifications on init.rc:
http://code.google.com/p/badadroid/source/browse/trunk/nbates_files/xxjpxinitramloop030711/init.rc
EDIT: regarding the QMG format I just had a rethink and remembered that the Galaxy i9000 (from which this firmware came from) has a completely different modem configuration other than manufacturer (Qualcomm) yet the animation plays fine on Wave S8500, so possibly not the modem that is processing it in this case.
EDIT2: wrong about ".so" files
Hello guys, please make me clear this. I own a samsung wave y s5380 with bada 2,0 os the phone has a 832 mhz cpu, can this phone support Android?Can I upgrade os to android instead of bada?Please answer me I searched whole internet and didn't find any tread or post to say something about if this can be done or not.Thank you and have a good day.
Hello guys, please make me clear this. I own a samsung wave y s5380 with bada 2,0 os the phone has a 832 mhz cpu, can this phone support Android?
Click to expand...
Click to collapse
S5620...
http://darkforestgroup.com/forum/index.php/topic,9231.0.html
This is Broadcom based...
...I searched whole internet...
Click to expand...
Click to collapse
Sure...
This is the reason why you think its easy to port to every device...
Your handset S5380 is also Broadcom based...
BUT this all on similarity with S5620 Monte....
S5380 NO known or confirmed Android solution yet...
Sorry.
If wrong answer.
Sorry.
Best Regards
I still hope that will appear something that can I upgrade from bada to android (
I still hope that will appear something that can I upgrade from bada to android...
Click to expand...
Click to collapse
Hope ever dies at last...
BUT why the hell you buy an bada handset, if you love Android?
Fastest working solution for your problem is.
Buy Android handset.
If you have time... much time.
Range between 0 and open end... (in years)
Then wait or maybe port self Android to your handset.
No joke...
There are several projects to port Android to unsupported handsets...
Why not start new project for S5380...
You need only NEW Devs... so you can recruit NEW Team members.
It makes sense ... user with S5380 or Broadcom knowledge like Monte team...
Again. For Broadcom I know only this:
http://darkforestgroup.com/forum/index.php/topic,9231.0.html
Good luck.
Best Regards

[Q] Cooking ROMs... I still don't get it

Hello,
I'm willing to try and build a custom rom, but I've been diving through the site for a few days and I still don't get it. I believe I do have the required background to do this: programming, linux, etc. and I have wide experience as a phone user, etc. It's just that either I'm not reading what I need or the way I want it. The problem, I believe, is that all I find are guides telling me to install this and those tools and then open this and that and voila! you got your rom. But they're not explaining WHAT exactly goes into those roms, or what is expected to go there, what's the purpose of those contents, etc., and I can't really catch with that. I feel at a loss and hate wasting my time turning around for nothing.
1. I don't understand the difference between a flashable rom and one that is meant to be installed through recovery, although I can see they're different. Do they both models contain the same kind of data? Is there any restriction to what one model can contain over the other one? If so, how would I convert from one to the other? But please, don't tell me to use this or that tool. I just need the theory behind it. Something of sorts like: "You need to extract this or that from this tarball, then mount this image, then the directory tree there goes in that directory over the other model of rom"
2. update-binary: Okay I guess this is run when installing from recovery, and this takes care of installing the rom, right?wrong?. Is this a per-rom thing, per-device thing? generic? If it's per-rom, how to generate it? do I need to compile something? Is there any generic source code that can be used as a start?
3. Although I have a basic understanding of how the Linux directory tree works, I know Android works on top of a heavily modified Linux. So can you explain briefly how the directory tree works? For instance, I believe /data/data is where Android apps install to, in /system/bin or xbin I can find busybox binaries/symlinks if present. /dev and /proc look the same as in Linux. I don't know about /sys. Also how are both rom models deployed to this tree? What is basically being copied?
4. If I were to compile a kernel, where do I find the Android kernel sources? or is it just a generic Linux kernel? where can i get a basic config for the device? Last time I checked my device hadn't /proc/config.gz but maybe I could get it from another rom with it enabled or something. What toolchain and where to get it? Oh and if you know of a native arm version of gcc or whatsnot, I'd prefer that. Setting up IDEs or toolchains is a nightmare. I don't like crosscompiling. But crosscompiling or not, a directory with all needed binaries without needing to set up system variables nor other stuff, would be amazing.
I surely have a lot more questions that I can't get from the back of my mind now, and I'll have yet more as you explain. But the point of my questions was mainly trying to explain the degree of the loss I'm at, so you can assist me better.
If it looks like a foolish petition, well, that's because I'm quite stubborn and can't catch things that don't go my way. I really need to understand the basics before I can move into actually doing something. I want to build a rom for the right reasons(to me). It's not just about packing a set of apps or themes with it, but about learning and doing other stuff like trying to fix things that are not supposed to work for the device in that Android version, etc.
If you can't help, congrats for reading through here anyways But any help is greatly appreciated :good:
oxiroxt said:
Hello,
I'm willing to try and build a custom rom, but I've been diving through the site for a few days and I still don't get it. I believe I do have the required background to do this: programming, linux, etc. and I have wide experience as a phone user, etc. It's just that either I'm not reading what I need or the way I want it. The problem, I believe, is that all I find are guides telling me to install this and those tools and then open this and that and voila! you got your rom. But they're not explaining WHAT exactly goes into those roms, or what is expected to go there, what's the purpose of those contents, etc., and I can't really catch with that. I feel at a loss and hate wasting my time turning around for nothing.
1. I don't understand the difference between a flashable rom and one that is meant to be installed through recovery, although I can see they're different. Do they both models contain the same kind of data? Is there any restriction to what one model can contain over the other one? If so, how would I convert from one to the other? But please, don't tell me to use this or that tool. I just need the theory behind it. Something of sorts like: "You need to extract this or that from this tarball, then mount this image, then the directory tree there goes in that directory over the other model of rom"
2. update-binary: Okay I guess this is run when installing from recovery, and this takes care of installing the rom, right?wrong?. Is this a per-rom thing, per-device thing? generic? If it's per-rom, how to generate it? do I need to compile something? Is there any generic source code that can be used as a start?
3. Although I have a basic understanding of how the Linux directory tree works, I know Android works on top of a heavily modified Linux. So can you explain briefly how the directory tree works? For instance, I believe /data/data is where Android apps install to, in /system/bin or xbin I can find busybox binaries/symlinks if present. /dev and /proc look the same as in Linux. I don't know about /sys. Also how are both rom models deployed to this tree? What is basically being copied?
4. If I were to compile a kernel, where do I find the Android kernel sources? or is it just a generic Linux kernel? where can i get a basic config for the device? Last time I checked my device hadn't /proc/config.gz but maybe I could get it from another rom with it enabled or something. What toolchain and where to get it? Oh and if you know of a native arm version of gcc or whatsnot, I'd prefer that. Setting up IDEs or toolchains is a nightmare. I don't like crosscompiling. But crosscompiling or not, a directory with all needed binaries without needing to set up system variables nor other stuff, would be amazing.
I surely have a lot more questions that I can't get from the back of my mind now, and I'll have yet more as you explain. But the point of my questions was mainly trying to explain the degree of the loss I'm at, so you can assist me better.
If it looks like a foolish petition, well, that's because I'm quite stubborn and can't catch things that don't go my way. I really need to understand the basics before I can move into actually doing something. I want to build a rom for the right reasons(to me). It's not just about packing a set of apps or themes with it, but about learning and doing other stuff like trying to fix things that are not supposed to work for the device in that Android version, etc.
If you can't help, congrats for reading through here anyways But any help is greatly appreciated :good:
Click to expand...
Click to collapse
I am not terribly knowledgeable about all of this, but I will take a crack at it. Others can feel free to correct me.
1. "Flashing" is usually done through the recovery from a zip with an update script inside. That script is in a language called "edify". Read more about Edify Here and Here.
The only other common way that I know of installing a ROM is through fastboot in the bootloader, but that is normally only used with official factory images. Also, I think Samsung ROMs are often flashed with a proprietary program called Odin.
2. I think that the update-binary is standard across all recent devices. I think it is just an interpreter for the Edify scripting language. Old versions of android used a somewhat different scripting language and required a different file. You can probably pull the binary out of another recent zip and use that. The main thing you have to worry about is the update script (instructions for what the zip does) and the folder structure of the zip.
3. I am not confident to explain much here, but the apps and their data are stored in different places. User apps are stored in /data/app with app data stored in /data/data, I think. System apps are installed in /system/app. There is more files stored on the "sdcard" partition which can be internal or external, depending on the device.
4. Kernel sources are usually provided in the source code from whatever repo you are using. Different ROMs use different bases. Here is some info about grabbing the AOSP kernel sources with git: http://source.android.com/source/building-kernels.html
Many of the more popular ROMS have specific build instructions on their individual github pages (Cyanogen, Paranoid Android, etc), so you might what to look at those, too. Also, depending on the individual devices, there might be proprietary binaries sourced from the device or hardware manufacturers for things like camera drivers, graphics chips, etc.
If you want a walk through of the basic build process google has a tutorial. The last time I checked there seemed to be some outdated info, but it might give you a general idea of the build process. http://source.android.com/source/initializing.html
Hopefully someone more knowledgeable can give you more info, but that is all I got
synesthete said:
I am not terribly knowledgeable about all of this, but I will take a crack at it. Others can feel free to correct me.
1. "Flashing" is usually done through the recovery from a zip with an update script inside. That script is in a language called "edify". Read more about Edify Here and Here.
The only other common way that I know of installing a ROM is through fastboot in the bootloader, but that is normally only used with official factory images. Also, I think Samsung ROMs are often flashed with a proprietary program called Odin.
2. I think that the update-binary is standard across all recent devices. I think it is just an interpreter for the Edify scripting language. Old versions of android used a somewhat different scripting language and required a different file. You can probably pull the binary out of another recent zip and use that. The main thing you have to worry about is the update script (instructions for what the zip does) and the folder structure of the zip.
3. I am not confident to explain much here, but the apps and their data are stored in different places. User apps are stored in /data/app with app data stored in /data/data, I think. System apps are installed in /system/app. There is more files stored on the "sdcard" partition which can be internal or external, depending on the device.
4. Kernel sources are usually provided in the source code from whatever repo you are using. Different ROMs use different bases. Here is some info about grabbing the AOSP kernel sources with git: http://source.android.com/source/building-kernels.html
Many of the more popular ROMS have specific build instructions on their individual github pages (Cyanogen, Paranoid Android, etc), so you might what to look at those, too. Also, depending on the individual devices, there might be proprietary binaries sourced from the device or hardware manufacturers for things like camera drivers, graphics chips, etc.
If you want a walk through of the basic build process google has a tutorial. The last time I checked there seemed to be some outdated info, but it might give you a general idea of the build process. http://source.android.com/source/initializing.html
Hopefully someone more knowledgeable can give you more info, but that is all I got
Click to expand...
Click to collapse
OMG Finally some light! THANK YOU, THANK YOU, THANK YOU for all the info. I didn't get much right now, I'll need to read through your post a few times before I get it all, haha. I'll be sure to check the links too. Thank you!

Some Hacking in Yoga Book

Hi folks.
I'm an Android firmware developer (you can see my posts here in xda) that got a yoga book yesterday. For me it works at it should (by now) but my hacker soul speak to me and said: "at least take a look to see what you can get from this device". I don't have many time, so I can't spend time doing roms or fixing things by myself, but I can share with you some info I get and help you with my knowledge if someone is interested in "play" with this device.
First of all, I'm not responsable of anything that you can break following these steps. Almost all of them are tested and with some common sense you will not break anything, and if you break anything I will try to help you to fix it (if you are polite), but this is a work in progress and hacking and the possibility of brick the device is always there.
I only have the Android version without LTE, so I only tested in my Book.
So, here we go:
1) Secret codes:
I get this codes decompiling EngineeringCode.apk with apktool. Be carefull with them:
####0000# - Display version info
####7599# - Display hardware info
####8375# - Display baseband info
####1111# - Factory test
####2222# - Display SN
####7777# - Factory Reset???
####5993# - Display internal frameWork version
####7642# - Cut the power off to reload the PMIC - This command shutdowns the device. Just press the power button to reboot.
####5236# - Display LCD name
####2834# - ES close test
####8899# - open the ums mode default for debug
####3333# - offline log
####3334# - offline modem log
####9527# - Mediaplayer setting
####78646# - RunIn test
####6020# - switch country code
####59930# - Display current country code
####8746# - Enter engineering mode
####4227# - Enter engineer test
####357# - DLP_TEST
To use these codes, open the contacts app, press the search button and enter the code in the search bar.
2) OTA Images
You can get OTA images directly from lenovo servers. Just open your browser and paste this url:
http://fus.lenovomm.com/firmware/3....WW06_BP_ROW&action=querynewfirmware&locale=en
Change device model if needed (LenovoYB1-X90F or LenovoYB1-X90L)
Change curfirmwarever to a valid OLD firmware, this way you will get the next one in age.
Change locale if needed.
With this url you will get a download url at the end of the result page. In this case: http://tabdl.ota.lenovomm.com/dls/v...S000426_1705080316_WW06_BP_ROW_WC80C2A0F2.zip
These images are not full ota images, they are diff versions. This means that we can't use them to mod the image, or recover a bricked device, but this is a first step
3) Custom images
We don't have real sources to build a custom image (the lenovo's open source files are useless), but this doesn't mean that we couldn't modify stock images to take out useless apks or get better performance.
We can get this using an Android Kitchen and a full update image for the device.
As Android kitchen you can use SuperR kitchen (https://forum.xda-developers.com/ap...chen-superr-s-kitchen-v1-1-50-v2-1-6-t3597434)
As full image, I only tested the one here (https://easy-firmware.com/index.php?a=browse&b=category&id=19521) because I can't download any newer one.
I tested uncompressing it, deodexing the apks and doing a new image. But I don't test it in the device because I need to install twrp to flash the new image and I don't have time to test. But this should work, I did it many times so if someone is interested I can give steps to do it and support for testing.
If someone can get the latest full images, send then to me and maybe I can get some time to do some tests.
PD: Probably we could use this as a base to get LineageOS 14.1 working: https://github.com/latte-dev/android_device_xiaomi_latte/tree/cm-14.1
So, if you are interested in some hacking with the Yoga Book, contact me and we could team to get the most of this device.
First of all thank you for your post, it´s really useful
if you could somehow manage to boot windows on this machine it´s by far the greatest war we have right now.
Il promise you a lunch or dinner on Lisbon whenevere you want!
joao1979 said:
First of all thank you for your post, it´s really useful
if you could somehow manage to boot windows on this machine it´s by far the greatest war we have right now.
Il promise you a lunch or dinner on Lisbon whenevere you want!
Click to expand...
Click to collapse
Sorry, my knowledge of Windows is only user level . Install it in personal computer to play games .
But I really don't know why people wants to run Windows there, it will go slowly than Android and its less touch oriented... but I suppose that this is a chat for another thread
corvus said:
Sorry, my knowledge of Windows is only user level . Install it in personal computer to play games .
But I really don't know why people wants to run Windows there, it will go slowly than Android and its less touch oriented... but I suppose that this is a chat for another thread
Click to expand...
Click to collapse
in my particular case, i´l admit that is for football manager the touch version
joao1979 said:
in my particular case, i´l admit that is for football manager the touch version
Click to expand...
Click to collapse
Have you tried running it through Crossover? It may be in its infancy but i have got a few apps running OK with it.
I have the full "YB1-X90F_USR_S000196_1611040312_WW06_BP_ROW" I can upload somewhere if anyone can suggest a good site to do so without signing up? The file is about 2.5gb
It will be great if we could get the latest version, because maybe these older versions have older files that we have updated in our tablets.
Mixing files could give unknown problems
The current TWRP is based on the new Yoga Tab 3
I am starting to think they do not do full roms for this in the same way they do for a lot of their other devices.
We know the otas are available from tabdl.ota.lenovomm.com/dls/v6/ and are named according to the 2 builds that it bridges. As easy-firmware had the december full rom under the file name B1-X90F_USR_S000196_1611040312_WW06_BP_ROW-flashfiles.zip I had hoped that I could work out the file path to pull it down.
There were some interesting ideas here, https://forum.xda-developers.com/android/help/how-download-stock-roms-lenovos-ota-t3109507 but it seems there is a difference between phonedl.ota and tabdl.ota
Queries to full roms that work for phones, don't seem to work for the yoga book.
Anyone with more web knowledge able to pick this up? I am not sure the files are there but I feel they should be.
Good luck
Update: the downloads seem to be hosted via CloudFront. An Amazon service, but I can not find out a way of listing the available files. The latest full rom would be
http://tabdl.ota.lenovomm.com/dls/v6/YB1-X90F_USR_S000426_1705080316_WW06_BP_ROW_WC80C2A0F2.zip
But the Last 8 chars are random and we do not know what they are.
So we have two hopes. First work out the right query to the link from fus.lenovomm.com or two find a way of listing files available in tabdl.ota.lenovomm.com/dls/v6
Not sure I have got much further but ill keep trying when I can.
Hey, I should mention that I have some files that you may find helpful; I got them from the easy firmware website. They're all the .img files for each partition in Android (ie. boot.img, cache.img, config.img, factory.img, recovery.img, system.img) as well as: biosupdate.fv, bootloader, firmware.bin and gpt.bin. However, these of course aren't in the normal "flashable .zip ROM" format. So unless you know how to take apart these .img files they aren't very useful. If you need any more help or have any other questions about how far we've come on our own, feel free to ask. danjac also has great knowledge of our efforts.
Yes, I know how to use them, unpack, modify, etc. But what I want is the latest version, no a old version (I hav these files too). If you have them I can do some changes, debloat, etc.
Anyway, I see little interest in custom roms in this forum ( probably because it's not a device with a lot of users or the users are not the techy kind), so I prefer to help others with info than do a custom rom that only 2 or 3 people will use. Doing custom roms is a time hungry task and probably it doesnt worth the effort. Anyway this device is not full of bloatware like samsung ones, so it useable as it is.
As I said in my first post if anyone is interested I can give some hints and support to modify the full image (but only the latest one).
It's so sad that there are only a few interested owners of this tab - it's such a nice device but i fear the day lenovo decides to end their support for it. There will be no custom roms to switch to and keep the device alive - it will be a soon to be bit of old tech garbage BTW. I still use my Asus Transformer Prime because of the nice community
@NiffStipples I fully agree. This device is so powerful and its a suprise that it is invisible to the "market". In my humple opinion the normal ROMs aren't that bad besides missing updates but I would love to see all the power served through a custom rom. unfortunately programming is not my business
Stefan
Broomfundel said:
Have you tried running it through Crossover? It may be in its infancy but i have got a few apps running OK with it.
Click to expand...
Click to collapse
Interesting - is Crossover good (and does it require factory reset)?
Hi, It works well with some things and not others. Often the why and where are not obvious. It is basically "wine" the layer that allows some windows apps to run on a linux install. Tweeked to work with android. Just an install to put crossover on. Then another install (Within crossover), to put you app on crossover. If it doesn't work out of the box, there windows libraries you can switch out and dependencies you can install. (Eg: directx , .net) Even if your not technical. I would say get on the beta program and give it a try.
Hi! what do you mean by "lenovo's open source files are useless"? do you refer to this packet on lenovo's suppport site? download.lenovo.com/consumer/open_source_code/lenovo_yb1_x90f_l_osc_201608.zip
I've entered the Android YogaBook's BIOS and noticed that VT-X is enabled by default! With Limbo x86 we could get a fully working virtualized Windows or Linux, if it wasn't for... KVM. It seems like it's not enabled in Lenovo's default kernel. Could we get to recompile the kernel with this option on? i'm not a big android/ROM expert but i surfed the open_source_code folder from Lenovo and it seemed, to me, that we could rebuild the Kernel at least.
This could really change things!
morrolinux said:
Hi! what do you mean by "lenovo's open source files are useless"? do you refer to this packet on lenovo's suppport site? download.lenovo.com/consumer/open_source_code/lenovo_yb1_x90f_l_osc_201608.zip
I've entered the Android YogaBook's BIOS and noticed that VT-X is enabled by default! With Limbo x86 we could get a fully working virtualized Windows or Linux, if it wasn't for... KVM. It seems like it's not enabled in Lenovo's default kernel. Could we get to recompile the kernel with this option on? i'm not a big android/ROM expert but i surfed the open_source_code folder from Lenovo and it seemed, to me, that we could rebuild the Kernel at least.
This could really change things!
Click to expand...
Click to collapse
How did you enter the bios? Can you boot from usb?
anyone managed to use swiftkey keyboard?

What is a PSCI repartition?

.
Hi forum!
So I own a Project Tango Development Kit Tablet (device name: Yellowstone) which appears to be a Tango-purposed Nvidia Shield K1 tablet. There's just a few threads about the yellowstone in the Shield forum and it's an old device now, that's why I'm posting the question here, in the hopes that the question is not device-related but something more general.
So, I wanted to use this tablet and the stock ROM just made it bootloop ad infinitum. Nothing I did could make it boot. So I went to the Shield forum and I found a TWRP image that would work on it. I rooted it, installed TWRP and I installed a ROM that I found around an old thread. So far so good, the tablet now boots but the audio, microphone and camera doesn't work. I want to use it as an intercom system so, that's the stuff I really want it to be in a working state.
By chance I found a LineageOS 16 ROM for the yellowstone (https://updater.oddsolutions.us/yellowstone) but it's description says "PSCI Repartition ONLY". The author hasn't replied to me to what it means. Googling doesn't give useful results regrettably. So I wonder if anyone around this parts could enlighten me about what is it, and how can it be performed?
Many thanks!
REPARTITION ONLY:
I guess it means that /system and /vendor partitions must get re-partitioned ( increasing their sizes ) what must be done before flashing the ROM.
This usually is done by a "Repartition Pack".
PSCI:
The Power State Coordination Interface (PSCI) is an ARM standard introduced for its new ARMv8 64bit architecture to virtualize CPU power management across exception levels i.e. between software working at different privilege levels: OS kernel, hypervisor and Secure Platform Firmware (SPF).
jwoegerbauer said:
REPARTITION ONLY:
I guess it means that /system and /vendor partitions must get re-partitioned ( increasing their sizes ) what must be done before flashing the ROM.
This usually is done by a "Repartition Pack".
PSCI:
The Power State Coordination Interface (PSCI) is an ARM standard introduced for its new ARMv8 64bit architecture to virtualize CPU power management across exception levels i.e. between software working at different privilege levels: OS kernel, hypervisor and Secure Platform Firmware (SPF).
Click to expand...
Click to collapse
Ahaaa, that's excellent information. I guess they're separated concepts then, not directly related. I'll have to contact the owner then for the repartition pack. Many thanks!
Darius_bd said:
Ahaaa, that's excellent information. I guess they're separated concepts then, not directly related. I'll have to contact the owner then for the repartition pack. Many thanks!
Click to expand...
Click to collapse
Did you ever get a response from npjohnson? I've been folliwing his roms for tango for about a year (if not longer) he did say he was aiming to bring it as an official lineage build......but while i see it's been in development. Nothings been released.
So i am interested to know if you got a response.
Darius_bd said:
Ahaaa, that's excellent information. I guess they're separated concepts then, not directly related. I'll have to contact the owner then for the repartition pack. Many thanks!
Click to expand...
Click to collapse
I also am interested in whether or not you found the PSCI for Android 9. I have a Tango I am wanting to put to use.

Categories

Resources