Detailed list of changes for JFv13ADP1. All patch files can be found in the build environment zips. This is a comprehensive list of changes vs. the official ADP1 build kernel: Both the recovery and boot images use a 2.6.25 kernel that I compiled with the following features/changes - patch to enable compcache support (/SourceDiffs/Kernel/patch_compcache_with_notify_support_2.6.26.diff) - patch to enable unionfs support (/SourceDiffs/Kernel/unionfs-2.5_for_2.6.25.17.diff) - patch to enable the mtd6 and mtd6ro devices, which allow access to the entire flash chip (/SourceDiffs/Kernel/mtd6.patch) - reverted the RFKILL commit, to get bluetooth to work on existing G1 builds (http://android.git.kernel.org/?p=kernel/msm.git;a=commit;h=124e9edf063190b511c53d697711c7a5cf42dbbb) - patch to fix the uptime bug (uptime in settings on phone not showing the correct value) (/SourceDiffs/Kernel/uptime_fix.diff) - other misc config changes - enable crypo system, advanced tcp congestion control, etc. init binary: Both the recovery and boot images use an init binary modified and compiled by Jay Freeman (saurik). It is in the boot image he provided here: http://www.telesphoreo.org/pipermail/g1-hackers/2008-December/000096.html - supports the import command (/SourceDiffs/Android/init/Repo5001.diff - http://review.source.android.com/5001) - supports mounting on loop devices (/SourceDiffs/Android/init/Repo4251.diff - http://review.source.android.com/4251) - supports the usleep command (/SourceDiffs/Android/init/Repo3801.diff - http://review.source.android.com/3802) - supports the trigger command (/SourceDiffs/Android/init/Repo2903.diff - http://review.source.android.com/2903) - supports the mknod command (not submitted yet) - supports the chdir and chroot command (/SourceDiffs/Android/init/Repo3602.diff - http://review.source.android.com/3602) busybox binary: The recovery mode and system use a different busybox build. The build for recovery is configured so that sh will call it's own applets preferentially (before searching for that command on the path), while the one for normal mode won't execute busybox applets unless a link for it is in the path. - v1.13.1, with patches (/SourceDiffs/busybox-1.13.1.patch) - statically linked against uclibc (which produces a much smaller binary than linking against glibc) - for the recovery mode build, sh is configured to preferentially execute busybox applets, without requiring links - busybox --install -s installs links into /data/local/bin - mount looks for loop devices at /dev/block/loop (/SourceDiffs/busybox-1.13.1.patch) - insmod and family look for modules in /system/modules (/SourceDiffs/busybox-1.13.1.patch) other changes to the boot image: - enabled adb - set adb to run as root - changes in init.rc: - added some extra paths to the PATH environment variable - imports and runs /data/init.rc and /system/init.rc if present - tries to flash /data/recovery.img instead of /system/recovery.img, and deletes /data/recovery.img after successfully flashing it other changes to the recovery image: - recompiled the recovery binary, with the following changes - uses test keys, to allow applying updates that are signed with test-keys. Note: this also disallows applying official updates, since they are signed with their own proprietary key. - it prints out the "modified build" version, currently "JFv1.3" (/SourceDiffs/Android/recovery/recovery.diff) - it does not print out the "E: Can't open /cache/recovery/command" error message (/SourceDiffs/Android/recovery/Repo2901.diff - http://review.source.android.com/2902) - it automatically displays the text after loading, instead of requiring the user to press alt+L (/SourceDiffs/Android/recovery/recovery.diff) - it adds an alt+B option, which run's inferix's and brainaid's nandroid-mobile.sh to create a backup of the phone onto the sdcard (/SourceDiffs/Android/recovery/recovery.diff) - added nandroid-mobile.sh, dump_image-arm-uclibc and mkyaffs2image-arm-uclibc to /sbin. These are from infernix and brainaid's nandroid v2.1 - enabled adb - set adb to run as root - added a busybox binary to /sbin - changed init.rc to create a symlink to /sbin/busybox named /sbin/sh, which allows "adb shell" to work - added /etc/fstab for the common android mount points - added some extra paths to the PATH environment variable in init.rc - added a ro.modversion property, set to JFv1.3, which can be used to identify which "modified build" this is. - added a custom /res/images/icon_error.bmp image - uses a custom adbd binary that uses /sbin/sh for adb shell instead of /system/bin/sh (/SourceDiffs/Android/adbd/adbd.diff) other changes to the /system folder: - compiled a new version of flash_image that supports a "-d" option to delete the image that was just flashed, upon a successful flash (SourceDiffs/Android/flash_image/flash_image.c.diff) - added /system/init.rc, which mounts the /system/modules/modules.cramfs and /system/xbin/xbin.cramfs images into /system/modules and /system/xbin respectively - added a /system/modules/modules.cramfs cramfs image, which contains the following modules that were compiled along with the kernel - tlsf.ko - arc4.ko - cryptomgr.ko - crypto_blkcipher.ko - sha1_generic.ko - ecb.ko - crypto_algapi.ko - lzo_compress.ko - lzo_decompress.ko - tcp_bic.ko - tcp_westwood.ko - tcp_htcp.ko - sunrpc.ko - dm-mod.ko - ppp_mppe.ko - tun.ko - compcache.ko - exportfs.ko - lockd.ko - nfsd.ko - nfs.ko - fuse.ko - ext2.ko - nfs_acl.ko - unionfs.ko - cifs.ko - added the /system/xbin/xbin.cramfs cramfs image, which contains a number of binaries that are in the android source, but not included in the official build - auth-agent - afar - attest - bb - cpueater - crasher - dbus-send - dbus-monitor - dbus-daemon - dexopt-wrapper - dexdump - dund - hstest - hcitool - hciconfig - iptables - latencytop - l2ping - l2test - librank - memtest - netserver - netperf - openssl - oprofiled - opcontrol - passkey-agent - procmem - pand - procrank - pppd - rctest - rfcomm - scp - showslab - scotest - strace - ssh - showmap - sqlite3 - sound - timeinfo - tcpdump - wlan_cu - added a busybox binary to the xbin cramfs image, with all of its links installed at /system/xbin/bb - also added a mem_profiler binary to the xbin cramfs image, taken from the ADP1. - added a ro.modversion property in build.prop, set to JFv1.3, which can be used to identify which "modified build" this is. - added a new /system/etc/security/cacerts.bks file, which contains additional certs for cacert.org - deleted /system/recovery.img - added /system/etc/fstab for the common android mount points - added /system/etc/resolv.conf with the 4.2.2 family of DNS servers, to allow busybox's ping, wget, etc. to resolve host names - added Koush's su binary to /system/bin, along with the SuperUser.apk in /system/app - added com.android.term.apk to /system/app - removed the several toolbox links, so that busybox's is used instead - ls - mount - dd - copied com.amazon.mp3.apk from RC30 - added VoiceDialer.apk, which was built from the source in git - removed the existing /system/xbin folder