Thanks David. Very informative. So say I modified the android code, added some functionality or tweaks in there, build and generate those three images (ramdisk, system, userdata), if I want to test or verify these changes on a real device (say a G1 phone), all I have to do is upload or flash these img files onto the G1 phone?
MBeth On Feb 21, 12:27 am, David Turner <[email protected]> wrote: > ramdisk.img is a small partition image that is mounted read-only by the > kernel at boot time. It only contains /init and a few config files. It is > used to start init which will mount the rest of the system images properly > and run the init procedure. A Ramdisk is a standard Linux feature. > > system.img is a partition image that will be mounted as / and thus contains > all system binaries > userdata.img is a partition image that can be mounted as /data and thus > contains all application-specific and user-specific data. > > The build system generates these files, which can later be flashed to a real > device, however the emulator uses them in a different way: > > - system.img is copied into a temporary file, which is used by the > emulator session. So any change you make to / as root in the emulator are > lost when the program exits > > - userdata.img is only used when you use -wipe-data. Instead, it uses > ~/.android/userdata-qemu.img (on Unix) as the persistent /data partition > image. Using -wipe-data simply copes the content of userdata.img into > userdata-qemu.img > > The main idea being that the emulator should not modify system.img and > userdata.img since they were generated as device images. However whether a > given system.img/userdata.img set of images will run on a real device > properly depends on how it was generated. For example I doubt that the ones > that come with the SDK would. > > A few more notes: > > - we are currently adding "Android virtual devices" (AVD) support to the > SDK. Each AVD corresponds to a directory holding persistent system images + > configuration files, and refers to a specific set of > kernel/ramdisk.img/system.img. Essentially the same as VMWare's virtual > machines, where each one could have a different system+data installed. In > the open source tree, these are called "VMs" or "AVMs" but we're currently > renaming them to "AVDs" because we found the former to be confusing to a > lot > of people (because Dalvik too is a VM, QEMU is a VM, etc...) > > - it is highly likely that in the near future, device builds genearted > through the source tree will not run very well in the emulator. Instead, > there will be a way to build emulator-specific images designed for this > purpose. The reason is we want to remove any emulator-specific hacks from > the real device system images, and certain emulator features cannot be > properly implemented if we don't add even more invasing changes to the > system. Changes that should not appear on device images. > > > > On Sat, Feb 21, 2009 at 3:12 AM, MBethDev <[email protected]> wrote: > > > Hi, > > > I'm new to Android development and recently I've been playing with the > > emulator and the applications, etc, and overall just getting to know > > the internals of the code. My main goal though is understanding the > > porting aspect of it on an actual embedded device. > > > Anyway, on to my question. I noticed that when building android it > > creates three img files: ramdisk.img, system.img, and userdata.img. > > Can someone give an explanation what these images are? My > > understanding is that these images are *emulator-specific* images to > > the ram, system, userdata, respectively on the emulator, but not > > necessarily "generic" images for any android-capable phones. In other > > words, is it possible (at all) to upload these same images to, say, a > > G1 phone and expect the same behavior I see in the emulator to be on > > the G1 phone (assuming of course I use a cross-compiler for that > > target phone to build the *.img files). Or are these img files solely > > for emulator-purposes only? > > > I apologize if this is too elementary for you guys as I'm learning > > along the way here. Any input about those img files are greatly > > appreciated. > > > Thanks. > > > MBeth- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ unsubscribe: [email protected] website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---
