一、 modify AndroidBoard.mk
gedit device/wolf/smdk6410/AndroidBoard.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := gpio-keys.kcm
LOCAL_MODULE_TAGS := eng
include $(BUILD_KEY_CHAR_MAP)
#copy base files
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/asound.conf:system/etc/asound.conf \
$(LOCAL_PATH)/vold.fstab:system/etc/vold.fstab \
$(LOCAL_PATH)/init.rc:root/init.rc
二、build android source
1. source ./build/envsetup.sh
including device/htc/passion/vendorsetup.sh
including device/samsung/crespo/vendorsetup.sh
including device/wolf/smdk6410/vendorsetup.sh
2. lunch
You're building on Linux
Lunch menu... pick a combo:
1. generic-eng
2. simulator
3. full_passion-userdebug
4. full_crespo-userdebug
5. smdk6410-eng
Which would you like? [generic-eng] 5
3 make -j4
三、 make rootfs
#!/bin/sh
PRODUCT=smdk6410
FS_DIR=/home/nfsdir
echo -n "Generating rootfs for Android .."
rm -rf ${FS_DIR}
cp -a out/target/product/${PRODUCT}/root/ ${FS_DIR}
cp -a out/target/product/${PRODUCT}/system/* ${FS_DIR}/system
cp -a out/target/product/${PRODUCT}/data/* ${FS_DIR}/data
chown root:root ${FS_DIR} -R
echo "...done"
echo -n "Install prebuilt packages..."
if [ -f device/wolf/common/busybox-bin.tar.gz ]; then
tar -xf device/wolf/common/busybox-bin.tar.gz -C ${FS_DIR}/system
fi
echo "...done"
四、setenv
setenv bootargs console=ttySAC0,115200 root=/dev/nfs init=/init nfsroot=10.50.25.10:/home/nfsdir
ip=10.50.25.20:10.50.25.10:10.50.25.1:255.255.255.0:::eth0:off