Skip to content

Commit

Permalink
add third part device for making recoveryimage
Browse files Browse the repository at this point in the history
  • Loading branch information
yanhao committed Sep 6, 2012
1 parent 3c45239 commit 7b0fb92
Show file tree
Hide file tree
Showing 37 changed files with 874 additions and 0 deletions.
19 changes: 19 additions & 0 deletions Makefile
@@ -1,3 +1,22 @@
############same as android###############
MIUI_PRODUCTS := crespo maguro honor ones vivo saga
MIUI_PRODUCTS := $(strip $(MIUI_PRODUCTS))

.PHONY: default
default:
make recovery
@echo make default

.PHONY: usage
usage:
@echo "env_setup.sh must be executed at the beginning"
@echo "$(MIUI_PRODUCTS) has support to make recoveryimage"
@echo " such as make crespo, make maguro or etc"
@echo "make [target] -j[n] for making targe"
@echo "make [target] -B for reset to make target"
@echo "make clean for clean every everything that build out"
@echo "make device_clean for clean the device recovery"

##include main.mk ,load make system#######
include build/core/main.mk
##########################################
3 changes: 3 additions & 0 deletions build/core/config.mk
Expand Up @@ -73,6 +73,9 @@ BUILD_COPY_HEADERS := $(BUILD_SYSTEM)/copy_headers.mk
BUILD_NATIVE_TEST := $(BUILD_SYSTEM)/native_test.mk
BUILD_HOST_NATIVE_TEST := $(BUILD_SYSTEM)/host_native_test.mk

MIUI_CLEAR := $(ANDROID_BUILD_TOP)/patch_device/common/miui_clear.mk
MIUI_RECOVERY := $(ANDROID_BUILD_TOP)/patch_device/common/miui_recovery.mk

# ###############################################################
# Parse out any modifier targets.
# ###############################################################
Expand Down
1 change: 1 addition & 0 deletions build/envsetup.sh
Expand Up @@ -1083,3 +1083,4 @@ done
unset f

addcompletions
lunch 4
8 changes: 8 additions & 0 deletions patch_device/common/miui_clear.mk
@@ -0,0 +1,8 @@
MIUI_PRODUCT :=
MIUI_KERNEL :=
MIUI_KERNEL_BASE :=
MIUI_KERNEL_CMDLINE :=
MIUI_KERNEL_PAGESIZE :=
MIUI_DEVICE_CONFIG :=
MIUI_PRODUCT_ROOT :=

49 changes: 49 additions & 0 deletions patch_device/common/miui_recovery.mk
@@ -0,0 +1,49 @@
ifneq ($(MIUI_PRODUCT), )
ifneq ($(MIUI_KERNEL), )
miui_recovery_out := $(ANDROID_BUILD_TOP)/out/third_device
miui_recovery_product := $(miui_recovery_out)/$(MIUI_PRODUCT)
miui_recovery_ramdisk := $(miui_recovery_product)/ramdisk-recovery.img
miui_recovery_target := $(miui_recovery_product)/recovery.img
miui_recovery_binary := $(TARGET_RECOVERY_ROOT_OUT)/sbin
miui_recovery_resource := $(ANDROID_BUILD_TOP)/src/res
miui_recovery_root := $(miui_recovery_product)/root
#miui_recovery_device_conf := $(MIUI_DEVICE_CONFIG)

miui_recoveryimage_args := \
--kernel $(MIUI_KERNEL) \
--ramdisk $(miui_recovery_ramdisk)

ifdef MIUI_KERNEL
miui_recoveryimage_args += --cmdline "$(MIUI_KERNEL_CMDLINE)"
endif

ifdef MIUI_KERNEL_BASE
miui_recoveryimage_args += --base $(MIUI_KERNEL_BASE)
endif

ifdef MIUI_KERNEL_PAGESIZE
miui_recoveryimage_args += --base $(MIUI_KERNEL_PAGESIZE)
endif

