Account Options

  1. Sign in
The old Google Groups will be going away soon.
Switch to the new Google Groups.
Google Groups Home
« Groups Home
Questions on ramdisk, userdata, and system img files
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  8 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
MBethDev  
View profile  
 More options Feb 20 2009, 9:12 pm
From: MBethDev <mbeth...@gmail.com>
Date: Fri, 20 Feb 2009 18:12:20 -0800 (PST)
Local: Fri, Feb 20 2009 9:12 pm
Subject: Questions on ramdisk, userdata, and system img files
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


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
David Turner  
View profile  
 More options Feb 21 2009, 3:27 am
From: David Turner <di...@android.com>
Date: Sat, 21 Feb 2009 09:27:51 +0100
Local: Sat, Feb 21 2009 3:27 am
Subject: Re: [android-porting] Questions on ramdisk, userdata, and system img files

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.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
MBethDev  
View profile  
 More options Feb 22 2009, 12:04 am
From: MBethDev <mbeth...@gmail.com>
Date: Sat, 21 Feb 2009 21:04:49 -0800 (PST)
Local: Sun, Feb 22 2009 12:04 am
Subject: Re: Questions on ramdisk, userdata, and system img files
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 <di...@android.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
David Turner  
View profile  
 More options Feb 22 2009, 8:01 am
From: David Turner <di...@android.com>
Date: Sun, 22 Feb 2009 14:01:17 +0100
Local: Sun, Feb 22 2009 8:01 am
Subject: Re: [android-porting] Re: Questions on ramdisk, userdata, and system img files

On Sun, Feb 22, 2009 at 6:04 AM, MBethDev <mbeth...@gmail.com> wrote:

> 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?

absolutely, but there may be additionnal packaging involved (which already
is handled by the build system).
Essentially, the kernel image + ramdisk will be combined into a boot.img,
which may include other things I'm
not aware of.

Then you would use the fastboot command to flash these partitions to a real
device. I can't really tell you exactly
how all of this happens though. Here's how I reflash the system image on my
device:lunch

. build/ensetup.sh    -- setup environment
lunch dream-eng      -- setup Dream build + engineering options (larger but
better for debugging)
make -j8                 -- rebuild on a Quad-core machine

-- reboot phone in bootloader mode  (press back while turning on the phone
with the EndCall button)
-- connect it through USB, see the message that says "SERIAL" turn into
"FASTBOOT"

fastboot flash system out/target/product/dream/system.img
fastboot reboot

for radical changes to the system, you might want to use the "-w" option to
fastboot that clears the data partition
or you could do a: fastboot flash data out/target/product/dream/userdata.img

the system should always be capable of booting from an empty /data
partition. Note that the boot will be longer in
this case because a lot of caches must be recreated (the same applies to the
emulator with -wipe-data)

MBeth


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Russell  
View profile  
 More options Mar 11 2009, 5:47 pm
From: Russell <rjcolling...@gmail.com>
Date: Wed, 11 Mar 2009 14:47:24 -0700 (PDT)
Local: Wed, Mar 11 2009 5:47 pm
Subject: Re: Questions on ramdisk, userdata, and system img files

> . build/ensetup.sh    -- setup environment
> lunch dream-eng      -- setup Dream build + engineering options (larger but
> better for debugging)
> make -j8                 -- rebuild on a Quad-core machine

...how do i even get "lunch dream-eng" working? I have the latest
source from git which builds android 1.5 but i can only do lunch 1,
dream-eng isn't found?

Do i have to follow these steps to install the extra packages?

http://source.android.com/documentation/building-for-dream

Currently i can only build "generic" and when i install that on the
phone with your fastboot commands it has no GSM signal etc.
Thanks
Russell


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
David Turner  
View profile  
 More options Mar 11 2009, 6:48 pm
From: David Turner <di...@android.com>
Date: Wed, 11 Mar 2009 23:48:09 +0100
Local: Wed, Mar 11 2009 6:48 pm
Subject: Re: [android-porting] Re: Questions on ramdisk, userdata, and system img files

Ah sorry, dream-eng is now deprecated, you should try generic-eng instead.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
joel  
View profile  
 More options May 6 2009, 12:30 pm
From: joel <joe...@gmail.com>
Date: Wed, 6 May 2009 09:30:31 -0700 (PDT)
Local: Wed, May 6 2009 12:30 pm
Subject: Re: Questions on ramdisk, userdata, and system img files
Will there be a replacement for dream-eng then, since Russell is
saying generic doesn't support the full dream hardware apparently?

On Mar 11, 6:48 pm, David Turner <di...@android.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
joel  
View profile  
 More options May 6 2009, 12:43 pm
From: joel <joe...@gmail.com>
Date: Wed, 6 May 2009 09:43:51 -0700 (PDT)
Local: Wed, May 6 2009 12:43 pm
Subject: Re: Questions on ramdisk, userdata, and system img files
Hmm although I am not using 'lunch', just the "Building For Dream"
instructions, I do seem to be doing an htc-dream eng build...

On May 6, 12:30 pm, joel <joe...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »