Hi
Before someone say it, yes, i know that in a nand doesnt matter if the files are or not fragmented. But i had read in some other places in the internet that it actually comes to a decrease in performance when its fragmented... If its a fact or not i dont know...
But i have a lot of apps that havent been updated in a while, and im concerned about my phone become slow...
So my question is:
if a make a nandroid backup and flash and restore (in case it become slow), this restore puts all the files defragmented? Or it just do an exact image of all the things including their location (some parts here other there...)?
Thanks
According to http://www.wizcode.com/articles/comments/flash_memory_fragmentation_myths_and_facts/:
Myth: Flash cards unlike hard drives do not have movable parts so defragmentation is useless.
On theory, since a flash drive does not have moving parts, its access time is independent on where the data is stored, which is why supposedly flash drives don't need defragmenting.
The fact is that flash memory is physically organized in blocks (or pages) of data, usually 128K or 256K large. Things get even worse from the fact that in order to change even one single byte, the entire page has to be first erased and then re-written with its contents again. In our example the time needed to change one byte of information is calculated the following way:
T = R + E + W
T is the total time, R is the time needed to read the entire flash page containing the byte we wish to change, E is the time required to erase the page and W is the time it takes for the data to be written back to the empty page. Not only we had to read 128KB in order to change a single byte but we also had to erase the entire block (which is very slow) and then write 128KB over again.
To complicate matters even further, it must be noted that there are additional layers between the flash card controller and the file system that cache pages being read and written to. The cache serves for improving performance. It is a simple trade-off between read/write performance and some RAM being used to cache the pages. It is most effective to read or write entire flash pages performance wise. When the operating system instructs the controller to read a particular sector on the card the cache normally retrieves the entire block and stores it internally. What this means is that information that is stored in a contiguous matter is more likely to be found in the cache than non-contiguous information.
Suppose we have a file that is 263892 bytes large and is fragmented. On a FAT32 file system using 1K cluster the file will occupy 260 clusters. In the worst case scenario the clusters will be dispersed across 260 different flash pages. If the file is contiguous all 260 clusters will fit inside 3 flash pages. Caching of the fragmented file will be impossible as it won't fit in the cache (260 pages will require 33MB of RAM to cache) while the defragmented file will fit in just 384K.
And finally the FAT file system stores folders the same way files are being stored - in cluster chains. A large folder that is fragmented and is not cached represents a huge performance penalty for standard file operations like listing the files in that folder, renaming or even deleting a file.
Conclusion: Fragmentation has a serious impact on flash card performance especially during write operations and when the file system is heavily fragmented across many different flash pages.
Click to expand...
Click to collapse
Now, about your question. It would seem logical, as at that time, every partition is written in order, thereby it should be defragmented. During normal usage, you change this here, change that there, thereby different blocks are edited, causing fragmentation.
^^
Hey thanks!!
I supose that this is why explore an album or images cause some lag.
Also, i had noted that not even putting all images in order (contiguous), the cache always creates a lot of chunks...
Using this thread...
I just formatted the sd-ext, and it appears in link2sd as ext2, but i had it as ext4.
Could it lead to problems? Do i need to reformat my sd card with an external reader? Or from the cwm?
Ive restored all my apps and they work, but im not sure...
Thanks
Related
Does anyone know how to make a complete memory dump (RAM) of the XDA, apart from the m? commands. These commands give a memory, hex, text breakdown. What i'm looking for is a command that get's 32MB of data and stores is as 32MB of DATA (the the invoking and storing the dump is obvious, so no tips on those please, i only want the commands get this raw memory dump).
Regards,
René
I just read up on some of the other stuff in here.
Somebody mentioned the XDA has 32MB of RAM "AND!!!" 32MB of flash ROM.
So, is this true? And if so. Does this mean that the organizer data is held in flash ROM allways? (this would in my opinion not be correct with some of the functions of the XDA, but OK). And if so..... How do i make a raw dump of this memory?
Cheears,
René
dumping ram
Hi,
I'm not aware of a means to dump RAM using the bootloader functions. However I'm considering developing something for it. It shouldn't be too hard with a bootloader patch like we developed to get around 5.17 limitations.
What I'm looking for is info on how data is organized in RAM such as the filesystem. The 32 RAM contains semi persistent data while the ROM contains what is needed to reinitialize the device and system binaries. However, as far as I understand, applications you install additionally and any application data is only stored in RAM. Anyone knows how the filesystem works on the lower level? I'm looking to implement a tool that can read such a RAM dump and make sense outof it.
Ok, so i came up with the idea of using the m? functions for dumping the data (what is the difference between those anyway?), into a huge file (you get 80bytes for each 16 bytes of data, so 160MB for a 32MB model and a hellufa lot of time, say 4 hours at 105200), and than parse these back to the original 32MB, based on the hex dump supplied.
As to your question, for which i'd like the answer myself, about the file system: as it's windows, i hope it will be some form of FAT or NTFS, but what i've seen so far, i'm afraid it's the system MS developed for storing their office documents....
Does anyone know if parts of the data are stored encoded/crunched/ encrypted?
Anonymous said:
As to your question, for which i'd like the answer myself, about the file system: as it's windows, i hope it will be some form of FAT or NTFS, but what i've seen so far, i'm afraid it's the system MS developed for storing their office documents....
Does anyone know if parts of the data are stored encoded/crunched/ encrypted?
Click to expand...
Click to collapse
I doubt if its FAT or NTFS, as it needs to handle having its size limitations changed dynamically as the device manages objectstore<->memory changes.
And its all stored compressed.
..Chuck..
Well, I recently managed to work out what RAM belongs to the file system, and dump that ram only. And within that RAM I've found some files, and their compressed data, and used the BinaryDecompress calls to decompress it and verify the contents.
However I still can't work out the overall structure that provides the pointers/identifiers to the location of the files, I just happened to find certain files by searching on the filename (which is stored uncompressed BTW).
Has anyone else been trying this?
..Chuck..
Hi
I have been cooking roms for my WIZA100 (8125) for a while. I think that I have flashed it at least twenty times.
Who knows how many times can a device be flashed before damaging the flashrom?
Can anybody report how many times a device was flashed before being [unfortunately] bricked?
Thanks
????
A rom can be flashed as many times as you want......no one knows when and how a device goes bad to the point of not being able to flash it anymore.....I've flashed my Tilt at least 20 to 25 times and still is going strong..try not to worry about it.
CE OS 5.2.1948
Dutty's Nu Skool Rom
Build 20000.dutty's
Radio version 1.27.12.11
Most ROMS are rated for 100,000 flash cycles or more.
As liquidsilver stated, most flash ROMs are rated for 100,000 flash cycles. So you shouldn't encounter an error with the ROM itself.
Here is the Wikipedia article for more information.
One limitation of flash memory is that although it can be read or programmed a byte or a word at a time in a random access fashion, it must be erased a "block" at a time. This generally sets all bits in the block to 1. Starting with a freshly erased block, any location within that block can be programmed. However, once a bit has been set to 0, only by erasing the entire block can it be changed back to 1. In other words, flash memory (specifically NOR flash) offers random-access read and programming operations, but cannot offer arbitrary random-access rewrite or erase operations. A location can, however, be rewritten as long as the new value's 0 bits are a superset of the over-written value's. For example, a nibble value may be erased to 1111, then written as 1110. Successive writes to that nibble can change it to 1010, then 0010, and finally 0000. Although data structures in flash memory can not be updated in completely general ways, this allows members to be "removed" by marking them as invalid. This technique must be modified somewhat for multi-level devices, where one memory cell holds more than one bit.
Another limitation is that flash memory has a finite number of erase-write cycles (most commercially available flash products are guaranteed to withstand 100,000 write-erase-cycles for block 0, and no guarantees for other blocks).[1] This effect is partially offset by some chip firmware or file system drivers by counting the writes and dynamically remapping the blocks in order to spread the write operations between the sectors; this technique is called wear levelling. Another mechanism is to perform write verification and remapping to spare sectors in case of write failure, which is named bad block management (BBM). The bottom line is that a typical user using a commercial device, such as a camera, with a flash drive will probably not wear out the memory for the effective life of the camera. However, it - like any other hardware component - can fail. Anyone using flash memory (and any other medium) for critical data would be well advised to backup the data to another device (preferably of a different medium). Many have found it very fast and reliable for 'read-only' operating systems such as thin clients and routers.
Click to expand...
Click to collapse
edit: An interesting side-note is that a DOD wipe on a flash ROM does not actually adhere to the DOD protocols for a successful wipe due to the way flash memory handles data erasion and amendments.
So, I have S-OFF with custom mtd aplied on my desire. Partitions: System 250, Cache 40, Data: rest.
I also have A2SD+, so the apps should be going to my sd card.
For some reason my internal memory is going low. There's only about 17MB (11%) left. I'd like to know what is actually filling my Data-partition??
How do I do that??
I tried with adb, but it won't show me the dir sizes...
anr_history.txt
I inspected the files and folders in the /data -folder, and I bumped into this file called anr_history.txt. It was located in /data/data/com.android.htcprofiles..(if I remember correct). The size was pretty large for a text document: 14MB!!
So, i copied the file to my SD-card just to be sure, and then I erased everything fro the file-----> 14 megs free space.
Anybody knows what this file does...?
First thing, the partition sizes are default for Desire so hardly custom. Second, data for apps and things goes to your data partiton. Is your A2SD actually working right?
**EDIT**
I read a little and it maybe something to do with cachesdreset. Doing that will free something but you need to understand how A2SD works in the first place.
Accounts & Settings Pop3 Mail Sync Problem
Deleted***************
It's debugging information, basically, that's filling up your data partition.
I've posted a solution here:
atlas.hasselbalch.com/android/anr-using-my-space/
(sorry, can't link, since I'm a noob )
I've been wanting to make a larger /data partition on a Droid Incredible. I mean, after all, it comes with a lot of storage. But there is not nearly enough for apps. Sure. I can use my SD card. But unless there is something I'm not aware of, you can only install some apps to the SD and even when you do, pieces of that app still exist in /data. But what's even worse is the fact that I already use my SD card for movies and videos and such and I just don't really use the unclaimed space of which there is plenty, in the phone, for that sort of thing and yet I can't use it to install apps. I haven't found too much on this topic outside of using App2SD. I did find a lot of talk of using parted and even gparted. But this talk is generally about partitioning your SD card. If I were to use parted or gparted to resize the /data partition at the expense of another partition's space and I did it properly, would the Android system not boot because of it? And if this is doable, is there a better, easier way to do it than using parted and adb or gparted? Also, is there a guide for resizing your /data partition? I could probably survive without one if I had to but it would really be helpful just in case there are some big DO NOT DO's that should be avoided that aren't obvious. Any help would be greatly appreciated.
enigmatl said:
I've been wanting to make a larger /data partition on a Droid Incredible. I mean, after all, it comes with a lot of storage. But there is not nearly enough for apps. Sure. I can use my SD card. But unless there is something I'm not aware of, you can only install some apps to the SD and even when you do, pieces of that app still exist in /data. But what's even worse is the fact that I already use my SD card for movies and videos and such and I just don't really use the unclaimed space of which there is plenty, in the phone, for that sort of thing and yet I can't use it to install apps. I haven't found too much on this topic outside of using App2SD. I did find a lot of talk of using parted and even gparted. But this talk is generally about partitioning your SD card. If I were to use parted or gparted to resize the /data partition at the expense of another partition's space and I did it properly, would the Android system not boot because of it? And if this is doable, is there a better, easier way to do it than using parted and adb or gparted? Also, is there a guide for resizing your /data partition? I could probably survive without one if I had to but it would really be helpful just in case there are some big DO NOT DO's that should be avoided that aren't obvious. Any help would be greatly appreciated.
Click to expand...
Click to collapse
theres around 780mb in there thats not enough?
JoelZ9614 said:
theres around 780mb in there thats not enough?
Click to expand...
Click to collapse
He's talking about /data/data/ which is like 150mb, I use the NotEnoughSpace app it lets you store data on cache, emmc, sd card, you should check it out.
Well, I messed with notenoughspace too which was my eason for posting. This was the app that made me say enough is enough, can I just resize /data/data?.
-1- So much space on the incredible is going to waste while programs such as these would have me put apps on the SD where I really do want space for my other stuff like music and movies.
-2- Unless I missed a button or option, NotEnoughSpace came off as annoying to me. I would go into apps and wait for a minute for it to scan every time I do it and then I pick an app, for example Beejive. It makes me move it ONE FILE AT A TIME. And even then, there is stuff you can't move. Can I not just move the app, all of it in one click?
But most importantly, I just want more space on /data/data. I want to resize the partition. The phone has what, 8 gigs on it and allows 150 mb for apps in there which is just crazy.
Can I resize the partition where apps are stored (/data/data) by way of parted or gparted? to avoid the annoyance of using my external storage which I want to use for movies and music? There's probably 6 or so gigs on my phone I'll never use for media that should be meant for apps.
Has anybody resized the data partition? Are there consequences to doing it if it's done properly? Is there a guide? What is the easiest way to do this? Any help would be appreciated.
enigmatl said:
Well, I messed with notenoughspace too which was my eason for posting. This was the app that made me say enough is enough, can I just resize /data/data?.
-1- So much space on the incredible is going to waste while programs such as these would have me put apps on the SD where I really do want space for my other stuff like music and movies.
-2- Unless I missed a button or option, NotEnoughSpace came off as annoying to me. I would go into apps and wait for a minute for it to scan every time I do it and then I pick an app, for example Beejive. It makes me move it ONE FILE AT A TIME. And even then, there is stuff you can't move. Can I not just move the app, all of it in one click?
But most importantly, I just want more space on /data/data. I want to resize the partition. The phone has what, 8 gigs on it and allows 150 mb for apps in there which is just crazy.
Can I resize the partition where apps are stored (/data/data) by way of parted or gparted? to avoid the annoyance of using my external storage which I want to use for movies and music? There's probably 6 or so gigs on my phone I'll never use for media that should be meant for apps.
Has anybody resized the data partition? Are there consequences to doing it if it's done properly? Is there a guide? What is the easiest way to do this? Any help would be appreciated.
Click to expand...
Click to collapse
Ask conap hes good with this type of thing
Making progress but still need help.
There's some talk on the net that you can modify the size of the .img files that nandroid makes and simply flash them back to your phone.
Problem is, I can't find a windows way to do it on the net. The closest that I've come is a program called toporesize. This program will let you open files such as data.img from your nandroid backup. But you can't resize them because you get an error box that says this appears to not be an ext* filesystem. Check size file only to resize the file or use other tools. I'm assuming that means it wants you to check a button that says resize file only no resize2fs. In the one guide I found that talks about this app, it says do not check this box. So I'm assuming if you did, it would work and then when you flashed the file back to your phone, it would either not boot or the size would not be changed properly.
I also noted that there's a thread or two that has posted some custom sized data.img files for download. I would do this as a last resort but would prefer to resize my own data.img for a more precise choice of how large I want it.
The error mentions other tools. Are there other tools or programs for Windows users?
Does anybody have any insight on resizing the /data/data partition either by this method, by using parted/gparted, or any other method that works effectively?
I would avoid trying to alter the size of the partitions on your phone. That is how you end up with a brick. There are other ways including finding out which apps are taking up all of your space. 150 MB does not sound like a lot, but it is considering what is stored there.
Go into Manage Applications and click on the All tab. Then press the menu key and sort by size. Click on the apps near the top with anything higher than 3 or 4 MB. Look at the details in the storage section for each app. You will see a Data line item. If it is really high in proportion of the size of the Application, you should clear it. That will save you a lot of space.
In the case of the Mail app or other social networking apps like Facebook or Twitter, you can go into the settings and restrict how much data is stored on the phone. They can really eat up space by downloading a month of emails, etc ...
ihtfp69 said:
I would avoid trying to alter the size of the partitions on your phone. That is how you end up with a brick. There are other ways including finding out which apps are taking up all of your space. 150 MB does not sound like a lot, but it is considering what is stored there.
Go into Manage Applications and click on the All tab. Then press the menu key and sort by size. Click on the apps near the top with anything higher than 3 or 4 MB. Look at the details in the storage section for each app. You will see a Data line item. If it is really high in proportion of the size of the Application, you should clear it. That will save you a lot of space.
In the case of the Mail app or other social networking apps like Facebook or Twitter, you can go into the settings and restrict how much data is stored on the phone. They can really eat up space by downloading a month of emails, etc ...
Click to expand...
Click to collapse
This request is meant with respect and NOT as a flame but I have to make this request so others don't follow and potentially change the thread into a debate on whether to resize or not resize the partition.
Please let's not start talking about whether this is a good idea or not nor if doing this can make our phone into a brick. Now that it's been said, those lurking and considering this for themselves can make up their own minds. But there are a lot of things talked about throughout XDA that can make your phone into a brick yet things are done in the name of making our devices better.
And yes. We can take action to reduce the amount of data that apps are taking up. To tell you the truth, I would do that even if I had a 1GB partition. I think always saving space when space can be saved is a good idea.
But just in principle, I and probably others want to reclaim that space on our phones that will never be used by anything. Maybe HTC allocated the space as it's allocated because some users won't use an SD card and will then use that space for their media and other miscellaneous stuff.
But once you have an SD card that's way bigger than the extra space on your phone, it becomes pointless to use that space on your phone for media. So I want it available for data.
So both sides of whether to do this or not have now been posed. I ask can we please get back to the topic of how to though I do thank you for your input.
That said, again, does anybody know how to resize your data partition whether by doing it live with parted or gparted or by editing the data.img file that nandroid via clockwork mod puts out? I would really appreciate it.
I tried making a nandroid backup of the phone through clockworkmod, sending the data.img file to my computer, using toporesize to resize it. And by the way, I was forced to check the resize file only no resize2fs button as not doing this generated an error. I then used md5sum to get an md5sum for the new data.img. I then inserted the md5sum in clockwork/nandroid's nandroid.md5 file (with a linux file compatable text editor). I then sent the entire backup back to the phone in a different clockworkmod/backup folder, used rom manager to restore, selected the new resized backup.
After the flashing was complete, I went into my phone only to find that the data partition still had the same amount free (give or take a few K). I wondered if that's because I had to shrink the system file? I was thinking before I started that it's probable that I would have to shrink another partition that had free space so I chose system. I attempted to repeat the above steps from the beginning this time with the plan of shrinking system.img.
No go. toporesize will not shrink it properly. Errors are reported in the process though when I reload it into toporesize, it looks like it has the size I want. Knowing it would probably fail, I tried to continue anyway. Even with the correct md5sum, nandroid won't even start the recovery of that set. You get a status bar for a second and then, the phone just reboots.
So for now, I'm at a loss but I know this can be done.
Whether using this method or another, does anybody know how to properly change the size of the data partition using WINDOWS?
Don't come crying when you brick it.
ihtfp69 said:
Don't come crying when you brick it.
Click to expand...
Click to collapse
I have no intentions of such. -1- I will quite likely never brick it as nandroid pretty much has me covered. But if I do, -2- I don't plan on having this phone forever. It's not new any more. There are already several models that are better than the droid incredible that I'm looking at. If I were to brick this phone, yay. Good excuse to buy a new phone. But, odds are, i'll never brick it and come November or December, I'll buy something else anyhow.
So please, this isn't about the risks, of course you can brick your phone trying this or many other things on XDA.
Does anyone know how to resize the data partition using any method that can be done with the help of a Windows machine?
This is a fundamental change to a very sensitive area you have
276 mb for the system rom and 748mb for user apps.Many rom devs seem to be straining to keep the rom below 200mb and it is amazingly easy to fill up 748 mb with little apps.
I would think if it were possible to do this it would have been done by the rom devs first thing. I would love to see a rom dev bump this to 500mb and 1024mb.
Chances are to re partition the partitions on the phones memory is not possible with out a hboot flash or something of a custom bootloader...
I find removing these help... Also i use handcent and gmail.app instead of the stock apps...
friendstream
peep
twitter
flicker
stocks app
facebook
748 mb? I only have 150 available in /data/data. How do you get 748?
enigmatl said:
748 mb? I only have 150 available in /data/data. How do you get 748?
Click to expand...
Click to collapse
748mb is the size of the entire /data partition what us devs are doing with the new roms is symlinking things to the /system from /data i've managed to do it without symlinking but it bring the /system to its limits and thats usually not good to do
enigmatl said:
748 mb? I only have 150 available in /data/data. How do you get 748?
Click to expand...
Click to collapse
In my /data/data i have 95.96 MB free
rom 35MB free
app space 212 MB free
internal 6.44GB free
Also /data/data is a different partition than /data so the 150 is not included as part of the 748.
Resize /data/data partition - Update?
Did you ever find a solution to resizing the HTC Incredible's partitions?
I too am fed up with having to constantly clear caches and uninstalled apps, just because the tiny 150MB partition fills up. It's been a problem since my wife and I bought our phones.
I expect it would have to be done by a custom bootloader, but thought I would check and see if you had any success.
If nandroid recreates the partition tables based on the sizes of the .img partition backups, then they could probably be resized by mounting the .IMG files directly under Linux and using Linux tools to resize each one - or - creating a new .img partition of the new size(s), mount the backups and copy everything over to the new one, unmount it and go from there?
Steve
Have you used the Ext4 mod created by Tiny and Jermaine151?
http://forum.xda-developers.com/showthread.php?t=1623038
...and the following is the original thread which has the details of what exactly the mod does:
http://forum.xda-developers.com/showthread.php?t=1315372
If I'm reading this (outdated) thread correctly, this mod is what you're looking for in regards to partitioning /data/data. The second link is provided in the OP of my first link.
SlimSnoopOS said:
Have you used the Ext4 mod created by Tiny and Jermaine151?
http://forum.xda-developers.com/showthread.php?t=1623038
...and the following is the original thread which has the details of what exactly the mod does:
http://forum.xda-developers.com/showthread.php?t=1315372
If I'm reading this (outdated) thread correctly, this mod is what you're looking for in regards to partitioning /data/data. The second link is provided in the OP of my first link.
Click to expand...
Click to collapse
What he said ^^^^
Just do it.
I have been following the xda-developer website for awhile now, as I have a KIN 2m of my own and I have been interested in finding a way to root or replace the current OS with a new one. Since I haven't seen anymore progress with the phone itself, I decided to do some digging and see what I could do myself (I am a programmer and IT Specialist). What I found might be helpful.
According to other posts, and what is floating around the internet, the KIN 2m flash memory is based on the Samsung MoviNAND 8G architecture. The chip itself is the Samsung MoviNAND KLM8G4DEDD-B101 which supplies 8GB of flash memory to the phone. Since this is also a Flash based NAND memory, I decided to investigate into the actual filesystem (FS) which makes up the chip and which WindowsCE 6.0 is based.
Apparently, this particular NAND memory is based on the YAFFS2 (Yet Another Flash File System rev2.0) which supports both little- and big-endian (32 and 64-bit architecture and some 16-bit systems), respectively. Also, the operating systems that are built on this particular FS are WindowsCE, Android, Linux, pSOS, eCos, and ThreadX.
Going off what I had found, I discovered that with regard to WindowsCE in particular, there are four different parts to the KIN NAND set-up: A Portable YAFFS "Core", a YAFFS Direct Interface, the WindowsCE wrapper, and then of course the WindowsCE OS itself. For WindowsCE, the WindowsCE wrapper accesses the YAFFS Direct Interface, not the core directly. In order to write instructions to the NAND and the "core", a set of instructions in three different types are necessary. These types are a POSIX Application Interface, an RTOS Integration Interface, and finally Flash Configuration and Access Interface. I have attached (and pasted) below a diagram of the above description and I have attached a document which was provided by yaffs.net which also covers some of these details.
View attachment 1461518
The POSIX Application Interface allows execution of application code to access the filesystem. These commands that are executed are typically open, close, read, write, etc. The RTOS Integration Interface consists of functions which allows for YAFFS to access the RTOS system resources. The commands are things like lock, unlock, initialize, get time, set error, etc.. Finally, we have a Flash Configuration and Access Interface which allows YAFFS to access the NAND directly and it executes commands such as initialize, read chunk, erase block, etc.)
So this is what I have discovered so far, and I am currently working on seeing where I go from here. I am currently trying to mount my KIN and browse it as a YAFFS filesystem on my computer, and once I do that, I am thinking that I might be able to execute instructions to access the ROM and NAND chip. On the YAFFS.net website there are a lot of good documents on how this FS works and how commands are executed. I am currently trying to read all I can and see if there is anything I can do.
And the plus side is, after all of this digging and experimenting...my KIN still works!!
very interesting.
wouldn't instructions be executed on the ARM?
http://en.wikipedia.org/wiki/ARM_architecture#Instruction_set
the trick would just be getting something on there and running...
Edits:
actually we may have already found a way to execute. it involves XNA or Silverlight and its on these forums somewhere. now compiling something...
must note that this could probably end very poorly.
so how we write android to NAND?
http://source.android.com/
BOOM
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0290g/DDI0290G_arm1156t2fs_r0p4_trm.pdf
if we can access a console on the actual kin device we can compile code. now, how exactly we could do that is a mystery to me. the kinOS is running on top of windows CE kernel, so there may be one in there...
that console would be "run23"
http://support.microsoft.com/kb/194302
http://developer.download.nvidia.com/tegra/docs/tegra_250_hw_setup.pdf
check out page 12. to put the kin in recovery mode, you hold u+s+b+power.
also relevant
http://forum.xda-developers.com/showthread.php?t=894130&page=2
BOOM
infocenter.arm.com/help/topic/com.arm.doc.ddi0290g/DDI0290G_arm1156t2fs_r0p4_trm.pdf
if we can access a console on the actual kin device we can compile code. now, how exactly we could do that is a mystery to me. the kinOS is running on top of windows CE kernel, so there may be one in there...
that console would be "run23"
support.microsoft.com/kb/194302
Click to expand...
Click to collapse
That is a good thought. However, according to what I have found, there is no reason to go looking for a console on the device itself with which to compile/execute code. What I have found, to date, is that because the device is a YAFFS filesystem, if we have the correct drivers installed on our host machine (which can be gained from the internet), we can mount the device as a drive and using Command Prompt on the host machine we can compile and execute the code from there. We can use the commands NVFlash, mount, write, flash_eraseall, etc.
Sorry if this doesn't seem to make an sense at the moment...I am trying to multitask, and I believe I am failing miserably. I will hopefully have more information later.
IT_Tech said:
we can mount the device as a drive and using Command Prompt on the host machine we can compile and execute the code from there. We can use the commands NVFlash, mount, write, flash_eraseall, etc.
Click to expand...
Click to collapse
ooh, that's a good one. i think JohnKussak was doing something like that using the NVidia tegra toolkit, but he was not able to connect for some reason.
http://forum.xda-developers.com/showthread.php?t=894130&page=2
now, from what i understand of YAFFS (which is admittedly very little) it's just a partition of the memory right? or is the YAFFS system on a completely separate piece of memory?
i was reading about the MPU (memory protection unit) in the ARM manual and it described the layout of memory. basically it supports up to 16 blocks, all with 32 bit addresses (4294967295 bytes = 4gb). since there's 8 gb of storage on the kin, it can probably be assumed that 2 of those blocks are used for storage. another block is probably for RAM (256mb). now, the YAFFS system has to be accessible to the ARM somehow (maybe), so there are several possibilities.
1) the YAFFS file system is on a partition of the 8gb storage space
2) the YAFFS file system is on a partition of the 256mb RAM (pretty sure this isn't the case)
3) the YAFFS file system has its own block of memory
regardless, the MPU can be disabled. when it's disabled, no permissions are checked (ever) and we can read/write anywhere we please, including the YAFFS, wherever it may be. i'm not totally sure this is necessary, but i know we've had problems accessing system folders in the past. i suspect disabling the MPU could fix that, if we could manage.
i also suspect that the YAFFS is accessible when the phone is in recovery mode (u+s+b+power), we just need the correct drivers to flash a Tegra 2600 APX chip. i believe i read on the tegra thread that somebody couldn't find that particular driver. it may need to be written.
edit:
just found this https://developer.nvidia.com/tegra-2-technical-reference-manual
you have to apply for access and it can take up to a month i guess. i'm working on that right now. the main item of interest is "16.0 NAND Flash Controller". i'm gonna try looking in some shady places and see if i can't dig that up...
double edit:
just realized that tegra 2 is different than tegra APX, NVidia does not offer an APX manual anymore, if they ever did.
triple edit:
ooooookay. http://viewsonic-gtablet-for-dummies.webs.com/nvflash.htm
just grabbed source for drivers. unfortunately, NVflash does not run on 64 bit systems, which is causing a bit of problems for me...
slimeq said:
now, from what i understand of YAFFS (which is admittedly very little) it's just a partition of the memory right? or is the YAFFS system on a completely separate piece of memory?
Click to expand...
Click to collapse
From what I understand, YAFFS is a partitioning system. It does not need to be stored as a separate system on a separate piece of memory. However, it does also have the capabilities to be partially RAM based... Which may end up confounding things. If you get a chance, you may have done this already I don't know, but read up on the YAFFS file system on the yaffs.net website--it has a ton of documents on how the system works and the commands it executes, its architecture, etc.
slimeq said:
i was reading about the MPU (memory protection unit) in the ARM manual and it described the layout of memory. basically it supports up to 16 blocks, all with 32 bit addresses (4294967295 bytes = 4gb). since there's 8 gb of storage on the kin, it can probably be assumed that 2 of those blocks are used for storage. another block is probably for RAM (256mb). now, the YAFFS system has to be accessible to the ARM somehow (maybe), so there are several possibilities.
1) the YAFFS file system is on a partition of the 8gb storage space
2) the YAFFS file system is on a partition of the 256mb RAM (pretty sure this isn't the case)
3) the YAFFS file system has its own block of memory
Click to expand...
Click to collapse
Let me begin here and differentiate between YAFFS types...there are two types of YAFFS formatting--YAFFS1 and YAFFS2. The KIN is formatted using YAFFS2 because it has 8g of space. Yaffs2 is different from Yaffs1 in the fact that it allows for memory sizes greater than 4GB because it supports 4KB pages rather than 512byte pages (Yaffs1). I will spare all the details as they are lengthy, but check out:
yaffs.net/documents/how-yaffs-works and yaffs.net/yaffs-original-specification (paying attention to Yaffs2 and how it relates to it foundation off of Yaffs1). Also, since Yaffs only uses a RAM based system for emulation purposes when the kernel is not being run on a true NAND (or NOR) storage, we can eliminate Option 2. Option 3, may be viable, but I am not sure as to how. Option 1 seems to make the most logical sense (pun intended), because of how the YDI (YAFFS Direct Interface) works with the YAFFS kernel and filesystem, as well as the WindowsCE Wrapper, etc.
Now as for the MPU. Yaffs has a built in code to handle MPU and a way to disable it through a console session on a host machine, but I don't remember where I read it, I believe it was on the yaffs.net website in one of the technical documents... I will work to remember where I found it.
I hope we can get some more people on-board helping with this YAFFS thing. If we could, it might make this go a bit faster, and have more heads working on it. Plus they might see something we don't.
P.S: These are the HARDEST captchas I have ever seen in my entire life!
kin
Hopefully you get access to the filesystem with this IT_Tech :fingers-crossed:
Every once in a while, it's fun to revisit Dev on the Kin
I remember going through the Tegra 2500 APX links on the wayback machine:
http://web.archive.org/web/20100813070722/http://www.nvidia.com/object/product_tegra_apx_us.html
If you click the Specifications tab, you can see that the 2600 and 2500 are virtually identical, aside from some video features.
Also, the ZuneHD is the only other product listed as using the 2500 chip. I don't have one, so I wouldn't know for sure, but I wonder if its drivers could be tweaked to allow access to the Kin, in the same way as the Zune. I remember trying to hack into other Windows Mobile drivers (for other WinMo 6.x devices I have) but never getting anything further, even when in other USB modes on the device.