D:\Program Files\OPhoneSDK_1.5.beta\tools>adb shell
# pwd
pwd
/
# ls -l
ls -l
lrwxrwxrwx root root 2010-01-31 15:03 preload -> /system/preload
drwxr-xr-x root root 2010-01-31 15:03 Linux
lrwxrwxrwx root root 2010-01-31 15:03 bin -> /opl/telephony/bin
lrwxrwxrwx root root 2010-01-31 15:03 usr -> /opl/telephony/usr
lrwxrwxrwx root root 2010-01-31 15:03 lib -> /opl/telephony/lib
drwxrwxrwt root root 2010-01-31 15:05 tmp
drwxrwxrwt root root 2010-01-31 15:05 sqlite_stmt_journals
drwxrwx--- system cache 2009-12-20 10:11 cache
drwxr-xr-x system system 2009-10-10 13:11 opl
drwxrwxrwx system system 2009-10-24 01:48 local
d--------- system system 2010-01-31 15:03 sdcard
drwxr-xr-x root root 2010-01-31 15:03 d
lrwxrwxrwx root root 2010-01-31 15:03 etc -> /system/etc
drwxr-xr-x root root 2009-10-22 16:20 system
drwxr-xr-x root root 1970-01-01 08:00 sys
drwxr-x--- root root 1970-01-01 08:00 sbin
dr-xr-xr-x root root 1970-01-01 08:00 proc
-rwxr-x--- root root 11875 1970-01-01 08:00 init.rc
-rwxr-x--- root root 2138 1970-01-01 08:00 init.goldfish.rc
-rwxr-x--- root root 127548 1970-01-01 08:00 init
-rw-r--r-- root root 118 1970-01-01 08:00 default.prop
drwxrwx--x system system 2009-12-20 10:11 data
drwx------ root root 1970-01-01 08:00 root
drwxr-xr-x root root 2010-01-31 15:04 dev
果然,可以run一些linux下的基本命令,如ls,pwd等,证明了我们确实是获得了一个linux shell
另外黄颜色显示的文件和我们在ramdisk中看到的文件似乎大小一致,暗示它们是同一。
run mount to see有那些文件系统被mount了
# mount
mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
tmpfs /tmp tmpfs rw 0 0
/dev/block/mtdblock0 /system yaffs2 rw 0 0
/dev/block/mtdblock4 /opl yaffs2 rw 0 0
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock3/local yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
我们看见了system,opl,data,local和cache;恩,这些名字和那个表格里的data/VMS Alpha Executable似乎有些重合
/system,/opl和/cache是VMS Alpha Executable的system.img,opl.img和cache.img转换而来
/local是data的local.img转换而来
/data嘛,就不太好判断,不知道和userdata.img和userdata-qemu.img有什么关系没?
但至少我们知道可以查看/system来明白system image包含哪些东西了吧。。。,比如/system/framework就是android的framework啦
也可以知道可以查看/cache来明白什么是cache image的内涵了吧。。。
对于local image同理可得。。。
另外,adb shell提供的command有限,比如没有zcat,cp,uname和busybox等,有没有办法能将这些命令加入进去呢?到这里下载busybox,http://benno.id.au/blog/2007/11/14/android-busybox ,然后按照提示将busybox push至/data/busybox目录,install后即可运行所有的busybox applet。比如:
# /data/busybox/zcat /proc/config.gz|/data/busybox/more
/data/busybox/zcat /proc/config.gz|/data/busybox/more
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.25
# Mon Nov 10 05:02:15 2008
所以我们就能知道1.5的Android用的linux kernel是2.6.25版本的。。。