$(MIUI_PRODUCT): $(MKBOOTFS) $(MINIGZIP) \
$(MKBOOTIMG) recovery
mkdir -p $(miui_recovery_out)
mkdir -p $(miui_recovery_product)
mkdir -p $(miui_recovery_root)
cp -rf $(MIUI_PRODUCT_ROOT) $(miui_recovery_product)/
cp -rf $(MIUI_KERNEL) $(miui_recovery_product)/
-rm -rf $(miui_recovery_root)/sbin
cp -f $(miui_recovery_binary) $(miui_recovery_root)/
cp -rf $(miui_recovery_resource) $(miui_recovery_root)/
-cp -f $(MIUI_DEVICE_CONFIG) $(miui_recovery_root)/res/
@echo make recovery image $(miui_recovery_target)
$(MKBOOTFS) $(MIUI_PRODUCT_ROOT) | $(MINIGZIP) > $(miui_recovery_ramdisk)
$(MKBOOTIMG) $(miui_recoveryimage_args) --output $(miui_recovery_target)
$(hide) $(call assert-max-image-size, $(miui_recovery_target), $(BOARD_RECOVERYIMAGE_PARTITION_SIZE), raw)
#else for MIUI_KERNEL is NULL
else
$(MIUI_PRODUCT):
@echo do nothing in make $(MIUI_PRODUCT),because no MIUI_KERNEL
endif #end of MIUI_KERNEL judgement
endif #end of MIUI_PRODUCT judgement

12 changes: 12 additions & 0 deletions patch_device/crespo/Android.mk
@@ -0,0 +1,12 @@
LOCAL_PATH := $(call my-dir)
include $(MIUI_CLEAR)
MIUI_PRODUCT := crespo
MIUI_KERNEL := $(LOCAL_PATH)/kernel

MIUI_KERNEL_BASE := 0x30000000
MIUI_KERNEL_PAGESIZE := 4096
MIUI_KERNEL_CMDLINE := console=ttyFIQ0 no_console_suspend

MIUI_PRODUCT_ROOT := $(LOCAL_PATH)/root
MIUI_DEVICE_CONFIG := $(LOCAL_PATH)/device.conf
include $(MIUI_RECOVERY)
2 changes: 2 additions & 0 deletions patch_device/crespo/device.conf
@@ -0,0 +1,2 @@
#calibrate("0.9728", "20", "0.9597", "28", "yes");
calibrate("2.0246", "28", "1.2555", "-3");
Binary file added patch_device/crespo/kernel
Binary file not shown.
2 changes: 2 additions & 0 deletions patch_device/crespo/readme
@@ -0,0 +1,2 @@
NOTICE:
1 kernel file-system must be directory root
61 changes: 61 additions & 0 deletions patch_device/crespo/root/default.prop
@@ -0,0 +1,61 @@
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=0
ro.allow.mock.location=0
ro.debuggable=1
persist.sys.timezone=Asia/Shanghai
persist.sys.usb.config=adb
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=IMM76L
ro.build.display.id=full_crespo-userdebug 4.0.4 IMM76L eng.yanhao.20120905.110519 test-keys
ro.build.version.incremental=eng.yanhao.20120905.110519
ro.build.version.sdk=15
ro.build.version.codename=REL
ro.build.version.release=4.0.4
ro.build.date=2012年 09月 05日 星期三 11:05:28 CST
ro.build.date.utc=1346814328
ro.build.type=userdebug
ro.build.user=yanhao
ro.build.host=local
ro.build.tags=test-keys
ro.product.model=Nexus S
ro.product.brand=google
ro.product.name=full_crespo
ro.product.device=crespo
ro.product.board=herring
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=samsung
ro.product.locale.language=zh
ro.product.locale.region=CN
ro.wifi.channels=
ro.board.platform=s5pc110
# ro.build.product is obsolete; use ro.product.device
ro.build.product=crespo
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=full_crespo-userdebug 4.0.4 IMM76L eng.yanhao.20120905.110519 test-keys
ro.build.fingerprint=google/full_crespo/crespo:4.0.4/IMM76L/eng.yanhao.20120905.110519:userdebug/test-keys
ro.build.characteristics=default
# end build properties
#
# system.prop for smdkc110
#

