Friday, January 11, 2008

Extract google android file system image

To run google android on the truely hardware, you may need the google android file system image.

Google android file system consists of two parts: system and data.
You can find the google android file system image on benno's website: Android filesystem images

You can also extract the google android file system by yourself from the android emulator by the following way:
1. download the google android sdk and extract onto your platform
2. start up the google android emulator
3. upload a busybox tool to the google android emulator, you can find a busybox binary on benno's website: busybox for android, you can also find the cross-compiler (select ARM GNU/Linux, and IA32 GNU/Linux) and create a busybox tool by yourself.
4. to upload files to the google android emulator, run the following command:
# adb push filename /target_folder/filename
the target_folder is the folder on the file system of google android emulator. e.g. /system/bin/
put the busybox to /system/bin, so you can see busybox tool in the extracted file system.
5. open a google android shell command window:
# adb shell
6. change the busybox mode to 555:
# chmod 555 /system/bin/busybox
7. create the tarball for /system and /data:
# busybox tar cvf /system.tar /system
# busybox tar cvf /data.tar /data
8. pull the tarball file from the google android emulator:
# adb pull system.tar /system.tar
# adb pull data.tar /data.tar

a note: when you want run google android on your truely hardware, the data.tar is not a must.

21 comments:

Unknown said...

Hi Buddy,

Got the images (system.tar, data.tar & ramdisk) from Benno's site. Can you please show me some pointers for putting these images into the NEO Freerunner.

Thanks,
Ram

rtm said...

Have you booted up your device with android available linux kernel? Does the console available? If yes, you have several choices to boot up into android idle:
1. boot from microsd card, I see your device has microsd. If you have your microsd enabled in your linux kernel, you can boot from microsd. first, format your microsd card with your PC, extract system.img to microsd/system folder, create microsd/data folder. second, change your ramdisk. rename the init to startup. compose another init with some shell scripts to mount the microsd, symbol link to microsd/system, microsd/data, and exec the startup. last, change your bootargs to point to microsd so to start up from your microsd. bootargs setup is in your u-boot console.
2. bootup from flash if you have your flash ready. first you need to make sure the flash works. second you need to decide the partition you are going to use for system and data. third you need to flash the system.img to your corresponding partitions. make sure which file system you are using. you need to re-create the system.img if you are using different file system (jffs2/yaffs2). last change ramdisk the init scripts and the bootargs so to startup from the flash
3. NFS startup if your device has network available. Not sure because mostly only debug board has network access.

Unknown said...

Hi RTM,

Thanks for the detailed steps.
One doubt though, Does MicroSD
booting supported by the Kernel
released by Sean for the Neo
Freerunner?

Thanks,
Ram

rtm said...

You need to find out.
You can plug in the microsd, and try mount it in your console. Normally the microsd device might be sdb1, sdc1, sdd1, etc.
sudo mount -t ext3 /dev/sda1 /media/disk

Unknown said...

Hi sir:
when i try to extract the file system from emulator. I found that the android file system is read only, I can not push my busybox to the android file system. how can i deal with it?

rtm said...

1. push your busybox to /data partition
2. if you insist on /system partition, you can remount your /system partition to rw, instead of ro as default. the command is:
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system

Anonymous said...

nice post




web design company, web designer,
web design India,website design,web design

androjes said...

I need more details about boot from flash and NFS please!
I have only 64Mo of flash, there is 2 free partitions (5M for data.img and 55M for system.img) the kernel is ready in other partition. And what about ramdisk?

I have one idea, I was extract ramdisk and fill /system and /data of rootfs.
After that, I create a jffs2 image from the rootfs(size=32M). And I will put it in my NAND (partition which have 55M of size).

my bootargs: root=/dev/mtdblock3 console=ttySAC0,115200 rootfstype=jffs2

When I copy the root in memory it's interrupted. I search one methode to copy it directly in the NAND! if someone can help me?

I'm sorry about my english! Thanks

Anonymous said...

If you want to do a shopping in Mumbai, but you have no idea how many shops there are in Mumbai of that type of shopping? Though

we also don’t have exact no of shopping centers but we have large collection of Mumbai business addresses with their phone number and postal address. So, whether you are from local

Mumbai or you are a tourist, this site may be helpful for you. So, explore this website and you may find it useful.

zcocorporation said...
This comment has been removed by the author.
sasha said...

If you love your Android phone, a number of quality applications now made available for it will make you love it even more.

best android apps

Unknown said...

Wow! I'm pretty sure that this caught up plenty of people's attention, Thumbs up for your work and Good writing skills!

i am jayne and i am a freelance writer..
see my related post here ------> Man Suits

Jasmine Carrel said...

Well I would now be aware of Sticky posts.
Generic Plavix

Fabian Smith said...

This is a sharing amazing. Nice page thanx admin.

Conversion Analysis Report Analysts

Fabian Smith said...

This is really good advice. i also like this! thanks so much for this post!

Attorney Logo

John said...

Really good advice looking more in future. Software Development Company | Website Design London

Unknown said...

Hi, I like your blog very much! It is found me so interesting and informative. Thanks very much for sharing this amazing information over here. Cheap Essay Writing

Unknown said...

Very nice blog website… I always enjoy to read your blog post… Very good writing skill.. I appreciated what you have done here… Good job! Keep posting. Paper Writing Services

Unknown said...

This is an excellent site, I like your blog and your writing style, thanks for sharing your knowledge, keep up the good work. Essay Writing Services

Unknown said...

I think good information given by author to make your blog thanks. Drupal App Development

Unknown said...

Hi ,

Can you please tell how can i Create system.img and data.img or Jffs2 file system ?