How to create Device tree for Android Rom building
I assume you already downloaded source code
before we start please do following
1. Install unpackbootimg
Go to https://github.com/jsharma44/bootimg-tools and download as a zip or use git clone command.
extract files
cd directory
make
now you will find unpackbootimg and mkbootimg in this directory
2. copy unpackbootimg and mkbootimg to /usr/bin
sudo cp unpackbootimg /usr/bin
sudo cp mkbootimg /usr/bin
Note this is necessary if you are getting error
” “unpackbootimg not found. Is your android build environment set up and have the host tools been built?
3. Extracting boot.img from your device
What we need
1. A rooted phone
2. Enable Usb Debugging in Developer Mode
3. ADB command knowldge
connect your phone via usb cable ensure that usb debugging is enabled
open terminal and type adb devices
if it is showing your device’s serial no than we are ready to go
C. type
adb shell
su
ls -l /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name
please note this command may vary by device to device. What we are doing here we want to know partition scheme of your device.
note down block name of /boot partition
example it will be like boot -> /dev/block/mmcblk0p7
d. type this
dd if=/dev/block/mmcblk0p7 of=/sdcard/boot.img
now boot.img succesfully transfered to your SD card Copy it to your Desktop
now path should be /home/user/Desktop/boot.img or similar but remeber path name alternatively you can type pwd in terminal to know this
creating device/Vendor-Name/Device-codename
cd to your working directory
Syntex: ./build/tools/device/mkvendor.sh Vendor-Name Device-CodeName ~/Path to your/boot.img
Example:
./build/tools/device/mkvendor.sh GIONEE GIONEE_WBL7511 ~/Desktop/boot.img
Now it will create following file in /device/Vender-Name/Device_CodeName
AndroidBoard.mk
cm.mk
recovery.fstab
AndroidProducts.mk
device_GIONEE_WBL7511.mk
system.prop
BoardConfig.mk
kernel
Note1: Please creater vendorsetup.mk file in this directory manualy. To use source build/envsetup.sh
Note2: Please double check BoardConfig.mk file and ensure every partition size is correct in this file. Also check recovery.fstab showing correct mount point
Note3: Here kernel is prebuilt kernel. If you want to compile kernel as well as download your kernel source in /kernel/Vender-Name/Device_CodeName dirtectory. You will find kernel related config in BoardConfig.mk
Please note it will not create vendorsetup.sh file and following Directory
1./vendor/Vender-Name/Device_CodeName
2. /kernel/Vender-Name/Device_CodeName
Wait for next post for more info
Thank You
I assume you already downloaded source code
before we start please do following
1. Install unpackbootimg
Go to https://github.com/jsharma44/bootimg-tools and download as a zip or use git clone command.
extract files
cd directory
make
now you will find unpackbootimg and mkbootimg in this directory
2. copy unpackbootimg and mkbootimg to /usr/bin
sudo cp unpackbootimg /usr/bin
sudo cp mkbootimg /usr/bin
Note this is necessary if you are getting error
” “unpackbootimg not found. Is your android build environment set up and have the host tools been built?
3. Extracting boot.img from your device
What we need
1. A rooted phone
2. Enable Usb Debugging in Developer Mode
3. ADB command knowldge
connect your phone via usb cable ensure that usb debugging is enabled
open terminal and type adb devices
if it is showing your device’s serial no than we are ready to go
C. type
adb shell
su
ls -l /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name
please note this command may vary by device to device. What we are doing here we want to know partition scheme of your device.
note down block name of /boot partition
example it will be like boot -> /dev/block/mmcblk0p7
d. type this
dd if=/dev/block/mmcblk0p7 of=/sdcard/boot.img
now boot.img succesfully transfered to your SD card Copy it to your Desktop
now path should be /home/user/Desktop/boot.img or similar but remeber path name alternatively you can type pwd in terminal to know this
creating device/Vendor-Name/Device-codename
cd to your working directory
Syntex: ./build/tools/device/mkvendor.sh Vendor-Name Device-CodeName ~/Path to your/boot.img
Example:
./build/tools/device/mkvendor.sh GIONEE GIONEE_WBL7511 ~/Desktop/boot.img
Now it will create following file in /device/Vender-Name/Device_CodeName
AndroidBoard.mk
cm.mk
recovery.fstab
AndroidProducts.mk
device_GIONEE_WBL7511.mk
system.prop
BoardConfig.mk
kernel
Note1: Please creater vendorsetup.mk file in this directory manualy. To use source build/envsetup.sh
Note2: Please double check BoardConfig.mk file and ensure every partition size is correct in this file. Also check recovery.fstab showing correct mount point
Note3: Here kernel is prebuilt kernel. If you want to compile kernel as well as download your kernel source in /kernel/Vender-Name/Device_CodeName dirtectory. You will find kernel related config in BoardConfig.mk
Please note it will not create vendorsetup.sh file and following Directory
1./vendor/Vender-Name/Device_CodeName
2. /kernel/Vender-Name/Device_CodeName
Wait for next post for more info
Thank You