rild.libpath=/vendor/lib/libsec-ril.so
rild.libargs=-d /dev/ttyS0
ro.sf.lcd_density=240

#
# ADDITIONAL_BUILD_PROPERTIES
#
keyguard.no_require_sim=true
ro.com.android.dataroaming=true
ro.com.android.dateformat=MM-dd-yyyy
ro.config.ringtone=MI.ogg
ro.config.notification_sound=FadeIn.ogg
ro.config.alarm_alert=GoodMorning.ogg
ro.config.sms_received_sound=FadeIn.ogg
ro.config.sms_delivered_sound=MessageComplete.ogg
dalvik.vm.lockprof.threshold=500
11 changes: 11 additions & 0 deletions patch_device/crespo/root/etc/recovery.fstab
@@ -0,0 +1,11 @@
# mount point fstype device

/sdcard vfat /dev/block/platform/s3c-sdhci.0/by-name/media
/system ext4 /dev/block/platform/s3c-sdhci.0/by-name/system
/cache yaffs2 cache
/data ext4 /dev/block/platform/s3c-sdhci.0/by-name/userdata
/misc mtd misc
/boot mtd boot
/recovery mtd recovery
/bootloader mtd bootloader
/radio mtd radio
Binary file added patch_device/crespo/root/init
Binary file not shown.
50 changes: 50 additions & 0 deletions patch_device/crespo/root/init.rc
@@ -0,0 +1,50 @@
on early-init
start ueventd

on init
export PATH /sbin
export ANDROID_ROOT /system
export ANDROID_DATA /data
export EXTERNAL_STORAGE /sdcard

symlink /system/etc /etc

mkdir /sdcard
mkdir /system
mkdir /data
mkdir /cache
mount /tmp /tmp tmpfs

on boot

ifup lo
hostname localhost
domainname localdomain

class_start default

service ueventd /sbin/ueventd
critical

service recovery /sbin/recovery

service adbd /sbin/adbd recovery
disabled

# Always start adbd on userdebug and eng builds
on property:ro.debuggable=1
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18D1
write /sys/class/android_usb/android0/idProduct D001
write /sys/class/android_usb/android0/functions adb
write /sys/class/android_usb/android0/enable 1
write /sys/class/android_usb/android0/iManufacturer $ro.product.manufacturer
write /sys/class/android_usb/android0/iProduct $ro.product.model
write /sys/class/android_usb/android0/iSerial $ro.serialno
start adbd

# Restart adbd so it can run as root
on property:service.adb.root=1
write /sys/class/android_usb/android0/enable 0
restart adbd
write /sys/class/android_usb/android0/enable 1
5 changes: 5 additions & 0 deletions patch_device/crespo/root/ueventd.goldfish.rc
@@ -0,0 +1,5 @@
# These settings are specific to running under the Android emulator
/dev/qemu_trace 0666 system system
/dev/qemu_pipe 0666 system system
/dev/ttyS* 0666 system system
/proc 0666 system system
82 changes: 82 additions & 0 deletions patch_device/crespo/root/ueventd.rc
@@ -0,0 +1,82 @@
/dev/null 0666 root root
/dev/zero 0666 root root
/dev/full 0666 root root
/dev/ptmx 0666 root root
/dev/tty 0666 root root
/dev/random 0666 root root
/dev/urandom 0666 root root
/dev/ashmem 0666 root root
/dev/binder 0666 root root

