I have a few questions about Archos' devices, in particular those belonging to the Generation 8 family. Here they are:
How is the partition table setup on the device and is the partition table signature checked? How are the partitions logically laid out?
When the SDE is installed and run, boot1 locks up boot0, itself and the recovery partition to prevent them from being modified. I would imagine that this type of setup would require keeping the partition table from being modified, thereby preventing dual boot. Can dual boot be achieved using the SDE without any extra modifications?
Are some of the partitions on Archos devices contained in compressed images and then loaded into the RAM in a manner similar to the way Damn Small Linux boots?
Is the recovery partition a minimal OS setup that exists to perform recovery operations or is it in fact copied in it entirety to the primary partition when recovery mode is entered?
I have realized/learned some things Linux that I hadn't noticed before such as the fact that folders like /home and /boot have their own partitions and that /boot may contain more than one kernel and that bootloaders like GRUB are actually represented in the filesystem. I don't if these are real partitions or logical partitions so I might have to do some relearning.
I'm bumping this thread.
Master Melab said:
I have a few questions about Archos' devices, in particular those belonging to the Generation 8 family. Here they are:
How is the partition table setup on the device and is the partition table signature checked? How are the partitions logically laid out?
When the SDE is installed and run, boot1 locks up boot0, itself and the recovery partition to prevent them from being modified. I would imagine that this type of setup would require keeping the partition table from being modified, thereby preventing dual boot. Can dual boot be achieved using the SDE without any extra modifications?
Are some of the partitions on Archos devices contained in compressed images and then loaded into the RAM in a manner similar to the way Damn Small Linux boots?
Is the recovery partition a minimal OS setup that exists to perform recovery operations or is it in fact copied in it entirety to the primary partition when recovery mode is entered?
I have realized/learned some things Linux that I hadn't noticed before such as the fact that folders like /home and /boot have their own partitions and that /boot may contain more than one kernel and that bootloaders like GRUB are actually represented in the filesystem. I don't if these are real partitions or logical partitions so I might have to do some relearning.
Click to expand...
Click to collapse
Partition tables are not locked. Devices are populated as normal in kernel. Partitions can be edited and the device repopulated with partprobe as normal.
The bootloader/recovery is held on a partition on mmcblk0, they are signed using a public/device encryption key, that has been broken. When the system is booted it mounts the recovery image and performs requested functions. The AOS firmware format is also encrypted, but has not been broken. The stock firmware is held on mmcblk0 as well, in an 256bit device key encrypted SquashFS(which has also been broken). It is mounted with a chroot as R/O at stock boot.
Dual boot can be achieved in multiple ways, easiest of which is installing the openAOS multiboot menu. A current limitation is that all OSes must use the same kernel, until we can get kexec working correctly(or other more dangerous solutions).
P.S. Folder's like /boot and /home can be many different things. Folders, partitions, images, symlinks, etc. The advantage of linux/debian is that everything is represented in the file system. Even sending commands to devices or modifying driver settings is done by "modifying files". For example, to flip the touchscreen's input on my A101, you write the letter "N" to a "file" called /sys/module/hid_hanvon/parameters/rotate180.
This is actually an interface to the driver for the touchscreen, not an actual file, so sending the letter N to "rotate180" tells the driver to flip the input coming from that device(hid_hanvon = the touchscreen).
If you tell me what you're trying to achieve, I can give you more details. If you are just trying to learn, you should come to the openaos IRC channel. Lot's of years of experience in there.
I didn't think bootloaders were stored on partitions. On PCs, the first stage bootloader is stored outside of any partition on the MBR.
Master Melab said:
I didn't think bootloaders were stored on partitions. On PCs, the first stage bootloader is stored outside of any partition on the MBR.
Click to expand...
Click to collapse
That's flashed on eMMC2. I was talking about the recovery bootloader. Basically, the bios is off limits, and the recovery bootloader allows updates, SDE flashing, etc. without risking bricking, as I'm sure you know.
So boot0, the root of all control on the device, is not stored in a partition, like the first stage bootloader on a PC while boot1 (or whatever special bootloader that exists for recovery purposes) is stored on its respective partition like a second stage bootloader on a PC?
I'm bumping this thread. Please explain further. What do you mean when you say "BIOS" and is boot1 the recovery bootloadr?
Master Melab said:
I'm bumping this thread. Please explain further. What do you mean when you say "BIOS" and is boot1 the recovery bootloadr?
Click to expand...
Click to collapse
Another bump.
I also want to know the partition layout of gen8 devices after installing SDE and UrukDroid.
I already installed SDE and when I plug the device to my computer I see 3 partitions:
/dev/sdb1 76295 469632 12586808+ 83 Linux
/dev/sdb2 1 30518 976563 83 Linux
/dev/sdb3 30518 76295 1464844+ 83 Linux
sdb1 - 13GB, doesn't contain a /system, but here's the menu.lst
sdb2 - 1GB, contains a /system (but i think it's not the stock android installation) ...maybe UrukDroid?
sdb3 - 1.5GB, contains a /system, but has only a few files, etc is missing for example
So is the stock android partition invisible?
I am bumping this thread.
Maybe this thread could be usefull for you : http://forum.xda-developers.com/showthread.php?t=1199450
Disclaimers :
#i am no-developer.im just a geek xperian..like many of u.i have created this ,my first ever thread typing on my mob keypad.so forgive me for short words and untidy post.
#links included below is noway related to me.respective links are included as per my findings to support the main moto of this thread.im thankfull to all of them who have tried to scratch on this through their posts and threads
#with all do respect,this thread is intended for our devs who can take this as pre-requsites for development.
#its a humble request for devs to put there effort on this.
#i request all xperians...from devs to simple users...whoever thinks this post worth discussing/developing,ur valueable words on this are highly appreciated.
#and please no trollers
Click to expand...
Click to collapse
I was doodling around today,i got my eyes poped-up wen i encounterd this
[samsung kernel flashing from cwm zip] -> http://forum.xda-developers.com/showthread.php?t=1301756 and this
[samsung general cwm kernel updater] ->http://forum.xda-developers.com/showthread.php?t=2132208
It all began then when i had to be far from my pc.then flashing new kernls for new custom roms began to be a problem.i presume their are a lot of users like me who cant access pc with as ease as many can.or simply to them who dont want to connect to pc just to flash kernels.if this would be success,just imagine how ease it would be?
But before starting to dream lets put together what i have come across till now.
Then i started digging more...on google & found this Tutorial [many devs might be intrestd &could help xperia users& start to run xperiment in our xperia ] --> http://www.modaco.com/topic/360180-howto-build-and-update-kernel-using-cwm/
In my findings i did aknowledge that this matter has/have/had been left out in corner just for some taboos/nerms like our xperia doesnt ship with normal recovery partition or like our custm recovry doesnt support some disk formats.
But whatsoever, i was little arosed by above things....then came a point whereafter i was too excited,wen i found this in our very xperia forum,xperia p forum ->> http://forum.xda-developers.com/showthread.php?t=2409021
Here the dev has created a zip with updatr script writng the kernel image,which stays inside the boot.img file .i couldnt dig more on this zip,as it was not so popular thread.i dont even know for it works or not,all i know is there are devs wanting to build,which is the main moto of this thread to let devs rethink the possibilty.
And yes, its a convincing reason for acceptance that our xperia doesnt have recovry partition like as other vendors device..and what we get as a recovry is hard coded to ramdisk.but like as ,A xperia s user,i too want to question an enlightning point on this...like using recovry fota partition,wich gets blokd and remains unusable aftr bootloader unlockd....why not use that...if not what about repartitioning empty space in device for recovry usage partition... http://forum.xda-developers.com/showthread.php?t=2163643
i too presume, even though we dont have that heavy intrnl space,but i guess we have enough for just a recovry partition.i guess so.correct me.
FOTA partition :
The FOTAKernel partition is used by Sony to do FOTA updates when updating the boot image. Unlocked devices can't take Sony FOTA updates so using this partition for storing the recovery ramdisk seems like a good idea. Unlocked users aren't able to use this partition anyway and the FOTAKernel partition is effectively the "recovery" partition on Sony devices.
Kernel changes : extract_elf_ramdisk setup in kernel
if some body wants a detailed info it can be found here (( **thanks to @officiallysonyrebel ,for the supportive conversation.above words are his ** )) -- http://forum.xda-developers.com/showpost.php?p=38640389&postcount=2
*** Summing up in total ***
It may b a horizon-touching dream..but as a geek user, like me,we dream of it.
Our charming devs can unlock bootloaders/root/giv us custm roms/give us a taste with unimaginable upgrowing ever, android version updates in roms/ ports.these all would also be impossible without their immense hardwork/researchs/xperimnts...i do aknowledge its a lot to ask for this.but with all do respect i wish devs get ther hands on it.
I predict most of xda-ians might already know abt all this,if yes do enlighten us more...ur comments and findings are most needed thing currently.
but truely saying i really dream of using cwm @ its maximum capacity,as of its easeness,isnt it? Different vendors like samsung,zte,etc evn can get rooted simply from cwm only...even most htc can. So why cant our xperia?is it coz of less devs in our xperia?i humbly request all devs to put some work on this so that me,like users who cant access pc with ease/dont want to,can easily get the work done.i also presume there r a lot of xperians,who want this.it cant be more handy than this...can it?
Hope in near future ,we xperians could getwith like these features as others.(rootng/flashng kernels from cwm).
Cheers!!
Xperia-lover!!
Most Xperia kernels are probably including CWM by default in the boot image. About a month ago Dees_Troy submitted some changes to the CyanogenMod repos that were accepted. Newer builds of CM include a special extract_elf_ramdisk utility that Dees_Troy wrote to read and extract a recovery ramdisk from the FOTAKernel partition instead of using the ramdisk that is included in the boot image. If the ramdisk in the FOTAKernel partition is a stock Sony ramdisk or not present, then the existing ramdisk in the boot image is used instead. This setup allows users to choose which recovery they want to keep installed.and whole a lot possibilites
but my major concern is if after unlocking bootloader FOTA partition gets blocked then how can we access it ..
so, first we have to acess FOTA partion then we can start dreaming on
officiallysonyrebel said:
Most Xperia kernels are probably including CWM by default in the boot image. About a month ago Dees_Troy submitted some changes to the CyanogenMod repos that were accepted. Newer builds of CM include a special extract_elf_ramdisk utility that Dees_Troy wrote to read and extract a recovery ramdisk from the FOTAKernel partition instead of using the ramdisk that is included in the boot image. If the ramdisk in the FOTAKernel partition is a stock Sony ramdisk or not present, then the existing ramdisk in the boot image is used instead. This setup allows users to choose which recovery they want to keep installed.and whole a lot possibilites
but my major concern is if after unlocking bootloader FOTA partition gets blocked then how can we access it ..
so, first we have to acess FOTA partion then we can start dreaming on
Click to expand...
Click to collapse
Ya i had read in the link u dirctd...i got to know that aftr unlockng bootloadr, that partition becomes unusuable/inaccessble.if that could be attained...then we can hope...isnt it?if i undrstud... wish devs could wave their magicstick soon.
Sent from my Xperia Ray using xda premium
I'm not sure but what about installing the recovery in /system?
Then we could write a script that detects if the recovery is installed in /system and it will choose the /system recovery over the kernel recovery while booting in recovery. Then we could try mounting the kernel partition and flash the boot.img. Then you flash a zip to remove the /system recovery and boot the new kernel
Not sure if that's possible, and don't have any idea how to do that. It was just an idea :good:
Sent from my Nexus 4 running Android 4.3
mihahn said:
I'm not sure but what about installing the recovery in /system?
Then we could write a script that detects if the recovery is installed in /system and it will choose the /system recovery over the kernel recovery while booting in recovery. Then we could try mounting the kernel partition and flash the boot.img. Then you flash a zip to remove the /system recovery and boot the new kernel
Not sure if that's possible, and don't have any idea how to do that. It was just an idea :good:
Sent from my Nexus 4 running Android 4.3
Click to expand...
Click to collapse
we can't do it in /system basicially we have to do this thing using only FOTA partition ..but our main concern is when we unlock our bootloaders that partition becomes inaccesible for us...
if we somehow gets access to FOTApatition then script will do work..
mihahn said:
I'm not sure but what about installing the recovery in /system?
Then we could write a script that detects if the recovery is installed in /system and it will choose the /system recovery over the kernel recovery while booting in recovery. Then we could try mounting the kernel partition and flash the boot.img. Then you flash a zip to remove the /system recovery and boot the new kernel
Not sure if that's possible, and don't have any idea how to do that. It was just an idea :good:
Sent from my Nexus 4 running Android 4.3
Click to expand...
Click to collapse
Nope...You are still using the same kernel....just booting from different ramdisk when "installed in /system"...
We need to boot from a "second" kernel which can be used to flash the primary kernel ...Most other phone can boot into two kernels ,one stock and one recovery ,hence they can be used to flash kernels via recovery and use flash_image to install recovery in system ...
The problem is not where kernel/recovery is installed
The problem is how to boot the secondary kernel after installation ...It's very difficult to do that ...
lets say I dd the recovery.img to /mmcblk0p4 which is the fourth partition in an SD card
How do I instruct the bootloader to boot the device from /mmcblk0p4(or fota 1 or whatever) instead of /boot ...Thats the problem ...
Okay that's sad
But what about checking the partitions and if we know which blocks contain the Fota partition, could we try to mount it?
The problem would be how to tell the bootloader to boot the recovery or the 2nd kernel right?
Sent from my Nexus 4 running Android 4.3
Still the same problem ,how to instruct the bootloader to boot from fota 1 instead of /boot !!
Check that. It's exactly the same what we want to do, right?
Okay not exactly but we could use that too. But I'm not sure if he is able to install another kernel in the recovery...
Sent from my Nexus 4 running Android 4.3
mihahn said:
Check that. It's exactly the same what we want to do, right?
Sent from my Nexus 4 running Android 4.3
Click to expand...
Click to collapse
Exactly ...we can use Multi partitioned SD card but thats extremely wishful thinking ...Also we need a lot of devices to brick :rofl:
Edit: He can use recovery to install kernels since ,the S1 boot boots LK from mmcblk0p4 (equivalent to /boot) which in turn gives an option to boot to fota1(which is recovery ) or the mmcblk016(which is the new place from which the system boots)
karandpr said:
Exactly ...we can use Multi partitioned SD card but thats extremely wishful thinking ...Also we need a lot of devices to brick :rofl:
Edit: He can use recovery to install kernels since ,the S1 boot boots LK from mmcblk0p4 (equivalent to /boot) which in turn gives an option to boot to fota1(which is recovery ) or the mmcblk016(which is the new place from which the system boots)
Click to expand...
Click to collapse
But later in OP they said it could be possible to reflash the stock rom to restore the partition table. So if we don't touch fastboot and flashmode partitions we should be able to recover the phone
I wrote the OP a PM if he could help us, let's see what happens
Sent from my Nexus 4 running Android 4.3
mihahn said:
But later in OP they said it could be possible to reflash the stock rom to restore the partition table. So if we don't touch fastboot and flashmode partitions we should be able to recover the phone
I wrote the OP a PM if he could help us, let's see what happens
Sent from my Nexus 4 running Android 4.3
Click to expand...
Click to collapse
Unlike them we aren't modifying partitions ...we can use multi SD card but then we need to get SD card mounted by LK ...
There is a fundamental diffrence in two phones ,that they are using an emmc+ext4 and we are using a raw nand/yaffs device . i think the difference is night and day ...I dont think we can modify partitions easily ...
If however we get to mount SD card with LK then it's a different story ...
karandpr said:
Unlike them we aren't modifying partitions ...we can use multi SD card but then we need to get SD card mounted by LK ...
There is a fundamental diffrence in two phones ,that they are using an emmc+ext4 and we are using a raw nand/yaffs device . i think the difference is night and day ...I dont think we can modify partitions easily ...
If however we get to mount SD card with LK then it's a different story ...
Click to expand...
Click to collapse
So you mean we partition the sdcard and use a partition as the recovery partition?
I read about that with multiboot for xperia play (I guess). So maybe it could work for us too?
Sent from my Nexus 4 running Android 4.3
mihahn said:
So you mean we partition the sdcard and use a partition as the recovery partition?
I read about that with multiboot for xperia play (I guess). So maybe it could work for us too?
Sent from my Nexus 4 running Android 4.3
Click to expand...
Click to collapse
it's more logical(and safer) than editing nand ...AFAIK ,the partition setup of nand is included in kernel ...we can partition SD card to whatever we want and is more feasible
karandpr said:
it's more logical(and safer) than editing nand ...AFAIK ,the partition setup of nand is included in kernel ...we can partition SD card to whatever we want and is more feasible
Click to expand...
Click to collapse
Okay so how to start? What could we do to get the project to a higher level?
We have to find out how to get the bootloader to boot the 2nd kernel/recovery partition, right?
Sent from my Nexus 4 running Android 4.3
mihahn said:
Okay so how to start? What could we do to get the project to a higher level?
We have to find out how to get the bootloader to boot the 2nd kernel/recovery partition, right?
Sent from my Nexus 4 running Android 4.3
Click to expand...
Click to collapse
Not really ....we can attempt/try/wish to do what the Xperia T folks did ,flash a bootloader at /boot instead of boot image ...
First thing we really need to know how actually LK works and can it be made to boot a kernel stored in a memory card ,
Editing a nand partition is currently out of question imo ,there is no free space for two kernels...
Edit : TBH ,We should look at HTC HD2 development more than anything since that section has "Android SD development" and Nand development ..
Even saying that we might just be scratching the surface :/
karandpr said:
Not really ....we can attempt/try/wish to do what the Xperia T folks did ,flash a bootloader at /boot instead of boot image ...
First thing we really need to know how actually LK works and can it be made to boot a kernel stored in a memory card ,
Editing a nand partition is currently out of question imo ,there is no free space for two kernels...
Edit : TBH ,We should look at HTC HD2 development more than anything since that section has "Android SD development" and Nand development ..
Even saying that we might just be scratching the surface :/
Click to expand...
Click to collapse
Yes the HTC HD2 has great development support and I already worked with a HD2 of a friend, but I have actually no idea how to use the method they are using for the HD2 for our devices. I think I will dive into it when I'm back at home from my vacation trip
Sent from my Nexus 4 running Android 4.3
maybe at deeper lok of possibiltes
i was searching on sd card booting nd found this
http://glasskeys.com/2011/06/27/how...-card-running-cyanogenmod-for-the-nook-color/
we need to make a seprate partition and kernel to use triggers to boot like we always do but it will call from SD card..
i think it may not work cause calling a kernel from SD card
officiallysonyrebel said:
maybe at deeper lok of possibiltes
i was searching on sd card booting nd found this
http://glasskeys.com/2011/06/27/how...-card-running-cyanogenmod-for-the-nook-color/
we need to make a seprate partition and kernel to use triggers to boot like we always do but it will call from SD card..
i think it may not work cause calling a kernel from SD card
Click to expand...
Click to collapse
Ehh...no it won't work ...the S1boot boots only from /boot...
The thread you cited is too old and worked probably due to an exploit in nook color ...
I think something like LK should work ,provided it waits for sd card to mount...
officiallysonyrebel said:
we can't do it in /system basicially we have to do this thing using only FOTA partition ..but our main concern is when we unlock our bootloaders that partition becomes inaccesible for us...
if we somehow gets access to FOTApatition then script will do work..
Click to expand...
Click to collapse
Correct me if i m wrong.its a noobish thought.
Can we access fota partition before bootloader is unlocked?if we can so what r we waiting for?
lets rehearse for the magick show,do what u have thought of.
(I presume when device is still locked....or if we revert back to locked state from unlocked... we could acces that partition.. .we get space for secondry kernel...if still quesn is letting bootloader know we want to boot from that,then again we r far behind)
Sent from my Xperia Ray using xda premium
I really want to run pure linux on my android based device (please, no chroot, etc. suggestions) and I want to fully understand how my device boots. I'm trying to dig into the recovery and boot partition, without success (I figured out boot.img, but I can't open recovery.img) What do you suggest me to read?
Also, I saw that there is a second kernel inside recovery.img. is that right? If yes, what happens? When the real kernel is loaded? I want to make the android init to mount an img from the sdcard and execute /bin/init in it, in order to boot my linux system. Should I alter the ramdisk (hence the boot partition) or the recovery?
I also posted this to stackexchange [1] but got no helpful response.
Thank you.
bump
Hi all, I am new to the forums and I think that I need some help with a custom android project.
[Background]
I have bought a Meraki MC74, This phone is a VOIP office desk phone that has a nice 7 inch LCD screen that make for a ballin' custom intercom phone/general android device.
Cisco Meraki has dropped support for this phone, so even if I wanted to pay for a subscription, I couldn't. So custom android it is
[So what I know]
I know that the OEM OS is android 4.X.X with a custom Cisco Meraki dialer to do Meraki's cloud mumbojumbo. I was able to use ADB and Fastboot to flash ClockworkMod, and a custom version of Android 4.1.2 to get the device somewhat working. (it had lots of bugs and problems; but it was running android free of the Cisco Dialer!)
I was able to do this with the help of fellow xdadevelopers forum user "andrewmospak" (If you're reading this; I'm the dude from Ebay. And of course, thanks bro for the help so far!)
The storage is on a 4 GB Kingston EMMC.
[What I wanted for an end goal]
I wanted to have an interesting discontinued Meraki Desk phone that runs android and get all the functions of the phone working within android.
I also wanted to expand the storage from 4GB to 32GB. ( involving de-soldering existing EMMC and solder in the bigger EMMC.)
[What caused me to write this]
I would be fine if I wanted to stop there, but I wanted to try to install a GSI of android 9 in place of 4.1.2.
Again, this wouldn't be a big deal but I had to go and screw this up. I tried to resize some of the partitions (namely system to accommodate the bigger image of the android 9 GSI)but I accidentally completely killed the system,cache, and recovery partitions.
So, as one of the first steps of trouble shooting, I went to the hardest solution. The de-soldering of the EMMC.
I reached out to Andrewmospak again and asked for a full system emmc dump to try to flash his working file system to a spare 4GB EMMC to see an example of the file system of a working android EMMC. I received the image and flashed it to a spare Toshiba chip and soldered that to the phone, but I was unable to get the phone to boot into android right away, only able to load up fastboot.
Interestingly, I know that the EMMC is working because fastboot reports the S/N as the S/N of Andrewmospak's device and not the one written on my device.
[What I don't know]
Should some of the partitions on the EMMC not be recognized by Gparted in Debian? Like the User/System and others are partitioned ext4 while others are just not recognized.
Why when trying to flash partitions using Fastboot, wont fastboot recognise a recovery partition. It would just say that the partition just doesn't exist. same story with boot.
[What needs help]
I would like to know why fastboot wont see flashable volumes when using the EMMC dump flashed to another spare Toshiba EMMC, it is clearly there.
I would like to know how to reconstruct a volume to fix missing ones, and the number of partitions android needs to run.
Would I be able to flash an image of my working device to a 32gb emmc and just expand the system and user partitions into that extra space?
I will appreciate all help given to assist me and others that want a working device instead of a paperweight. ogChamp::fingers-crossed:
MOD ACTION:
Thread closed as duplicate. Follow the original HERE