本文是在Ubuntu10.10系统上进行实践的。

1 因为我们需要Android的模拟器,所以需要安装Android的SDK,并创建AVD,

  可以一次命名为AVD15,AVD22,AVD23,...

  AVD15对应1.5,AVD22对应2.2,AVD23对应2.3,...

 获取.config文件:

在启动模拟器AVD15:

$emulator -avd AVD15

$pull /proc/config.gz . //将/proc/config.gz这个文件复制到本地的目录,对应Linux上运行该命令的当前工作的目录,下同

然后,将其解压并保存为.config,留待后面使用

 

2 arm编译器

去网站 下载arm工具链

注意选择较早的版本,很有可能是google那班人在编译的时候 选择的是当时的最新的版本,但是后来就一直用那个版本

http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite

要之前的版本:点击 All versions 即可看到所有的发行版本,2008q3-41这个版本是经过很多人测试可以用的。

解压后,设置环境变量,将/usr/local/arm-2008q3/bin 添加到$PATH中

其中 /usr/local/为保存解压后的arm-tools-chain的根目录

 

3 下载Android的Linux内核

记住是Android的Linux内核(git clone git://android.git.kernel.org/ kernel/common.git),而不是通用的Linuxe内核源码(git clone git://android.git.kernel.org/kernel/linux-2.6.git )

$ git clone git://android.git.kernel.org/kernel/common.git  kernel-common

//其中 kernel-common为存放从代码库下来的代码的目录,下同

这一步是个漫长的等待...

$ cd ~/kernel-common
$ git branch
$ android-2.6.36
//这个随着版本的变化而变化

 

4 下载完Android的Linux内核源码,你会发现在/arch/arm/configs/下没有goldfish_defconfig这个文件,恩我们需要check_out gold_fish版本(模拟器的硬件配置就是Gold_Fish的)

$ cd ~/kernel_common
$ git branch -a
$  *android-2.6.36
   remotes/origin/HEAD -> origin/android-2.6.36
   remotes/origin/android-2.6.35
   remotes/origin/android-2.6.36
   remotes/origin/archive/android-2.6.25
   remotes/origin/archive/android-2.6.27
   remotes/origin/archive/android-2.6.29
   remotes/origin/archive/android-2.6.32
   remotes/origin/archive/android-gldfish-2.6.29
   remotes/origin/archive/android-goldfish-2.6.27//以上显示是目前看到的,将来的某个时候可以就有点不同了,甚至老版本的Branch 名字也会被修改
//故要特别注意
$ git checkout remotes/origin/archive/android-gldfish-2.6.29
//这个过程就快多了,等待下载完数据
//git 这个东西确实不怎么好用,还是想念Windows上TortoiseSVN

当下载完,你就能在kernel-common/arch/arm/configs/下看到goldfish_defconfig这个文件

5 编译

1)将1中的.config文件拷贝到 ~/kernel_common目录下

2)修改 ~/kernel_common目录下的Makefile文件(修改两处) -- 修改之掐最好备份下这个文件,因为如果你修改了这个文件 用git获取新版本的时候

会提示Makefile文件被修改

ARCH        ?= arm //制定CPU的架构为ARM
 CROSS_COMPILE    ?= arm-none-linux-gnueabi- //arm编译工具前缀3)
$ make goldfish_defconfig
$ make -j2 //现在的机器都是双核的,这样代码编译就快多了

编译最后两行信息:

OBJCOPY arch/arm/boot/zImage
   Kernel: arch/arm/boot/zImage is ready

6 用我们刚刚编译成功内核启动模拟器(这样不会对原有的模拟器产生任何的影响)

$ emulator -avd AVD15 -kernel ~/kernel_common/arch/arm/boot/zImage

如果模拟器能起来,那说明成功了。

打开另外一个终端,这样就能解决上面的终端被占用的情况下,也能使用终端

$ adb shell
#cd /proc
# cat version
 Linux version 2.6.29-00262-gb0d93fb-dirty (dream@dream-VGN-FW351J) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-41) ) #1 Fri Dec 24 12:31:28 CST 2010
 # cat cupinfo
 cupinfo: No such file or directory
 # cat cpuinfo
 Processor    : ARM926EJ-S rev 5 (v5l)
 BogoMIPS    : 272.79
 Features    : swp half thumb fastmult vfp edsp java 
 CPU implementer    : 0x41
 CPU architecture: 5TEJ
 CPU variant    : 0x0
 CPU part    : 0x926
 CPU revision    : 5  