# logger should be world writable (for logging) but not readable
/dev/log/* 0662 root log

# the msm hw3d client device node is world writable/readable.
/dev/msm_hw3dc 0666 root root

# gpu driver for adreno200 is globally accessible
/dev/kgsl 0666 root root

# these should not be world writable
/dev/diag 0660 radio radio
/dev/diag_arm9 0660 radio radio
/dev/android_adb 0660 adb adb
/dev/android_adb_enable 0660 adb adb
/dev/ttyMSM0 0600 bluetooth bluetooth
/dev/uinput 0660 system bluetooth
/dev/alarm 0664 system radio
/dev/tty0 0660 root system
/dev/graphics/* 0660 root graphics
/dev/msm_hw3dm 0660 system graphics
/dev/input/* 0660 root input
/dev/eac 0660 root audio
/dev/cam 0660 root camera
/dev/pmem 0660 system graphics
/dev/pmem_adsp* 0660 system audio
/dev/pmem_camera* 0660 system camera
/dev/oncrpc/* 0660 root system
/dev/adsp/* 0660 system audio
/dev/snd/* 0660 system audio
/dev/mt9t013 0660 system system
/dev/msm_camera/* 0660 system system
/dev/akm8976_daemon 0640 compass system
/dev/akm8976_aot 0640 compass system
/dev/akm8973_daemon 0640 compass system
/dev/akm8973_aot 0640 compass system
/dev/bma150 0640 compass system
/dev/cm3602 0640 compass system
/dev/akm8976_pffd 0640 compass system
/dev/lightsensor 0640 system system
/dev/msm_pcm_out* 0660 system audio
/dev/msm_pcm_in* 0660 system audio
/dev/msm_pcm_ctl* 0660 system audio
/dev/msm_snd* 0660 system audio
/dev/msm_mp3* 0660 system audio
/dev/audience_a1026* 0660 system audio
/dev/tpa2018d1* 0660 system audio
/dev/msm_audpre 0660 system audio
/dev/msm_audio_ctl 0660 system audio
/dev/htc-acoustic 0660 system audio
/dev/vdec 0660 system audio
/dev/q6venc 0660 system audio
/dev/snd/dsp 0660 system audio
/dev/snd/dsp1 0660 system audio
/dev/snd/mixer 0660 system audio
/dev/smd0 0640 radio radio
/dev/qmi 0640 radio radio
/dev/qmi0 0640 radio radio
/dev/qmi1 0640 radio radio
/dev/qmi2 0640 radio radio
/dev/bus/usb/* 0660 root usb
/dev/mtp_usb 0660 root mtp
/dev/usb_accessory 0660 root usb
/dev/tun 0660 system vpn

# CDMA radio interface MUX
/dev/ts0710mux* 0640 radio radio
/dev/ppp 0660 radio vpn

# sysfs properties
/sys/devices/virtual/input/input* enable 0660 root input
/sys/devices/virtual/input/input* poll_delay 0660 root input
/sys/devices/virtual/usb_composite/* enable 0664 root system
12 changes: 12 additions & 0 deletions patch_device/saga/Android.mk
@@ -0,0 +1,12 @@
LOCAL_PATH := $(call my-dir)
include $(MIUI_CLEAR)
MIUI_PRODUCT := saga
MIUI_KERNEL := $(LOCAL_PATH)/kernel

MIUI_KERNEL_BASE := 0x04400000
MIUI_KERNEL_PAGESIZE := 2048
MIUI_KERNEL_CMDLINE := no_console_suspend=1

MIUI_PRODUCT_ROOT := $(LOCAL_PATH)/root
MIUI_DEVICE_CONFIG := $(LOCAL_PATH)/device.conf
include $(MIUI_RECOVERY)
2 changes: 2 additions & 0 deletions patch_device/saga/device.conf
@@ -0,0 +1,2 @@
#calibrate("0.9728", "20", "0.9597", "28", "yes");
calibrate("2.0246", "28", "1.2555", "-3");
Binary file added patch_device/saga/kernel
Binary file not shown.
2 changes: 2 additions & 0 deletions patch_device/saga/readme
@@ -0,0 +1,2 @@
NOTICE:
1 kernel file-system must be directory root

0 comments on commit 7b0fb92

Please sign in to comment.