Hardware    : Goldfish
 Revision    : 0000
 Serial        : 0000000000000000

 

注: dream@dream-VGN-FW351J,其中的 dream为当前登录Ubuntu的用户名,而dream-VGN-FW351J是机器名

    Sourcery G++ Lite 2008q3-41 这个就是arm tools chain的版本了

 

这是我的部分编译结果:

 

CC      drivers/char/tty_ioctl.o
  CC      drivers/char/tty_ldisc.o
  CC      drivers/char/tty_buffer.o
  CC      drivers/char/tty_port.o
  CC      drivers/char/pty.o
  CC      drivers/char/misc.o
  CC      drivers/char/vt_ioctl.o
  CC      fs/yaffs2/yaffs_checkptrw.o
  CC      fs/yaffs2/yaffs_packedtags1.o
  CC      fs/yaffs2/yaffs_packedtags2.o
  CC      drivers/char/vc_screen.o
  CC      fs/yaffs2/yaffs_nand.o
  CC      fs/yaffs2/yaffs_qsort.o
  CC      drivers/char/selection.o
  CC      fs/yaffs2/yaffs_tagscompat.o
  CC      drivers/char/keyboard.o
  CC      fs/yaffs2/yaffs_tagsvalidity.o
  CC      fs/yaffs2/yaffs_mtdif.o
  CC      drivers/char/consolemap.o
  CC      fs/yaffs2/yaffs_mtdif1.o
  CC      fs/yaffs2/yaffs_mtdif2.o
  CONMK   drivers/char/consolemap_deftbl.c
  CC      drivers/char/vt.o
  LD      fs/yaffs2/yaffs.o
  LD      fs/yaffs2/built-in.o
  CC      fs/eventpoll.o
  CC      fs/anon_inodes.o
  CC      fs/signalfd.o
  CC      fs/timerfd.o
  CC      fs/eventfd.o
  CC      fs/aio.o
  SHIPPED drivers/char/defkeymap.c
  CC      drivers/char/sysrq.o
  CC      drivers/char/hw_random/core.o
  CC      fs/locks.o
  LD      drivers/char/hw_random/rng-core.o
  LD      drivers/char/hw_random/built-in.o
  CC      drivers/char/goldfish_tty.o
  CC      drivers/char/consolemap_deftbl.o
  CC      drivers/char/defkeymap.o
  LD      drivers/char/built-in.o
  LD      drivers/clocksource/built-in.o
  CC      drivers/connector/cn_queue.o
  CC      fs/nfsctl.o
  CC      drivers/connector/connector.o
  CC      fs/binfmt_misc.o
  CC      drivers/connector/cn_proc.o
  CC      fs/binfmt_script.o
  CC      fs/binfmt_elf.o
  LD      drivers/connector/cn.o
  LD      drivers/connector/built-in.o
  LD      drivers/crypto/built-in.o
  LD      drivers/firmware/built-in.o
  LD      drivers/gpio/built-in.o
  LD      drivers/gpu/drm/built-in.o
  LD      drivers/gpu/built-in.o
  CC      drivers/hid/hid-core.o
  LD      fs/built-in.o
  LD      drivers/i2c/algos/built-in.o
  LD      drivers/i2c/busses/built-in.o
  CC      drivers/hid/hid-input.o
  LD      drivers/i2c/chips/built-in.o
  LD      drivers/i2c/built-in.o
  LD      sound/built-in.o
  LD      drivers/idle/built-in.o
  CC [M]  drivers/hid/hid-dummy.o
  LD      drivers/ieee1394/built-in.o
  LD      firmware/built-in.o
  CC      net/socket.o
  LD      drivers/hid/hid.o
  LD      drivers/hid/built-in.o
  CC      drivers/input/input.o
  CC      net/802/p8022.o
  CC      net/802/psnap.o
  CC      net/802/stp.o
  CC      drivers/input/input-compat.o
  CC      drivers/input/ff-core.o
  LD      net/802/built-in.o
  CC      net/8021q/vlan_core.o
  CC      drivers/input/mousedev.o
  CC      net/8021q/vlan.o
  CC      drivers/input/evdev.o
  CC      net/8021q/vlan_dev.o
  CC      drivers/input/keyboard/atkbd.o
  CC      net/8021q/vlan_netlink.o
  CC      net/8021q/vlanproc.o
  LD      net/8021q/8021q.o
  LD      net/8021q/built-in.o
  CC      net/bridge/br.o
  CC      net/bridge/br_device.o
  CC      drivers/input/keyboard/goldfish_events.o
  CC      net/bridge/br_fdb.o
  LD      drivers/input/keyboard/built-in.o
  LD      drivers/input/misc/built-in.o
  LD      drivers/input/input-core.o
  LD      drivers/input/built-in.o
  CC      drivers/input/serio/serio.o
  CC      net/bridge/br_forward.o
  CC      drivers/input/serio/libps2.o
  CC      net/bridge/br_if.o
  LD      drivers/input/serio/built-in.o
  LD      drivers/lguest/built-in.o
  LD      drivers/macintosh/built-in.o
  CC      drivers/md/dm.o
  CC      net/bridge/br_input.o
  CC      net/bridge/br_ioctl.o
  CC      net/bridge/br_notify.o
  CC      drivers/md/dm-table.o
  CC      net/bridge/br_stp.o
  CC      drivers/md/dm-target.o
  CC      net/bridge/br_stp_bpdu.o
  CC      drivers/md/dm-linear.o
  CC      net/bridge/br_stp_if.o
  CC      drivers/md/dm-stripe.o
  CC      net/bridge/br_stp_timer.o
  CC      drivers/md/dm-ioctl.o
  CC      net/bridge/br_netlink.o
  CC      net/bridge/br_sysfs_if.o
  CC      drivers/md/dm-io.o
  CC      net/bridge/br_sysfs_br.o
  CC      drivers/md/dm-kcopyd.o
  LD      net/bridge/bridge.o
  LD      net/bridge/built-in.o
  CC      net/core/sock.o
  CC      drivers/md/dm-sysfs.o
  CC      drivers/md/dm-uevent.o
  CC      drivers/md/dm-crypt.o
  CC      net/core/request_sock.o
  CC      net/core/skbuff.o
  LD      drivers/md/dm-mod.o
  LD      drivers/md/built-in.o
  LD      drivers/media/common/tuners/built-in.o
  LD      drivers/media/common/built-in.o
  LD      drivers/media/video/built-in.o
  LD      drivers/media/built-in.o
  LD      drivers/mfd/built-in.o
  CC      drivers/misc/pmem.o
  LD      drivers/misc/eeprom/built-in.o
  CC      drivers/misc/qemutrace/qemu_trace.o
drivers/misc/qemutrace/qemu_trace.c: In function 'qemu_trace_pid_exec':
drivers/misc/qemutrace/qemu_trace.c:306:1: warning: the frame size of 4096 bytes is larger than 1024 bytes
drivers/misc/qemutrace/qemu_trace.c: In function 'qemu_trace_execve':
drivers/misc/qemutrace/qemu_trace.c:164:1: warning: the frame size of 4096 bytes is larger than 1024 bytes
drivers/misc/qemutrace/qemu_trace.c: In function 'qemu_trace_mmap':
drivers/misc/qemutrace/qemu_trace.c:190:1: warning: the frame size of 4096 bytes is larger than 1024 bytes
  CC      drivers/misc/qemutrace/qemu_trace_sysfs.o
  LD      drivers/misc/qemutrace/built-in.o
  LD      drivers/misc/built-in.o
  CC      drivers/mmc/card/block.o
  CC      net/core/iovec.o
  CC      net/core/datagram.o
  CC      drivers/mmc/card/queue.o
  CC      net/core/stream.o
  LD      drivers/mmc/card/mmc_block.o
  LD      drivers/mmc/card/built-in.o
  CC      drivers/mmc/core/core.o
  CC      net/core/scm.o
  CC      net/core/gen_stats.o
  CC      drivers/mmc/core/bus.o
  CC      net/core/gen_estimator.o
  CC      drivers/mmc/core/host.o
  CC      net/core/net_namespace.o
  CC      drivers/mmc/core/mmc.o
  CC      net/core/sysctl_net_core.o
  CC      drivers/mmc/core/mmc_ops.o
  CC      net/core/skb_dma_map.o
  CC      drivers/mmc/core/sd.o
  CC      net/core/dev.o
  CC      drivers/mmc/core/sd_ops.o
  CC      drivers/mmc/core/sdio.o
  CC      drivers/mmc/core/sdio_ops.o
  CC      drivers/mmc/core/sdio_bus.o
  CC      drivers/mmc/core/sdio_cis.o
  CC      drivers/mmc/core/sdio_io.o
  CC      net/core/ethtool.o
  CC      drivers/mmc/core/sdio_irq.o
  LD      drivers/mmc/core/mmc_core.o
  LD      drivers/mmc/core/built-in.o
  CC      drivers/mmc/host/goldfish.o
  CC      net/core/dev_mcast.o
  CC      net/core/dst.o
  LD      drivers/mmc/host/built-in.o
  LD      drivers/mmc/built-in.o
  CC      drivers/mtd/mtdcore.o
  CC      net/core/netevent.o
  CC      drivers/mtd/mtdsuper.o
  CC      net/core/neighbour.o
  CC      drivers/mtd/mtdchar.o
  CC      drivers/mtd/mtd_blkdevs.o
  CC      drivers/mtd/mtdblock.o
  CC      drivers/mtd/chips/chipreg.o
  LD      drivers/mtd/chips/built-in.o
  CC      drivers/mtd/devices/goldfish_nand.o
  CC      net/core/rtnetlink.o
  LD      drivers/mtd/devices/built-in.o
  LD      drivers/mtd/lpddr/built-in.o
  LD      drivers/mtd/maps/built-in.o
  LD      drivers/mtd/nand/built-in.o
  LD      drivers/mtd/onenand/built-in.o
  LD      drivers/mtd/tests/built-in.o
  LD      drivers/mtd/mtd.o
  LD      drivers/mtd/built-in.o
  CC      drivers/net/mii.o
  CC      net/core/utils.o
  CC      drivers/net/Space.o
  CC      net/core/link_watch.o
  CC      drivers/net/loopback.o
  CC      net/core/filter.o
  CC      drivers/net/smc91x.o
  CC      net/core/flow.o
  CC      net/core/net-sysfs.o
  LD      net/core/built-in.o
  CC      net/ethernet/eth.o
  LD      drivers/net/arm/built-in.o
  LD      drivers/net/wireless/built-in.o
  LD      drivers/net/built-in.o
  LD      drivers/platform/built-in.o
  CC      drivers/power/power_supply_core.o
  LD      net/ethernet/built-in.o
  CC      net/ipv4/route.o
  CC      drivers/power/power_supply_sysfs.o
  CC      drivers/power/goldfish_battery.o
  LD      drivers/power/power_supply.o
  LD      drivers/power/built-in.o
  CC      drivers/rtc/rtc-lib.o
  CC      drivers/rtc/hctosys.o
  CC      drivers/rtc/class.o
  CC      drivers/rtc/interface.o
  CC      drivers/rtc/alarm.o
  CC      net/ipv4/inetpeer.o
  CC      drivers/rtc/rtc-dev.o
  CC      net/ipv4/protocol.o
  CC      drivers/rtc/rtc-proc.o
  CC      net/ipv4/ip_input.o
  CC      drivers/rtc/rtc-sysfs.o
  CC      drivers/rtc/rtc-goldfish.o
  CC      net/ipv4/ip_fragment.o
  LD      drivers/rtc/rtc-core.o
  LD      drivers/rtc/built-in.o
  LD      drivers/serial/built-in.o
  CC      drivers/staging/staging.o
  CC      drivers/staging/android/binder.o
  CC      net/ipv4/ip_forward.o
  CC      net/ipv4/ip_options.o
  CC      net/ipv4/ip_output.o
  CC      net/ipv4/ip_sockglue.o
  CC      drivers/staging/android/logger.o
  CC      drivers/staging/android/timed_output.o
  CC      drivers/staging/android/lowmemorykiller.o
  CC      net/ipv4/inet_hashtables.o
  LD      drivers/staging/android/built-in.o
  LD      drivers/staging/built-in.o
  CC      drivers/video/fb_notify.o
  CC      drivers/video/fbmem.o
  CC      net/ipv4/inet_timewait_sock.o
  CC      net/ipv4/inet_connection_sock.o
  CC      drivers/video/fbmon.o
  CC      net/ipv4/tcp.o
  CC      drivers/video/fbcmap.o
  CC      drivers/video/fbsysfs.o
  CC      drivers/video/modedb.o
  CC      net/ipv4/tcp_input.o
  CC      drivers/video/fbcvt.o
  LD      drivers/video/backlight/built-in.o
  CC      drivers/video/console/dummycon.o
  CC      drivers/video/console/fbcon.o
  CC      drivers/video/console/bitblit.o
  CC      net/ipv4/tcp_output.o
  CC      drivers/video/console/fonts.o
  CC      drivers/video/console/font_8x8.o
  CC      drivers/video/console/font_8x16.o
  CC      drivers/video/console/softcursor.o
  CC      drivers/video/console/tileblit.o
  CC      net/ipv4/tcp_timer.o
  LD      drivers/video/console/font.o
  LD      drivers/video/console/built-in.o
  LD      drivers/video/display/built-in.o
  CC      drivers/video/cfbfillrect.o
  CC      drivers/video/cfbcopyarea.o
  CC      net/ipv4/tcp_ipv4.o
  CC      drivers/video/cfbimgblt.o
  CC      drivers/video/goldfishfb.o
  LD      drivers/video/fb.o
  LD      drivers/video/built-in.o
  LD      drivers/built-in.o
  LD      arch/arm/lib/built-in.o
  AS      arch/arm/lib/ashldi3.o
  AS      arch/arm/lib/ashrdi3.o
  AS      arch/arm/lib/backtrace.o
  AS      arch/arm/lib/changebit.o
  AS      arch/arm/lib/clear_user.o
  AS      arch/arm/lib/clearbit.o
  CC      net/ipv4/tcp_minisocks.o
  AS      arch/arm/lib/copy_from_user.o
  AS      arch/arm/lib/copy_page.o
  AS      arch/arm/lib/copy_to_user.o
  AS      arch/arm/lib/csumipv6.o
  AS      arch/arm/lib/csumpartial.o
  AS      arch/arm/lib/csumpartialcopy.o
  AS      arch/arm/lib/csumpartialcopyuser.o
  AS      arch/arm/lib/delay.o
  AS      arch/arm/lib/div64.o
  AS      arch/arm/lib/findbit.o
  AS      arch/arm/lib/getuser.o
  AS      arch/arm/lib/io-readsb.o
  AS      arch/arm/lib/io-readsl.o
  AS      arch/arm/lib/io-readsw-armv4.o
  AS      arch/arm/lib/io-writesb.o
  AS      arch/arm/lib/io-writesl.o
  AS      arch/arm/lib/io-writesw-armv4.o
  AS      arch/arm/lib/lib1funcs.o
  AS      arch/arm/lib/lshrdi3.o
  AS      arch/arm/lib/memchr.o
  AS      arch/arm/lib/memcpy.o
  AS      arch/arm/lib/memmove.o
  AS      arch/arm/lib/memset.o
  AS      arch/arm/lib/memzero.o
  AS      arch/arm/lib/muldi3.o
  CC      net/ipv4/tcp_cong.o
  AS      arch/arm/lib/putuser.o
  AS      arch/arm/lib/setbit.o
  AS      arch/arm/lib/sha1.o
  AS      arch/arm/lib/strchr.o
  AS      arch/arm/lib/strncpy_from_user.o
  AS      arch/arm/lib/strnlen_user.o
  AS      arch/arm/lib/strrchr.o
  AS      arch/arm/lib/testchangebit.o
  AS      arch/arm/lib/testclearbit.o
  AS      arch/arm/lib/testsetbit.o
  AS      arch/arm/lib/ucmpdi2.o
  AR      arch/arm/lib/lib.a
  CC      net/ipv4/datagram.o
  CC      lib/bcd.o
  CC      lib/div64.o
  CC      net/ipv4/raw.o
  CC      lib/sort.o
  CC      lib/parser.o
  CC      lib/halfmd4.o
  CC      lib/debug_locks.o
  CC      lib/random32.o
  CC      net/ipv4/udp.o
  CC      lib/bust_spinlocks.o
  CC      lib/hexdump.o
  CC      lib/kasprintf.o
  CC      lib/bitmap.o
  CC      lib/scatterlist.o
  CC      lib/string_helpers.o
  CC      net/ipv4/udplite.o
  CC      lib/iomap_copy.o
  CC      lib/devres.o
  CC      net/ipv4/arp.o
  CC      lib/hweight.o
  CC      lib/plist.o
  CC      lib/bitrev.o
  HOSTCC  lib/gen_crc32table
  CC      lib/zlib_deflate/deflate.o
  CC      net/ipv4/icmp.o
  CC      lib/zlib_deflate/deftree.o
  CC      net/ipv4/devinet.o
  CC      lib/zlib_deflate/deflate_syms.o
  LD      lib/zlib_deflate/zlib_deflate.o
  LD      lib/zlib_deflate/built-in.o
  CC      lib/zlib_inflate/inffast.o
  CC      lib/zlib_inflate/inflate.o
  CC      net/ipv4/af_inet.o
  CC      lib/zlib_inflate/infutil.o
  CC      lib/zlib_inflate/inftrees.o
  CC      lib/zlib_inflate/inflate_syms.o
  LD      lib/zlib_inflate/zlib_inflate.o
  LD      lib/zlib_inflate/built-in.o
  CC      lib/argv_split.o
  CC      lib/cmdline.o
  CC      lib/ctype.o
  CC      net/ipv4/igmp.o
  CC      lib/dec_and_lock.o
  CC      lib/dump_stack.o
  CC      lib/extable.o
  CC      lib/find_last_bit.o
  CC      lib/idr.o
  CC      lib/int_sqrt.o
  CC      lib/ioremap.o
  CC      lib/irq_regs.o
  CC      net/ipv4/fib_frontend.o
  CC      lib/is_single_threaded.o
  CC      lib/klist.o
  CC      lib/kobject.o
  CC      net/ipv4/fib_semantics.o
  CC      lib/kobject_uevent.o
  CC      lib/kref.o
  CC      lib/prio_heap.o
  CC      net/ipv4/inet_fragment.o
  CC      lib/prio_tree.o
  CC      net/ipv4/sysctl_net_ipv4.o
  CC      lib/proportions.o
  CC      lib/radix-tree.o
  CC      net/ipv4/sysfs_net_ipv4.o
  CC      lib/ratelimit.o
  CC      net/ipv4/fib_hash.o
  CC      lib/rbtree.o
  CC      lib/reciprocal_div.o
  CC      lib/rwsem-spinlock.o
  CC      lib/sha1.o
  CC      lib/show_mem.o
  CC      net/ipv4/proc.o
  CC      lib/string.o
  CC      lib/vsprintf.o
  CC      net/ipv4/ipmr.o
  GEN     lib/crc32table.h
  AR      lib/lib.a
  CC      lib/crc32.o
  LD      lib/built-in.o
  CC      net/llc/llc_core.o
  CC      net/llc/llc_input.o
  CC      net/ipv4/ipip.o
  CC      net/llc/llc_output.o
  LD      net/llc/llc.o
  LD      net/llc/built-in.o
  CC      net/ipv4/ip_gre.o
  CC      net/ipv4/syncookies.o
  CC      net/ipv4/ah4.o
  CC      net/ipv4/esp4.o
  CC      net/ipv4/ipcomp.o
  CC      net/netlink/af_netlink.o
  CC      net/ipv4/xfrm4_tunnel.o
  CC      net/ipv4/xfrm4_mode_beet.o
  CC      net/ipv4/tunnel4.o
  CC      net/netlink/attr.o
  CC      net/ipv4/xfrm4_mode_transport.o
  CC      net/netlink/genetlink.o
  CC      net/ipv4/xfrm4_mode_tunnel.o
  CC      net/ipv4/ipconfig.o
  LD      net/netlink/built-in.o
  CC      net/packet/af_packet.o
  CC      net/ipv4/inet_diag.o
  LD      net/packet/built-in.o
  CC      net/sched/sch_generic.o
  LD      net/sched/built-in.o
  CC      net/sunrpc/clnt.o
  CC      net/ipv4/tcp_diag.o
  CC      net/ipv4/tcp_cubic.o
  CC      net/ipv4/xfrm4_policy.o
  CC      net/sunrpc/xprt.o
  CC      net/ipv4/xfrm4_state.o
  CC      net/sunrpc/socklib.o
  CC      net/ipv4/xfrm4_input.o
  CC      net/sunrpc/xprtsock.o
  CC      net/ipv4/xfrm4_output.o
  LD      net/ipv4/built-in.o
  CC      net/unix/af_unix.o
  CC      net/sunrpc/sched.o
  CC      net/unix/garbage.o
  CC      net/sunrpc/auth.o
  CC      net/unix/sysctl_net_unix.o
  LD      net/unix/unix.o
  LD      net/unix/built-in.o
  LD      net/wireless/built-in.o
  CC      net/xfrm/xfrm_policy.o
  CC      net/sunrpc/auth_null.o
  CC      net/sunrpc/auth_unix.o
  CC      net/sunrpc/auth_generic.o
  CC      net/sunrpc/svc.o
  CC      net/sunrpc/svcsock.o
  CC      net/xfrm/xfrm_state.o
  CC      net/sunrpc/svcauth.o
  CC      net/sunrpc/svcauth_unix.o
  CC      net/xfrm/xfrm_hash.o
  CC      net/xfrm/xfrm_input.o
  CC      net/sunrpc/rpcb_clnt.o
  CC      net/xfrm/xfrm_output.o
  CC      net/sunrpc/timer.o
  CC      net/sunrpc/xdr.o
  CC      net/xfrm/xfrm_algo.o
  CC      net/xfrm/xfrm_sysctl.o
  CC      net/sunrpc/sunrpc_syms.o
  CC      net/xfrm/xfrm_ipcomp.o
  CC      net/sunrpc/cache.o
  LD      net/xfrm/built-in.o
  CC      net/sysctl_net.o
  CC      net/sunrpc/rpc_pipe.o
  CC      net/sunrpc/svc_xprt.o
  CC      net/sunrpc/stats.o
  CC      net/sunrpc/sysctl.o
  LD      net/sunrpc/sunrpc.o
  LD      net/sunrpc/built-in.o
  LD      net/built-in.o
  LD      vmlinux.o
  MODPOST vmlinux.o
  GEN     .version
  CHK     include/linux/compile.h
  SKIPPED include/linux/compile.h
  LD      .tmp_vmlinux1
  KSYM    .tmp_kallsyms1.S
  AS      .tmp_kallsyms1.o
  LD      .tmp_vmlinux2
  KSYM    .tmp_kallsyms2.S
  AS      .tmp_kallsyms2.o
  LD      vmlinux
  SYSMAP  System.map
  SYSMAP  .tmp_System.map
  OBJCOPY arch/arm/boot/Image
  Kernel: arch/arm/boot/Image is ready
  AS      arch/arm/boot/compressed/head.o
  GZIP    arch/arm/boot/compressed/piggy.gz
  CC      arch/arm/boot/compressed/misc.o
  AS      arch/arm/boot/compressed/piggy.o
  LD      arch/arm/boot/compressed/vmlinux
  OBJCOPY arch/arm/boot/zImage
  Kernel: arch/arm/boot/zImage is ready
xiaowen@xiaowen-laptop:~/common$

 

再到platform-tools下运行$ adb shell

#cd /proc
 # cat version
 Linux version 2.6.29-gb0d93fb-dirty (root@xiaowen-laptop) (gcc version 4.5.1 (Sourcery G++ Lite 2010.09-50) ) #0 Sun Apr 24 06:44:02 CST 2011
 # cat cpuinfo
 Processor       : ARM926EJ-S rev 5 (v5l)
 BogoMIPS        : 243.30
 Features        : swp half thumb fastmult vfp edsp java
 CPU implementer : 0x41
 CPU architecture: 5TEJ
 CPU variant     : 0x0
 CPU part        : 0x926
 CPU revision    : 5

 Hardware        : Goldfish
 Revision        : 0000
 Serial          : 0000000000000000




注:root@xiaowen-laptop,其中的root为当前登陆的用户名,xiaowen-laptop是机器名,gcc version 4.5.1 (Sourcery G++ Lite 2010.09-50)是编译工具链的版本号,0 Sun Apr 24 06:44:02 CST 2011为生成内核的时间.Linux version 2.6.29-gb0d93fb-dirty为前面在ar
ch/arm/android-gldfish-2.6.29这个git相对应。