[Completed] Use mmcblk or by-name in fstab - XDA Assist

Is it ok to use mmcblk in src links when building cyanogenmod?
I forgot to change them and its bulding for a few hours now. Should I stop it?
My fstab looks like this:
Code:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/mmcblk0p24 /system ext4 ro,errors=panic wait
/dev/block/mmcblk0p27 /data ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check,encryptable=footer,length=-16384
/dev/block/mmcblk0p25 /cache ext4 noatime,nosuid,nodev,barrier=1,noauto_da_alloc wait,check
/dev/block/mmcblk0p13 /efs ext4 noatime,nosuid,nodev,noauto_da_alloc,journal_async_commit,errors=panic wait
/dev/block/mmcblk0p22 /persist ext4 nosuid,nodev,data=ordered,nodelalloc wait
/dev/block/mmcblk0p1 /firmware emmc ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/mmcblk0p2 /firmware-modem emmc ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/mmcblk0p16 /boot emmc defaults defaults
/dev/block/mmcblk0p17 /recovery emmc defaults defaults
/dev/block/mmcblk0p26 /preload ext4 defaults defaults
# VOLD
/devices/soc.0/7864900.sdhci/mmc_host/mmc* auto vfat default voldmanaged=extSdCard:auto,noemulatedsd
/devices/platform/msm_hsusb_host/usb*sda auto vfat default voldmanaged=UsbDriveA:auto
/devices/platform/msm_hsusb_host/usb*sdb auto vfat default voldmanaged=UsbDriveB:auto
/devices/platform/msm_hsusb_host/usb*sdc auto vfat default voldmanaged=UsbDriveC:auto
/devices/platform/msm_hsusb_host/usb*sdd auto vfat default voldmanaged=UsbDriveD:auto
/devices/platform/msm_hsusb_host/usb*sde auto vfat default voldmanaged=UsbDriveE:auto
/devices/platform/msm_hsusb_host/usb*sdf auto vfat default voldmanaged=UsbDriveF:auto

Hi,
Try reading and posting your question here:
http://forum.xda-developers.com/showthread.php?t=667298
The experts there may be able to help.
Good luck!

Related

[HELP]Cyanogen automatically apps2sd problem

HTC Magic G2
1, Used other Rom before
2, Current recovery is cm-1.4
3, SPL is the original SHIPMENT SPL HBOOT-1.33.0009H
Use cm-1.4 for 32A to Wipe,and apply any zip from sd to flash the Cyanogen_4.0.1-32a, but apps2sd cannot be automatically enabled,also autoswap
As we all know what would be the problem? SPL? Recovery? SD card partition? Currently used in the second partition is EXT3.
busybox df -h
Filesystem Size Used Available Use% Mounted on
tmpfs 96.3M 12.0k 96.3M 0% /dev
tmpfs 4.0M 0 4.0M 0% /sqlite_stmt_journals
/dev/block/mtdblock3 90.0M 62.0M 28.0M 69% /system
/dev/block/mtdblock5 295.8M 27.4M 268.4M 9% /data
/dev/block/mtdblock4 80.0M 1.3M 78.7M 2% /cache
/dev/block//vold/179:1
6.9G 4.6G 2.3G 67% /sdcard
after #mount -a
# mount
mount
rootfs on / type rootfs (ro)
tmpfs on /dev type tmpfs (rw,mode=755)
devpts on /dev/pts type devpts (rw,mode=600)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /sqlite_stmt_journals type tmpfs (rw,size=4096k)
/dev/block/mtdblock3 on /system type yaffs2 (ro)
/dev/block/mtdblock5 on /data type yaffs2 (rw,nodev)
/dev/block/mtdblock4 on /cache type yaffs2 (rw,nosuid,nodev)
/dev/block//vold/179:1 on /sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,uid=
1000,gid=1000,fmask=0711,dmask=0700,allow_utime=0022,codepage=cp437,iocharset=is
o8859-1,shortname=mixed,utf8)
/dev/block/mmcblk0p2 on /system/sd type ext3 (rw,errors=continue,data=ordered)

init.rc syntax question. mounting ext2 first if not rfs...

Hey
I have a init.rc modded so I can have ext2 in my boot.img
But it is not working...
http://pastebin.com/TxixgL3C
line 89 was this:
mount rfs /dev/stl13 /data nosuid nodev check=no
but should become:
mount ext2 /dev/stl13 /data noatime nodiratime nosuid nodev check=no || mount rfs /dev/stl13 /data nosuid nodev check=no
But somehow it is not working and I believe Android takes it for rfs...
If i just replace it with:
mount ext2 /dev/stl13 /data noatime nodiratime nosuid nodev check=no
Everything works fine...
What's wrong?
Hmmm anyone please?

[Q] Nexus 5 Mount Points

Can someone post the nexus 5 mount points?
xda6969 said:
Can someone post the nexus 5 mount points?
Click to expand...
Click to collapse
Code:
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1 wait
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/metadata
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337 wait
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/misc /misc emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/modem /radio emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/sbl1 /sbl1 emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/tz /tz emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/rpm /rpm emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/sdi /sdi emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/aboot /aboot emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/imgdata /imgdata emmc defaults defaults
Thank you.

[GUIDE] How to port custom CWM-based (Carliv Touch) recovery to other MTK phones

My last guide was actually inside the beginner's guide and was good for that time, but now because of the new recovery versions (including kitkat), I need more space. So I decided to write a new guide for porting my recoveries to other phones.
The porting rutine won't work anymore for new mtk platforms with my actual porting builds. If you have such a phone you have to learn how to compile it from source or to find a recovery built for same platform to port it.
Also, for some phones, which require a specific PIXEL FORMAT, it won't work, and you again have to build it from source: the ported images are built for regular RGB 565 PIXEL FORMAT. If you have done right the port but the phone doesn't boot in recovery, just blackscreen and start, then it must be that case.
What you need:
- Geany or Notepad++ software
- CarlivImageKitchen for unpack/repack jobs.
- the dumchar_info content from your phone
- a stock boot.img for your phone
- a stock recovery.img for your phone - these two have to be with the kernel you want to use (for kitkat or for jellybean)
- a built carliv touch or cwm recovery for port. Get the right one for your phone. If it is cwm modded, check the screen width and search for that, and if it's Carliv Touch Recovery check your phone resolution in names.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
or
or
Credits:
- Clockworkmod team, and Cyanogenmod for the base recovery
- bgcngm for his mtk tools for linux
- michfood for his unpack/repack tools for windows
Let's start it.
Even if I wrote everything here as simple as I could and added some images too, some of you still can't understand how to do it, so for them, here is a detailed guide in images with every step. If you can't see it online, download the archive with all images from here.
How to get the dumchar_info file content from you phone.
First make sure that you have adb access to your phone from your computer. If you don't, then solve this problem. Most of the times is because of bad drivers or some security issues (UAC, antivirus, firewall, defender, etc.) in windows. In linux it's easier if you have the 51-android.rules file in place. Other possible issue might be with the path (for sdk tools - adb, fastboot). There are many guides here on xda about how to solve these.
Connect the phone to PC, open a command prompt or terminal window an type:
Code:
adb devices
The adb will start and you will see the phone serial number and the word "device". That means you've got connected to the phone with adb server. Again, type:
Code:
adb shell cat /proc/dumchar_info
and then you will see the content of that file from your phone. Select it and copy/paste in a text document, then save it as dumchar_info.txt, and you can deconnect the phone from PC.
The dumchar file will look like this:
Code:
Part_Name Size StartAddr Type MapTo
preloader 0x0000000000600000 0x0000000000000000 2 /dev/misc-sd
mbr 0x0000000000080000 0x0000000000000000 2 /dev/block/mmcblk0
ebr1 0x0000000000080000 0x0000000000080000 2 /dev/block/mmcblk0p1
pmt 0x0000000000400000 0x0000000000100000 2 /dev/block/mmcblk0
pro_info 0x0000000000300000 0x0000000000500000 2 /dev/block/mmcblk0
nvram 0x0000000000500000 0x0000000000800000 2 /dev/block/mmcblk0
protect_f 0x0000000000a00000 0x0000000000d00000 2 /dev/block/mmcblk0p2
protect_s 0x0000000000a00000 0x0000000001700000 2 /dev/block/mmcblk0p3
seccfg 0x0000000000020000 0x0000000002100000 2 /dev/block/mmcblk0
uboot 0x0000000000060000 0x0000000002120000 2 /dev/block/mmcblk0
bootimg 0x0000000000600000 0x0000000002180000 2 /dev/block/mmcblk0
recovery 0x0000000000600000 0x0000000002780000 2 /dev/block/mmcblk0
sec_ro 0x0000000000600000 0x0000000002d80000 2 /dev/block/mmcblk0p4
misc 0x0000000000080000 0x0000000003380000 2 /dev/block/mmcblk0
logo 0x0000000000300000 0x0000000003400000 2 /dev/block/mmcblk0
ebr2 0x0000000000080000 0x0000000003700000 2 /dev/block/mmcblk0
expdb 0x0000000000a00000 0x0000000003780000 2 /dev/block/mmcblk0
android 0x0000000038000000 0x0000000004180000 2 /dev/block/mmcblk0p5
cache 0x0000000007e00000 0x000000003c180000 2 /dev/block/mmcblk0p6
usrdata 0x0000000060000000 0x0000000043f80000 2 /dev/block/mmcblk0p7
fat 0x0000000041b80000 0x00000000a3f80000 2 /dev/block/mmcblk0p8
bmtpool 0x0000000001500000 0x00000000ff9f00a8 2 /dev/block/mmcblk0
Part_Name:Partition name you should open;
Size:size of partition
StartAddr:Start Address of partition;
Type:Type of partition(MTD=1,EMMC=2)
MapTo:actual device you operate
Next place all three images (boot, recovery - stock and carliv touch or cwm) in the folder of bgcngm's, carliv image kitchen or michfood's tools.
In linux I keep those in "mtktools" folder and in windows in "Boot_Recovery" folder. You can use what names you want, but be sure to not use spaces on that name. Also, in windows place it on primary partition, usualy C.
Unpack the resources.
In windows just drag them over unpack_MTK_img.bat or MTK_unpack.bat, one by one and that's it, you will see three new folders with every image name. You have to rename the porting recovery to a short name (ex. carliv-recovery, no spaces please) before dragging to unpack.
In linux, open a terminal in CarlivImageKitchen or mtk-tools folder where you have also the three images, and then type:
Code:
./unpack_MTK_img boot.img
or
Code:
./unpack-MTK.pl boot.img
to unpack the stock boot.img
When the boot image is unpacked, delete boot.img and boot.img-kernel.img if you are using bgcngm's tools.
After that type:
Code:
./unpack_MTK_img recovery.img
or
Code:
./unpack-MTK.pl recovery.img
to unpack the stock recovery.img
When the recovery image is unpacked, if you use bgcngm's tools, append "-stock" to recovery.img-kernel.img to name it recovery.img-kernel.img-stock and to recovery.img-ramdisk to name it recovery.img-ramdisk-stock, then delete recovery.img.
Next, rename "port_CarlivTouch-recovery-..." or the recovery you want to port, as recovery.img for bgcngm's tools or carliv-recovery for CarlivImageKitchen.
Then type again:
Code:
./unpack_MTK_img carliv-recovery.img
or
Code:
./unpack-MTK.pl recovery.img
to unpack the carliv recovery for port.
When it's finished, if you use bgcngm's tools, rename recovery.img-ramdisk as recovery.img-ramdisk-carliv or something to make the difference from stock ramdisk, and delete recovery.img and recovery.img-kernel.img from carliv recovery.
By doing this you already replaced the kernel with your stock one in bgcngm's tools.
Replace the kernel
If you use CarlivImageKitchen, both in linux or windows, just copy and replace all files except ramdisk folder from stock recovery folder to carliv recovery folder.
----------------------
In linux, when you use bgcngm's tools, that is already done as I said (only need to delete "-stock" from recovery.img-kernel.img-stock).
----------------------
In windows with michfood's tools open in two side by side windows the boot stock folder and carliv-recovery folder, then select kernel and kernel_header from boot and drag them over the carliv's kernel and kernel_header replacing both.
All the above are the same for jellybean or kitkat.
Modify required ramdisk files -Jellybean.
At this point there are some differences between jellybean and kitkat versions.
For jellybean the files are: recovery.fstab in etc folder, default.prop, fstab and init.rc.
For kitkat, they are named the same except the fstab is named fstab.mt65xx (according to your phone platform), but the content is different. So for kitkat first rename fstab.mt6582 to fstab.mt65nn, where mt65nn is your phone platform (ex. mt6592).
Jellybean:
Open editor, then open in one window dumchar_info.txt (the one you've got earlier), the fstab file, init.usb.rc from boot ramdisk and default.prop from recovery ramdisk, and in another window recovery.fstab from carliv's ramdisk/etc folder, fstab, default.prop and init.rc also from carliv's ramdisk.
Focus on dumchar_info at one side and recovery.fstab on the other side.
Code:
Part_Name Size StartAddr Type MapTo
preloader 0x0000000000600000 0x0000000000000000 2 /dev/misc-sd
mbr 0x0000000000080000 0x0000000000000000 2 /dev/block/mmcblk0
ebr1 0x0000000000080000 0x0000000000080000 2 /dev/block/mmcblk0p1
pmt 0x0000000000400000 0x0000000000100000 2 /dev/block/mmcblk0
pro_info 0x0000000000300000 0x0000000000500000 2 /dev/block/mmcblk0
nvram 0x0000000000500000 0x0000000000800000 2 /dev/block/mmcblk0
protect_f 0x0000000000a00000 0x0000000000d00000 2 /dev/block/mmcblk0p2
protect_s 0x0000000000a00000 0x0000000001700000 2 /dev/block/mmcblk0p3
seccfg 0x0000000000020000 0x0000000002100000 2 /dev/block/mmcblk0
uboot 0x0000000000060000 0x0000000002120000 2 /dev/block/mmcblk0
bootimg 0x0000000000600000 0x0000000002180000 2 /dev/block/mmcblk0
recovery 0x0000000000600000 0x0000000002780000 2 /dev/block/mmcblk0
sec_ro 0x0000000000600000 0x0000000002d80000 2 /dev/block/mmcblk0p4
misc 0x0000000000080000 0x0000000003380000 2 /dev/block/mmcblk0
logo 0x0000000000300000 0x0000000003400000 2 /dev/block/mmcblk0
ebr2 0x0000000000080000 0x0000000003700000 2 /dev/block/mmcblk0
expdb 0x0000000000a00000 0x0000000003780000 2 /dev/block/mmcblk0
android 0x0000000038000000 0x0000000004180000 2 /dev/block/mmcblk0p[COLOR="Red"]5[/COLOR]
cache 0x0000000007e00000 0x000000003c180000 2 /dev/block/mmcblk0p[COLOR="Red"]6[/COLOR]
usrdata 0x0000000060000000 0x0000000043f80000 2 /dev/block/mmcblk0p[COLOR="Red"]7[/COLOR]
fat 0x0000000041b80000 0x00000000a3f80000 2 /dev/block/mmcblk0p[COLOR="Red"]8[/COLOR]
bmtpool 0x0000000001500000 0x00000000ff9f00a8 2 /dev/block/mmcblk0
Code:
# mount point fstype device [device2]
[COLOR="Blue"]/boot emmc /dev/bootimg
/misc emmc /dev/misc
/nvram emmc /dev/nvram
/recovery emmc /dev/recovery
/uboot emmc /dev/uboot[/COLOR]
/system ext4 /dev/block/mmcblk0p[COLOR="Red"]5[/COLOR]
/cache ext4 /dev/block/mmcblk0p[COLOR="Red"]6[/COLOR]
/data ext4 /dev/block/mmcblk0p[COLOR="Red"]7[/COLOR]
/emmc vfat /dev/block/mmcblk0p[COLOR="Red"]8[/COLOR]
/sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
Check the paths for partitions and correct them as in dumchar file. Note that in dumchar /system is "android" and /data is "usrdata". Also, in CWM from cm 10.1, the internal sdcard is "/emmc" or "/sdcard". Use "sdcard" if you have only internal sdcard on your phone, or if you want to use the internal sdcard as main sdcard (and in this case, name the external sdcard as "/external_sd"). If the phone is emmc type and has block type memory (dev/block/mmcblkxpx), you don't need to modify the paths for boot, recovery, nvram, misc or other emmc partition. If the phone is with an extra partition (custpack), you have to check few more entries on recovery.fstab.
Code:
Part_Name Size StartAddr T MapTo
preloader 0x0000000000040000 0x0000000000000000 2 /dev/misc-sd
dsp_bl 0x0000000000ec0000 0x0000000000040000 2 /dev/misc-sd
mbr 0x0000000000004000 0x0000000000000000 2 /dev/block/mmcblk0
ebr1 0x0000000000004000 0x0000000000004000 2 /dev/block/mmcblk0p1
ebr2 0x0000000000004000 0x0000000000008000 2 /dev/block/mmcblk0
pmt 0x0000000000400000 0x000000000000c000 2 /dev/block/mmcblk0
nvram 0x0000000000300000 0x000000000040c000 2 /dev/block/mmcblk0
seccfg 0x0000000000020000 0x000000000070c000 2 /dev/block/mmcblk0
uboot 0x0000000000060000 0x000000000072c000 2 /dev/block/mmcblk0
bootimg 0x0000000000600000 0x000000000078c000 2 /dev/block/mmcblk0
recovery 0x0000000000600000 0x0000000000d8c000 2 /dev/block/mmcblk0
sec_ro 0x0000000000600000 0x000000000138c000 2 /dev/block/mmcblk0p2
misc 0x0000000000060000 0x000000000198c000 2 /dev/block/mmcblk0
logo 0x0000000000300000 0x00000000019ec000 2 /dev/block/mmcblk0
expdb 0x00000000000f4000 0x0000000001cec000 2 /dev/block/mmcblk0
pro_info 0x0000000000080000 0x0000000001de0000 2 /dev/block/mmcblk0
[COLOR="Red"]custpack [/COLOR] 0x0000000019d00000 0x0000000001e60000 2 /dev/block/mmcblk0p[COLOR="Red"]3[/COLOR]
mobile_info 0x0000000000800000 0x000000001bb60000 2 /dev/block/mmcblk0p[COLOR="Red"]4[/COLOR]
android 0x0000000019d00000 0x000000001c360000 2 /dev/block/mmcblk0p[COLOR="Red"]5[/COLOR]
cache 0x0000000013900000 0x0000000036060000 2 /dev/block/mmcblk0p[COLOR="Red"]6[/COLOR]
usrdata 0x0000000059200000 0x0000000049960000 2 /dev/block/mmcblk0p[COLOR="Red"]7[/COLOR]
fat 0x000000005c590200 0x00000000a2b60000 2 /dev/block/mmcblk0p[COLOR="Red"]8[/COLOR]
otp 0xffffffffe87efe00 0x00000000ff0f0200 2 /dev/block/mmcblk0
bmtpool 0x0000000001500000 0x00000000ff0f00a8 2 /dev/block/mmcblk0
Code:
# mount point fstype device [device2]
[COLOR="Blue"]/boot emmc /dev/bootimg
/misc emmc /dev/misc
/recovery emmc /dev/recovery
/nvram emmc /dev/nvram
/uboot emmc /dev/uboot[/COLOR]
/system ext4 /dev/block/mmcblk0p[COLOR="Red"]5[/COLOR]
/data ext4 /dev/block/mmcblk0p[COLOR="Red"]7[/COLOR]
/cache ext4 /dev/block/mmcblk0p[COLOR="Red"]6[/COLOR]
/custpack ext4 /dev/block/mmcblk0p[COLOR="Red"]3[/COLOR]
/mobile_info ext4 /dev/block/mmcblk0p[COLOR="Red"]4[/COLOR]
/emmc vfat /dev/block/mmcblk0p[COLOR="Red"]8[/COLOR]
/sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
For "custpack" phones the recovery.fstab from porting builds is wrong (sent by someone before), and you have to make it to look like this one above.
If the phone has Ubifs file system, the memory is flash type (dev/mtd/mtdx), and in dumchar_info you will find separate paths for every partition: you have to check every one's number and correct if is different (even for boot, recovery, etc).
Code:
preloader 0x0000000001000000 0x00000000 1 /dev/mtd/mtd0 USER
pro_info 0x0000000000400000 0x00000001 1 /dev/mtd/mtd1 USER
nvram 0x0000000000c00000 0x00000002 1 /dev/mtd/mtd2 USER
protect_f 0x0000000000c00000 0x00000003 1 /dev/mtd/mtd3 USER
seccfg 0x0000000000400000 0x00000004 1 /dev/mtd/mtd4 USER
uboot 0x0000000000400000 0x00000005 1 /dev/mtd/mtd5 USER
bootimg 0x0000000000800000 0x00000006 1 /dev/mtd/mtd6 USER
recovery 0x0000000000800000 0x00000007 1 /dev/mtd/mtd7 USER
sec_ro 0x0000000000400000 0x00000008 1 /dev/mtd/mtd8 USER
misc 0x0000000000c00000 0x00000009 1 /dev/mtd/mtd9 USER
logo 0x0000000000400000 0x0000000a 1 /dev/mtd/mtd10 USER
expdb 0x0000000000c00000 0x0000000b 1 /dev/mtd/mtd11 USER
tee1 0x0000000000800000 0x0000000c 1 /dev/mtd/mtd12 USER
tee2 0x0000000000800000 0x0000000d 1 /dev/mtd/mtd13 USER
kb 0x0000000000400000 0x0000000e 1 /dev/mtd/mtd14 USER
dkb 0x0000000000400000 0x0000000f 1 /dev/mtd/mtd15 USER
android 0x000000001f400000 0x00000010 1 /dev/mtd/mtd16 USER
cache 0x0000000008000000 0x00000011 1 /dev/mtd/mtd17 USER
usrdata 0x00000001bf000000 0x00000012 1 /dev/mtd/mtd18 USER
bmtpool 0x0000000000000000 0x00000000 1 USER
Code:
# mount point fstype device [device2]
/boot mtd /dev/mtd/mtd6
/misc mtd /dev/mtd/mtd9
/nvram mtd /dev/mtd/mtd2
/recovery mtd /dev/mtd/mtd7
/uboot mtd /dev/mtd/mtd5
/system ubifs /dev/mtd/mtd16
/cache ubifs /dev/mtd/mtd17
/data ubifs /dev/mtd/mtd18
/emmc vfat /dev/block/mmcblk0p1 /dev/block/mmcblk0
/sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
Next focus on both fstab, from boot and carliv ramdisk. Replace the content of carliv fstab with the content of boot fstab. Usualy it looks like this:
Code:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/[email protected] /system ext4 ro,noatime wait
/[email protected] /cache ext4 noatime,nosuid,nodev,noauto_da_alloc wait
/[email protected] /data ext4 noatime,nosuid,nodev,noauto_da_alloc wait,encryptable=footer
Then focus on default.prop from recovery stock and carliv. Change in carliv default prop all relevant data regarding your phone, platform and producer or brand (this is for assert errors). See lines in blue - need to focus on those, and values in red - need to be replaced. First default.prop is from stock recovery, second is from porting carliv recovery. Replace from stock to carliv (for example instead of "new" will be "P780", instead of "mtk" will be "Lenovo" and so on.
Stock:
Code:
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=0
ro.allow.mock.location=1
persist.mtk.aee.aed=on
ro.debuggable=1
persist.service.acm.enable=0
persist.sys.usb.config=mass_storage,adb
ro.bootloader.mode=download
ro.mount.fs=EXT4
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=JOP40D
ro.build.display.id=P780_S129_130710
[COLOR="Blue"]ro.product.model[/COLOR]=[COLOR="Red"]Lenovo P780[/COLOR]
ro.product.sw.internal.version=Lenovo P780_S129_130710
ro.product.hw.version=9001
ro.product.particular.version=LENOVO_FUJIAN
ro.build.version.incremental=P780_S129_130710
ro.custom.build.version=1373441469
ro.build.version.sdk=17
ro.build.version.codename=REL
ro.build.version.release=4.2.1
ro.build.date=Fri Jul 4 13:51:39 EEST 2014
ro.build.date.utc=1373441534
ro.build.type=user
ro.build.user=carliv
ro.build.host=max
ro.build.tags=release-keys
[COLOR="Blue"]ro.product.brand[/COLOR]=[COLOR="Red"]Lenovo[/COLOR]
[COLOR="Blue"]ro.product.name[/COLOR]=[COLOR="Red"]P780[/COLOR]
[COLOR="Blue"]ro.product.device[/COLOR]=[COLOR="Red"]prada[/COLOR]
[COLOR="Blue"]ro.product.board[/COLOR]=[COLOR="Red"]prada[/COLOR]
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
[COLOR="Blue"]ro.product.manufacturer[/COLOR]=[COLOR="Red"]LENOVO[/COLOR]
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
[COLOR="Blue"]ro.board.platform[/COLOR]=
# ro.build.product is obsolete; use ro.product.device
[COLOR="Blue"]ro.build.product[/COLOR]=[COLOR="Red"]P780[/COLOR]
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=[COLOR="Red"]P780[/COLOR]-user 4.2.1 JOP40D [COLOR="Red"]P780[/COLOR]_S129_130710 release-keys
ro.build.fingerprint=[COLOR="Red"]Lenovo[/COLOR]/[COLOR="Red"]P780[/COLOR]/[COLOR="Red"]P780[/COLOR]:4.2.1/JOP40D/P780_S129_130710:user/release-keys
ro.build.flavor=
ro.build.characteristics=default
# end build properties
# begin mediatek build properties
ro.mediatek.version.release=ALPS.JB2.MP.V1
ro.mediatek.platform=MT6589
ro.mediatek.chip_ver=S01
ro.mediatek.version.branch=ALPS.JB2.MP
ro.mediatek.version.sdk=1
# end mediatek build properties
#
# system.prop for generic sdk
#
and Carliv:
Code:
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=0
ro.allow.mock.location=1
persist.mtk.aee.aed=on
ro.debuggable=1
persist.service.acm.enable=0
persist.sys.usb.config=mass_storage,adb
ro.bootloader.mode=download
ro.mount.fs=EXT4
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=JDQ39E
ro.build.display.id=cm_[COLOR="Red"]new[/COLOR]-eng 4.2.2 JDQ39E 4c1705071f test-keys
ro.build.version.incremental=4c1705071f
ro.build.version.sdk=17
ro.build.version.codename=REL
ro.build.version.release=4.2.2
ro.build.date=Sat Dec 6 21:02:58 EET 2014
ro.build.date.utc=0
ro.build.type=eng
ro.build.user=carliv
ro.build.host=max
ro.build.tags=test-keys
[COLOR="Blue"]ro.product.model[/COLOR]=[COLOR="Red"]new[/COLOR]
[COLOR="Blue"]ro.product.brand[/COLOR]=[COLOR="Red"]mtk[/COLOR]
[COLOR="Blue"]ro.product.name[/COLOR]=cm_[COLOR="Red"]new[/COLOR]
[COLOR="Blue"]ro.product.device[/COLOR]=[COLOR="Red"]new[/COLOR]
[COLOR="Blue"]ro.product.board[/COLOR]=
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
[COLOR="Blue"]ro.product.manufacturer[/COLOR]=[COLOR="Red"]mtk[/COLOR]
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
[COLOR="Blue"]ro.board.platform[/COLOR]=[COLOR="Red"]mt6582[/COLOR]
# ro.build.product is obsolete; use ro.product.device
[COLOR="Blue"]ro.build.product[/COLOR]=[COLOR="Red"]new[/COLOR]
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=cm_[COLOR="Red"]new[/COLOR]-eng 4.2.2 JDQ39E 4c1705071f test-keys
ro.build.fingerprint=[COLOR="Red"]mtk[/COLOR]/cm_[COLOR="Red"]new[/COLOR]/[COLOR="Red"]new[/COLOR]:4.2.2/JDQ39E/4c1705071f:eng/test-keys
ro.build.characteristics=default
[COLOR="Blue"]ro.cm.device[/COLOR]=[COLOR="Red"]new[/COLOR]
# end build properties
#
# system.prop for new
#
#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.rommanager.developerid=cyanogenmod
keyguard.no_require_sim=true
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.google.clientidbase=android-google
ro.com.android.wifi-watchlist=GoogleGuest
ro.setupwizard.enterprise_mode=1
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=false
persist.sys.root_access=1
ro.cm.version=10.1-20141206-UNOFFICIAL-[COLOR="Red"]new[/COLOR]
ro.modversion=10.1-20141206-UNOFFICIAL-[COLOR="Red"]new[/COLOR]
ro.config.ringtone=Orion.ogg
ro.config.notification_sound=Argon.ogg
ro.config.alarm_alert=Hassium.ogg
ro.carrier=unknown
ro.ril.hsxpa=1
ro.ril.gprsclass=10
ro.adb.qemud=1
ro.kernel.android.checkjni=1
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
Last step, focus on init.rc from carliv and init.usb.rc from boot. Check idVendor and idProduct for mass_storage,adb function. Replace them with data from init.usb.rc.
Code:
on init
# Workarunod for USB unknow device issue
# USB would switch correct function when set properity sys.usb.config
setprop sys.usb.vid [COLOR="Red"]17EF[/COLOR]
write /sys/class/android_usb/android0/iSerial $ro.serialno
write /sys/class/android_usb/android0/[COLOR="Blue"]idVendor[/COLOR] $sys.usb.vid
.............
#2.[COLOR="Blue"]adb[/COLOR]
on property:sys.usb.config=adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor $sys.usb.vid
write /sys/class/android_usb/android0/[COLOR="Blue"]idProduct[/COLOR] [COLOR="Red"]7495[/COLOR]
write /sys/class/android_usb/android0/functions $sys.usb.config
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state $sys.usb.config
........
#5.[COLOR="Blue"]mass_storage,adb[/COLOR]
on property:sys.usb.config=mass_storage,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/[COLOR="Blue"]idVendor[/COLOR] $sys.usb.vid
write /sys/class/android_usb/android0/[COLOR="Blue"]idProduct[/COLOR] [COLOR="Red"]7435[/COLOR]
write /sys/class/android_usb/android0/functions $sys.usb.config
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state $sys.usb.config
#6.mtp
Code:
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 /boot
mkdir /misc
mkdir /storage
mkdir /sdcard
mkdir /internal_sd
mkdir /external_sd
mkdir /sd-ext
mkdir /datadata
mkdir /emmc
mkdir /system
mkdir /data
mkdir /cache
mount /tmp /tmp tmpfs
chown root shell /tmp
chmod 0775 /tmp
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/iSerial "0123456789ABCDEF"
write /sys/class/android_usb/android0/[COLOR="Blue"]idVendor[/COLOR] [COLOR="Red"]0bb4[/COLOR] <- [COLOR="Red"]17EF[/COLOR]
write /sys/class/android_usb/android0/[COLOR="Blue"]idProduct[/COLOR] [COLOR="Red"]0c03[/COLOR] <- [COLOR="Red"]7435[/COLOR]
write /sys/class/android_usb/android0/functions mass_storage,adb
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/enable 1
on boot
ifup lo
hostname localhost
domainname localdomain
class_start default
on property:sys.powerctl=*
powerctl ${sys.powerctl}
service ueventd /sbin/ueventd
critical
service recovery /sbin/recovery
service setup_adbd /sbin/setup_adbd
oneshot
service adbd /sbin/adbd recovery
disabled
# Recovery will start adb once it has checked the keys
on property:ro.debuggable=1
#write /sys/class/android_usb/android0/enable 1
#start adbd
setprop service.adb.root 1
# 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
Modify required ramdisk files - Kitkat.
Kitkat:
Open editor, then open in one window dumchar_info.txt (the one you've got earlier), the fstab file, init.usb.rc, meta.init.rc, any init file with ssd in name from boot ramdisk and default.prop from recovery ramdisk, and in another window recovery.fstab from carliv's ramdisk/etc folder, fstab.mt65nn, default.prop and init.rc also from carliv's ramdisk.
Check and compare both default.prop and make same modifications as for jellybean.
Stock:
Code:
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=1
ro.allow.mock.location=0
persist.mtk.aee.aed=on
ro.debuggable=0
ro.adb.secure=1
persist.sys.usb.config=mtp
persist.service.acm.enable=0
ro.mount.fs=EXT4
ro.persist.partition.support=no
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=KOT49H
ro.build.display.id=VIBEUI_V2.0_1437_7.14.1_ST_P780
ro.build.version.incremental=VIBEUI_V2.0_1437_7.14.1_ST_P780
ro.custom.build.version=VIBEUI_V2.0_1437_7.14.1_ST_P780
ro.build.version.sdk=19
ro.build.version.codename=REL
ro.build.version.release=4.4.2
ro.build.date=Wed Sep 3 05:55:18 CST 2014
ro.build.date.utc=1409694918
ro.build.type=user
ro.build.user=buildslave
ro.build.host=xmws54
ro.build.tags=release-keys
[COLOR="Blue"]ro.product.model[/COLOR]=[COLOR="Red"]Lenovo P780[/COLOR]
[COLOR="Blue"]ro.product.brand[/COLOR]=[COLOR="Red"]Lenovo[/COLOR]
[COLOR="Blue"]ro.product.name[/COLOR]=[COLOR="Red"]prada[/COLOR]
[COLOR="Blue"]ro.product.device[/COLOR]=[COLOR="Red"]P780[/COLOR]
[COLOR="Blue"]ro.product.board[/COLOR]=[COLOR="Red"]prada[/COLOR]
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
[COLOR="Blue"]ro.product.manufacturer[/COLOR]=[COLOR="Red"]LENOVO[/COLOR]
ro.product.locale.language=zh
ro.product.locale.region=CN
ro.wifi.channels=
[COLOR="Blue"]ro.board.platform[/COLOR]=
# ro.build.product is obsolete; use ro.product.device
[COLOR="Blue"]ro.build.product[/COLOR]=[COLOR="Red"]P780[/COLOR]
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=prada-user 4.4.2 KOT49H VIBEUI_V2.0_1437_7.14.1_ST_P780 dev-keys
ro.build.fingerprint=[COLOR="Red"]Lenovo[/COLOR]/[COLOR="Red"]prada[/COLOR]/[COLOR="Red"]P780[/COLOR]:4.4.2/KOT49H/VIBEUI_V2.0_1437_7.14.1_ST_P780.:user/release-keys
ro.build.flavor=
ro.build.characteristics=default
# end build properties
# begin mediatek build properties
ro.mediatek.version.release=ALPS.KK1.MP5.V1
ro.mediatek.platform=MT6589
ro.mediatek.chip_ver=S01
ro.mediatek.version.branch=KK1.MP5
ro.mediatek.version.sdk=2
# end mediatek build properties
#
# from out/target/product/prada/obj/CUSTGEN/config/system.prop
#
#
# system.prop for generic sdk
#
.........
[COLOR="Red"]ro.product.ota.model=LenovoP780_ROM_ST_KK[/COLOR]
......
dalvik.vm.stack-trace-file=/data/anr/traces.txt
and Carliv:
Code:
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=0
ro.allow.mock.location=1
persist.mtk.aee.aed=on
ro.debuggable=1
persist.service.acm.enable=0
persist.sys.usb.config=mass_storage,adb
ro.bootloader.mode=download
ro.mount.fs=EXT4
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=KTU84Q
ro.build.display.id=cm_[COLOR="Red"]new[/COLOR]-eng 4.4.4 KTU84Q 347d7427a4 test-keys
ro.build.version.incremental=347d7427a4
ro.build.version.sdk=19
ro.build.version.codename=REL
ro.build.version.release=4.4.4
ro.build.date=Tue Dec 9 16:23:16 EET 2014
ro.build.date.utc=0
ro.build.type=eng
ro.build.user=carliv
ro.build.host=max
ro.build.tags=test-keys
[COLOR="Blue"]ro.product.brand[/COLOR]=[COLOR="Red"]mtk[/COLOR]
[COLOR="Blue"]ro.product.name[/COLOR]=cm_[COLOR="Red"]new[/COLOR]
[COLOR="Blue"]ro.product.board[/COLOR]=
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
[COLOR="Blue"]ro.product.manufacturer[/COLOR]=[COLOR="Red"]mtk[/COLOR]
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
[COLOR="Blue"]ro.board.platform[/COLOR]=[COLOR="Red"]mt6582[/COLOR]
# ro.build.product is obsolete; use ro.product.device
[COLOR="Blue"]ro.build.product[/COLOR]=[COLOR="Red"]new[/COLOR]
[COLOR="Blue"]ro.product.model[/COLOR]=[COLOR="Red"]new[/COLOR]
[COLOR="Blue"]ro.product.device[/COLOR]=[COLOR="Red"]new[/COLOR]
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=cm_[COLOR="Red"]new[/COLOR]-eng 4.4.4 KTU84Q 347d7427a4 test-keys
ro.build.fingerprint=[COLOR="Red"]mtk[/COLOR]/cm_[COLOR="Red"]new[/COLOR]/[COLOR="Red"]new[/COLOR]:4.4.4/KTU84Q/347d7427a4:eng/test-keys
ro.build.characteristics=default
[COLOR="Blue"]ro.cm.device[/COLOR]=[COLOR="Red"]new[/COLOR]
# end build properties
#
# from device/mtk/new/system.prop
#
#
# system.prop for new
#
#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.rommanager.developerid=cyanogenmod
ro.com.google.clientidbase=android-google
keyguard.no_require_sim=true
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.android.wifi-watchlist=GoogleGuest
ro.setupwizard.enterprise_mode=1
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=false
ro.build.selinux=1
persist.sys.dalvik.multithread=false
persist.sys.dun.override=0
persist.sys.root_access=1
ro.cm.version=11-20141209-UNOFFICIAL-[COLOR="Red"]new[/COLOR]
ro.cm.releasetype=UNOFFICIAL
ro.modversion=11-20141209-UNOFFICIAL-[COLOR="Red"]new[/COLOR]
ro.cmlegal.url=http://www.cyanogenmod.org/docs/privacy
persist.sys.recovery_update=false
ro.cm.display.version=11-20141209-UNOFFICIAL-[COLOR="Red"]new[/COLOR]
ro.config.notification_sound=Argon.ogg
ro.config.alarm_alert=Hassium.ogg
ro.config.ringtone=Orion.ogg
ro.carrier=unknown
ro.ril.hsxpa=1
ro.ril.gprsclass=10
ro.adb.qemud=1
persist.sys.dalvik.vm.lib=libdvm.so
ro.kernel.android.checkjni=1
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
Compare recovery.fstab with fstab and dumchar file, and also with fstab.mt65nn. If there are any modifications make them, but usually if your device is emmc too only one thing you have to modify: the paths for voldmanaged sdcards. In boot fstab those paths are not correct, don't work for recovery, and you need to find correct path right in your phone with a root explorer.
Stock recovery.fstab, can't be used:
Code:
boot /boot emmc defaults defaults
/dev/block/mmcblk0p2 /cache ext4 defaults defaults
/dev/block/mmcblk0p3 /data ext4 defaults defaults
misc /misc emmc defaults defaults
recovery /recovery emmc defaults defaults
/dev/block/mmcblk0p4 /sdcard vfat defaults defaults
/dev/block/mmcblk0p6 /system ext4 defaults defaults
Stock fstab, wrong sdcards paths:
Code:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/[email protected] /data ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check,encryptable=footer
/[email protected]_f /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check
/[email protected]_s /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check
[COLOR="Red"]/devices/platform/mtk-msdc.0/mmc_host[/COLOR] auto vfat defaults voldmanaged=sdcard0:[email protected],[COLOR="Red"]noemulatedsd[/COLOR]
[COLOR="Red"]/devices/platform/mtk-msdc.1/mmc_host[/COLOR] auto vfat defaults voldmanaged=sdcard1:auto
#lenovo-sw yexh1 2014_03_19 add for usbotg sdcard2
/devices/platform/mt_usb/sda auto vfat defaults voldmanaged=usbotg:auto
/devices/platform/mt_usb/sdb auto vfat defaults voldmanaged=usbotg1:auto
#lenovo-sw yexh1 2014_03_19 add for usbotg sdcard2,end
Carliv fstab.mt65nn, this will work
Code:
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/[email protected] /system ext4 ro,noatime wait
/[email protected] /cache ext4 noatime,nosuid,nodev,noauto_da_alloc wait
/[email protected] /data ext4 noatime,nosuid,nodev,noauto_da_alloc wait,encryptable=footer
/[email protected]_f /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check
/[email protected]_s /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check
# vold-managed volumes
[COLOR="Blue"]/devices/platform/mtk-msdc.0/mmc_host/mmc0[/COLOR] auto auto defaults voldmanaged=sdcard1:8
[COLOR="Blue"]/devices/platform/mtk-msdc.1/mmc_host/mmc1[/COLOR] auto auto defaults voldmanaged=sdcard0:auto
/dev/bootimg /boot emmc defaults defaults
/dev/nvram /nvram emmc defaults defaults
/dev/recovery /recovery emmc defaults defaults
/dev/uboot /uboot emmc defaults defaults
/dev/misc /misc emmc defaults defaults
and carliv recovery.fstab
Code:
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/[email protected] /system ext4 ro,noatime wait
/[email protected] /cache ext4 noatime,nosuid,nodev,noauto_da_alloc wait
/[email protected] /data ext4 noatime,nosuid,nodev,noauto_da_alloc wait,encryptable=footer
# vold-managed volumes
/devices/platform/mtk-msdc.0/mmc_host/mmc0 auto auto defaults voldmanaged=sdcard1:8,
/devices/platform/mtk-msdc.1/mmc_host/mmc1 auto auto defaults voldmanaged=sdcard0:auto
/dev/bootimg /boot emmc defaults defaults
/dev/nvram /nvram emmc defaults defaults
/dev/recovery /recovery emmc defaults defaults
/dev/uboot /uboot emmc defaults defaults
/dev/misc /misc emmc defaults defaults
Also, if you use any label after sdcardn:auto, it won't work (ex. noemulatedsd, nonremovablesd). Copy same things from recovery.fstab to fstab.mt65nn, if there are some changes. In fstab.mt65nn there are two more partitions, protect_f and protect_s, or other for custapck phones.
Code:
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/[email protected] /system ext4 ro,noatime wait
/[email protected] /cache ext4 noatime,nosuid,nodev,noauto_da_alloc wait
/[email protected] /data ext4 noatime,nosuid,nodev,noauto_da_alloc wait,encryptable=footer
[COLOR="Red"]/[email protected]_f /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check
/[email protected]_s /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check[/COLOR]
# vold-managed volumes
/devices/platform/mtk-msdc.0/mmc_host/mmc0 auto auto defaults voldmanaged=sdcard0:8
/devices/platform/mtk-msdc.1/mmc_host/mmc1 auto auto defaults voldmanaged=sdcard1:auto
/devices/platform/mt_usb/sda/sda1 auto auto defaults voldmanaged=usbotg:auto
/dev/bootimg /boot emmc defaults defaults
/dev/nvram /nvram emmc defaults defaults
/dev/recovery /recovery emmc defaults defaults
/dev/uboot /uboot emmc defaults defaults
/dev/misc /misc emmc defaults defaults
Code:
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/[email protected] /system ext4 ro,noatime wait
[COLOR="Red"]/[email protected] /custpack ext4 noatime,nosuid,nodev,noauto_da_alloc wait[/COLOR]
/[email protected] /cache ext4 noatime,nosuid,nodev,noauto_da_alloc wait
/[email protected] /data ext4 noatime,nosuid,nodev,noauto_da_alloc wait,encryptable=footer
[COLOR="Red"]/[email protected]_info /mobile_info ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check[/COLOR]
# vold-managed volumes
/devices/platform/mtk-msdc.0/mmc_host/mmc0 auto auto defaults voldmanaged=sdcard0:8,
/devices/platform/mtk-msdc.1/mmc_host/mmc1 auto auto defaults voldmanaged=sdcard1:auto
/dev/bootimg /boot emmc defaults defaults
/dev/nvram /nvram emmc defaults defaults
/dev/recovery /recovery emmc defaults defaults
/dev/uboot /uboot emmc defaults defaults
/dev/misc /misc emmc defaults defaults
If the phone has Ubifs file system, set the paths according to dumchar only for mtd partitions, not ubifs.
Code:
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/[email protected] /system ubifs ro,noatime wait
/[email protected] /cache ubifs noatime,nosuid,nodev,noauto_da_alloc wait
/[email protected] /data ubifs noatime,nosuid,nodev,noauto_da_alloc wait,encryptable=footer
# vold-managed volumes
/devices/platform/mtk-msdc.0/mmc_host/mmc0 auto auto defaults voldmanaged=sdcard0:8,
/devices/platform/mtk-msdc.1/mmc_host/mmc1 auto auto defaults voldmanaged=sdcard1:auto
/dev/mtd/mtd6 /boot mtd defaults defaults
/dev/mtd/mtd2 /nvram mtd defaults defaults
/dev/mtd/mtd7 /recovery mtd defaults defaults
/dev/mtd/mtd5 /uboot mtd defaults defaults
/dev/mtd/mtd9 /misc mtd defaults defaults
Last step, focus on init.rc on one side and the other rc files from boot on the other side. You have to check sdcards setup as bellow.
Code:
on early-init
# Apply strict SELinux checking of PROT_EXEC on mmap/mprotect calls.
write /sys/fs/selinux/checkreqprot 0
# Set the security context for the init process.
# This should occur before anything else (e.g. ueventd) is started.
setcon u:r:init:s0
start ueventd
start healthd
on init
export PATH /sbin:/system/bin
export ANDROID_ROOT /system
export ANDROID_DATA /data
[COLOR="Red"] export EXTERNAL_STORAGE /storage/sdcard0
export SECONDARY_STORAGE /storage/sdcard1[/COLOR]
symlink /system/etc /etc
mkdir /boot
mkdir /recovery
mkdir /sdcard
mkdir /internal_sd
mkdir /external_sd
mkdir /sd-ext
mkdir /datadata
mkdir /sdcard2
mkdir /system
mkdir /cache
mkdir /data
mount tmpfs tmpfs /tmp
chown root shell /tmp
chmod 0775 /tmp
# See storage config details at http://source.android.com/tech/storage/
mkdir /mnt 0775 root system
mkdir /storage 0050 root sdcard_r
mount tmpfs tmpfs /storage mode=0050,uid=0,gid=1028
[COLOR="Red"]mkdir /mnt/media_rw/sdcard0 0700 media_rw media_rw
mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw
mkdir /storage/sdcard0 0700 root root
mkdir /storage/sdcard1 0700 root root[/COLOR]
[COLOR="Red"] symlink /storage/sdcard0 /sdcard
symlink /storage/sdcard0 /mnt/sdcard
symlink /storage/sdcard1 /sdcard2
symlink /storage/sdcard1 /mnt/sdcard2[/COLOR]
mkdir /mnt/shell 0700 shell shell
# Directory for putting things only root should see.
mkdir /mnt/secure 0700 root root
# Create private mountpoint so we can MS_MOVE from staging
mount tmpfs tmpfs /mnt/secure mode=0700,uid=0,gid=0
# Directory for staging bindmounts
mkdir /mnt/secure/staging 0700 root root
# Fuse public mount points.
mkdir /mnt/fuse 0700 root system
mount tmpfs tmpfs /mnt/fuse mode=0775,gid=1000
on fs
mkdir /dev/usb-ffs 0770 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor [COLOR="Red"]0BB4[/COLOR]
write /sys/class/android_usb/android0/idProduct [COLOR="Red"]0C03[/COLOR]
write /sys/class/android_usb/android0/f_ffs/aliases adb
write /sys/class/android_usb/android0/functions [COLOR="Red"]mass_storage,adb[/COLOR]
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}
on boot
ifup lo
hostname localhost
domainname localdomain
class_start default
on property:sys.powerctl=*
powerctl ${sys.powerctl}
service ueventd /sbin/ueventd
critical
seclabel u:r:ueventd:s0
service healthd /sbin/healthd -n
critical
seclabel u:r:healthd:s0
service recovery /sbin/recovery
seclabel u:r:recovery:s0
service setup_adbd /sbin/setup_adbd
oneshot
service adbd /sbin/adbd --root_seclabel=u:r:su:s0 --device_banner=recovery
disabled
socket adbd stream 660 system system
seclabel u:r:adbd:s0
service vold /sbin/minivold
socket vold stream 0660 root mount
ioprio be 2
seclabel u:r:recovery:s0
[COLOR="Red"]# virtual sdcard daemon running as media_rw (1023)
service fuse_sdcard0 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard0 /storage/sdcard0
class late_start
disabled
# virtual sdcard daemon running as media_rw (1023)
service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1
class late_start
disabled[/COLOR]
# setup_adbd will start adb once it has checked the keys
on property:service.adb.root=1
write /sys/class/android_usb/android0/enable 0
restart adbd
write /sys/class/android_usb/android0/enable 1
on property:sys.storage.ums_enabled=1
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct [COLOR="Red"]0C03[/COLOR]
write /sys/class/android_usb/android0/functions [COLOR="Red"]mass_storage,adb[/COLOR]
write /sys/class/android_usb/android0/enable 1
on property:sys.storage.ums_enabled=0
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct [COLOR="Red"]0C01[/COLOR]
write /sys/class/android_usb/android0/functions [COLOR="Red"]adb[/COLOR]
write /sys/class/android_usb/android0/enable ${service.adb.root}
In above example I highlighted all parts you need to focus on. Here there is something inportant: for sdcard services, give "other(world)" read/write permissions only for external sdcard. In my example that is sdcard0 because I use a modified fstab in my phone, with external sdcard as main sdcard. The CWM for kitkat takes as main sdcard the "sdcard0" by default. You can change that in fstab, by setting /storage/sdcard0 as sdcard1 and /storage/sdcard1 as sdcard0 - this is what I did.
Code:
service fuse_sdcard0 /system/bin/sdcard -u 1023 -g 1023[COLOR="Red"] -w 1023[/COLOR] -d /mnt/media_rw/sdcard0 /storage/sdcard0
class late_start
disabled
# virtual sdcard daemon running as media_rw (1023)
service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1
class late_start
disabled
Usualy all informations are in the init file with ssd in name, and you can double check them in meta.init.rc.
Also you can find what sdcards you have in your phone by typing this in a terminal or command prompt through adb:
Code:
adb shell
env | grep sdcard
For vendor and product id check init.usb.rc.
Possible sdcards setups:
1. noemulated:
Code:
on early-init
# Apply strict SELinux checking of PROT_EXEC on mmap/mprotect calls.
write /sys/fs/selinux/checkreqprot 0
# Set the security context for the init process.
# This should occur before anything else (e.g. ueventd) is started.
setcon u:r:init:s0
start ueventd
start healthd
on init
export PATH /sbin:/system/bin
export ANDROID_ROOT /system
export ANDROID_DATA /data
[COLOR="Red"] export EXTERNAL_STORAGE /storage/sdcard0
export SECONDARY_STORAGE /storage/sdcard1[/COLOR]
symlink /system/etc /etc
mkdir /boot
mkdir /recovery
mkdir /sdcard
mkdir /internal_sd
mkdir /external_sd
mkdir /sd-ext
mkdir /datadata
[COLOR="Red"]mkdir /sdcard2[/COLOR]
mkdir /system
mkdir /cache
mkdir /data
mount tmpfs tmpfs /tmp
chown root shell /tmp
chmod 0775 /tmp
# See storage config details at http://source.android.com/tech/storage/
mkdir /mnt 0775 root system
mkdir /storage 0050 root sdcard_r
mount tmpfs tmpfs /storage mode=0050,uid=0,gid=1028
[COLOR="Red"]mkdir /mnt/media_rw/sdcard0 0700 media_rw media_rw
mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw
mkdir /storage/sdcard0 0700 root root
mkdir /storage/sdcard1 0700 root root[/COLOR]
[COLOR="Red"] symlink /storage/sdcard0 /sdcard
symlink /storage/sdcard0 /mnt/sdcard
symlink /storage/sdcard1 /sdcard2
symlink /storage/sdcard1 /mnt/sdcard2[/COLOR]
mkdir /mnt/shell 0700 shell shell
# Directory for putting things only root should see.
mkdir /mnt/secure 0700 root root
# Create private mountpoint so we can MS_MOVE from staging
mount tmpfs tmpfs /mnt/secure mode=0700,uid=0,gid=0
# Directory for staging bindmounts
mkdir /mnt/secure/staging 0700 root root
# Fuse public mount points.
mkdir /mnt/fuse 0700 root system
mount tmpfs tmpfs /mnt/fuse mode=0775,gid=1000
on fs
mkdir /dev/usb-ffs 0770 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor [COLOR="Red"]0BB4[/COLOR]
write /sys/class/android_usb/android0/idProduct [COLOR="Red"]0C03[/COLOR]
write /sys/class/android_usb/android0/f_ffs/aliases adb
write /sys/class/android_usb/android0/functions [COLOR="Red"]mass_storage,adb[/COLOR]
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}
on boot
ifup lo
hostname localhost
domainname localdomain
class_start default
on property:sys.powerctl=*
powerctl ${sys.powerctl}
service ueventd /sbin/ueventd
critical
seclabel u:r:ueventd:s0
service healthd /sbin/healthd -n
critical
seclabel u:r:healthd:s0
service recovery /sbin/recovery
seclabel u:r:recovery:s0
service setup_adbd /sbin/setup_adbd
oneshot
service adbd /sbin/adbd --root_seclabel=u:r:su:s0 --device_banner=recovery
disabled
socket adbd stream 660 system system
seclabel u:r:adbd:s0
service vold /sbin/minivold
socket vold stream 0660 root mount
ioprio be 2
seclabel u:r:recovery:s0
[COLOR="Red"]# virtual sdcard daemon running as media_rw (1023)
service fuse_sdcard0 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard0 /storage/sdcard0
class late_start
disabled
# virtual sdcard daemon running as media_rw (1023)
service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1
class late_start
disabled[/COLOR]
# setup_adbd will start adb once it has checked the keys
on property:service.adb.root=1
write /sys/class/android_usb/android0/enable 0
restart adbd
write /sys/class/android_usb/android0/enable 1
on property:sys.storage.ums_enabled=1
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct [COLOR="Red"]0C03[/COLOR]
write /sys/class/android_usb/android0/functions [COLOR="Red"]mass_storage,adb[/COLOR]
write /sys/class/android_usb/android0/enable 1
on property:sys.storage.ums_enabled=0
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct [COLOR="Red"]0C01[/COLOR]
write /sys/class/android_usb/android0/functions [COLOR="Red"]adb[/COLOR]
write /sys/class/android_usb/android0/enable ${service.adb.root}
Modify required ramdisk files - Kitkat - II.
2. one emulated:
Code:
on early-init
# Apply strict SELinux checking of PROT_EXEC on mmap/mprotect calls.
write /sys/fs/selinux/checkreqprot 0
# Set the security context for the init process.
# This should occur before anything else (e.g. ueventd) is started.
setcon u:r:init:s0
start ueventd
start healthd
on init
export PATH /sbin:/system/bin
export ANDROID_ROOT /system
export ANDROID_DATA /data
[COLOR="Red"]export EXTERNAL_STORAGE /storage/sdcard0[/COLOR]
symlink /system/etc /etc
[COLOR="Red"]symlink /data/media/0 /storage/sdcard0[/COLOR]
mkdir /boot
mkdir /recovery
mkdir /sdcard
mkdir /internal_sd
mkdir /external_sd
mkdir /sd-ext
mkdir /datadata
mkdir /system
mkdir /emmc
mkdir /cache
mkdir /data
mount tmpfs tmpfs /tmp
chown root shell /tmp
chmod 0775 /tmp
# See storage config details at http://source.android.com/tech/storage/
mkdir /mnt 0775 root system
mkdir /storage 0050 root sdcard_r
mount tmpfs tmpfs /storage mode=0050,uid=0,gid=1028
mkdir /mnt/shell 0700 shell shell
# Directory for putting things only root should see.
mkdir /mnt/secure 0700 root root
# Create private mountpoint so we can MS_MOVE from staging
mount tmpfs tmpfs /mnt/secure mode=0700,uid=0,gid=0
# Directory for staging bindmounts
mkdir /mnt/secure/staging 0700 root root
# Fuse public mount points.
mkdir /mnt/fuse 0700 root system
mount tmpfs tmpfs /mnt/fuse mode=0775,gid=1000
on fs
mkdir /dev/usb-ffs 0770 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
write /sys/class/android_usb/android0/enable 0
[COLOR="Red"]write /sys/class/android_usb/android0/idVendor 0BB4
write /sys/class/android_usb/android0/idProduct 0C03[/COLOR]
write /sys/class/android_usb/android0/f_ffs/aliases adb
[COLOR="Red"]write /sys/class/android_usb/android0/functions mass_storage,adb[/COLOR]
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}
on boot
ifup lo
hostname localhost
domainname localdomain
class_start default
on property:sys.powerctl=*
powerctl ${sys.powerctl}
service ueventd /sbin/ueventd
critical
seclabel u:r:ueventd:s0
service healthd /sbin/healthd -n
critical
seclabel u:r:healthd:s0
service recovery /sbin/recovery
seclabel u:r:recovery:s0
service setup_adbd /sbin/setup_adbd
oneshot
service adbd /sbin/adbd --root_seclabel=u:r:su:s0 --device_banner=recovery
disabled
socket adbd stream 660 system system
seclabel u:r:adbd:s0
service vold /sbin/minivold
socket vold stream 0660 root mount
ioprio be 2
seclabel u:r:recovery:s0
# setup_adbd will start adb once it has checked the keys
on property:service.adb.root=1
write /sys/class/android_usb/android0/enable 0
restart adbd
write /sys/class/android_usb/android0/enable 1
on property:sys.storage.ums_enabled=1
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct 0C03
write /sys/class/android_usb/android0/functions mass_storage,adb
write /sys/class/android_usb/android0/enable 1
on property:sys.storage.ums_enabled=0
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct 0C01
write /sys/class/android_usb/android0/functions adb
write /sys/class/android_usb/android0/enable ${service.adb.root}
3. one emulated and one noemulated:
Code:
on early-init
# Apply strict SELinux checking of PROT_EXEC on mmap/mprotect calls.
write /sys/fs/selinux/checkreqprot 0
# Set the security context for the init process.
# This should occur before anything else (e.g. ueventd) is started.
setcon u:r:init:s0
start ueventd
start healthd
on init
export PATH /sbin:/system/bin
export ANDROID_ROOT /system
export ANDROID_DATA /data
[COLOR="Red"]export EXTERNAL_STORAGE /storage/sdcard0
export SECONDARY_STORAGE /storage/sdcard1[/COLOR]
symlink /system/etc /etc
[COLOR="Red"]symlink /data/media/0 /storage/sdcard0[/COLOR]
mkdir /boot
mkdir /recovery
mkdir /sdcard
mkdir /internal_sd
mkdir /external_sd
mkdir /sd-ext
[COLOR="Red"]mkdir /sdcard2[/COLOR]
mkdir /datadata
mkdir /system
mkdir /emmc
mkdir /cache
mkdir /data
mount tmpfs tmpfs /tmp
chown root shell /tmp
chmod 0775 /tmp
# See storage config details at http://source.android.com/tech/storage/
mkdir /mnt 0775 root system
mkdir /storage 0050 root sdcard_r
mount tmpfs tmpfs /storage mode=0050,uid=0,gid=1028
[COLOR="Red"]mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw
mkdir /mnt/shell 0700 shell shell
mkdir /storage/sdcard1 0700 root root
symlink /storage/sdcard1 /mnt/sdcard2[/COLOR]
# Directory for putting things only root should see.
mkdir /mnt/secure 0700 root root
# Create private mountpoint so we can MS_MOVE from staging
mount tmpfs tmpfs /mnt/secure mode=0700,uid=0,gid=0
# Directory for staging bindmounts
mkdir /mnt/secure/staging 0700 root root
# Fuse public mount points.
mkdir /mnt/fuse 0700 root system
mount tmpfs tmpfs /mnt/fuse mode=0775,gid=1000
on fs
mkdir /dev/usb-ffs 0770 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
write /sys/class/android_usb/android0/enable 0
[COLOR="Red"]write /sys/class/android_usb/android0/idVendor 0BB4
write /sys/class/android_usb/android0/idProduct 0C03[/COLOR]
write /sys/class/android_usb/android0/f_ffs/aliases adb
[COLOR="Red"]write /sys/class/android_usb/android0/functions mass_storage,adb[/COLOR]
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}
on boot
ifup lo
hostname localhost
domainname localdomain
class_start default
on property:sys.powerctl=*
powerctl ${sys.powerctl}
service ueventd /sbin/ueventd
critical
seclabel u:r:ueventd:s0
service healthd /sbin/healthd -n
critical
seclabel u:r:healthd:s0
service recovery /sbin/recovery
seclabel u:r:recovery:s0
service setup_adbd /sbin/setup_adbd
oneshot
service adbd /sbin/adbd --root_seclabel=u:r:su:s0 --device_banner=recovery
disabled
socket adbd stream 660 system system
seclabel u:r:adbd:s0
service vold /sbin/minivold
socket vold stream 0660 root mount
ioprio be 2
seclabel u:r:recovery:s0
[COLOR="Red"]
# virtual sdcard daemon running as media_rw (1023)
service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1
class late_start
disabled[/COLOR]
# setup_adbd will start adb once it has checked the keys
on property:service.adb.root=1
write /sys/class/android_usb/android0/enable 0
restart adbd
write /sys/class/android_usb/android0/enable 1
on property:sys.storage.ums_enabled=1
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct 0C03
write /sys/class/android_usb/android0/functions mass_storage,adb
write /sys/class/android_usb/android0/enable 1
on property:sys.storage.ums_enabled=0
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct 0C01
write /sys/class/android_usb/android0/functions adb
write /sys/class/android_usb/android0/enable ${service.adb.root}
Official info for new sdcard setup here.
If you pay attention to this, these files are the only files you need to have a working recovery, and you don't need extra init files includes.
Repack the ported recovery.
In windows just drag the carliv-recovery (or what name you gave it) folder over the repack_MTK_img.bat or MTK_pack.bat and that's it. If you use CarlivImageKitchen the script will prompt you to input a name for the new ported recovery; choose a name with the word recovery in it. For michfood's tool you will get a new-image.img. Rename it recovery.img and flash it in your phone.
In linux, for CarlivImageKitchen type
Code:
./repack_MTK_img carliv-recovery
, when carliv-recovery is the name of the folder with the new ported recovery files. Same rules for prompt to choose a new name as in windows.
For bgcngm's tools in linux delete boot.img-ramdisk, recovery.img-ramdisk-stock, and rename recovery.img-ramdisk-carliv to recovery.img-ramdisk and recovery.img-kernel.img-stock to recovery.img-kernel.img.
Then type:
Code:
./repack-MTK.pl -recovery recovery.img-kernel.img recovery.img-ramdisk new-recovery.img
When it's finished you will find new-recovery.img in mtk tools folder. Rename it recovery.img and flash it in your phone.
Another usefull guide sir,,,
Thanx [emoji4]
carliv said:
........
If you pay attention to this, these files are the only files you need to have a working recovery, and you don't need extra init files includes.
Click to expand...
Click to collapse
Great guide as always sir,
I am not getting this last line before repacking
Do we need to include in the port recovery (from stock boot folder).
Or just needed the data inside the files to get vendorid and product id.
Thank you.
avi3230 said:
Great guide as always sir,
I am not getting this last line before repacking
Do we need to include in the port recovery (from stock boot folder).
Or just needed the data inside the files to get vendorid and product id.
Thank you.
Click to expand...
Click to collapse
As I said, you only need the data from stock files - those marked by me in red in example.
carliv said:
As I said, you only need the data from stock files - those marked by me in red in example.
Click to expand...
Click to collapse
Here we go one more awesome guide! :good:
Thanks Master Carliv
EDIT : Figured out myself! Thanks works perfectly as a charm.
master carliv
Carliv Touch Recovery v3.0 for Kitkat has been successfully running on Evercross A66A_09_MT6582M_V 2.11
Thank you for providing Instructions
:good::good::good:
br,
ramex
ramex said:
master carliv
Carliv Touch Recovery v3.0 for Kitkat has been successfully running on Evercross A66A_09_MT6582M_V 2.11
br,
ramex
Click to expand...
Click to collapse
That's good, but looking at that image it seems that you used a wrong version to port. If I have to guess, I think you used 1280x720 instead of 720x1280, or something like that. The pictures from first post are made on a screen with 720x1280. There is a difference between yours and those, isn't it? If you use the right resolution it will look even better.
Cheers!
carliv said:
That's good, but looking at that image it seems that you used a wrong version to port. If I have to guess, I think you used 1280x720 instead of 720x1280, or something like that. The pictures from first post are made on a screen with 720x1280. There is a difference between yours and those, isn't it? If you use the right resolution it will look even better.
Cheers!
Click to expand...
Click to collapse
You right,
Better to use 720x1280 rather than resolution of 1280 x 720 and I already apply to latest ROM EVERCOSS A66A V12 MT6582M
Thank You.
:good::good::good:
br,
ramex
syntax of the command is incorrect
while unpacking disc images, i am getting error at the end of the command window saying syntax of the command is incorrect.
Also, while unpacking stock boot image and recovery image, i am getting error saying "end offset is lower than start offset"
can you please help me?
im using windows 7 home premium, boot/recovery unpack/repack tool was used on desktop...
my device is panasonic p81, mt6592, resolution 720*1280
i have attached screenshots and also a zip file that includes same screenshots in good resolution.
Thanks in advance...
Sagar_Patel said:
while unpacking disc images, i am getting error at the end of the command window saying syntax of the command is incorrect.
Also, while unpacking stock boot image and recovery image, i am getting error saying "end offset is lower than start offset"
can you please help me?
im using windows 7 home premium, boot/recovery unpack/repack tool was used on desktop...
my device is panasonic p81, mt6592, resolution 720*1280
i have attached screenshots and also a zip file that includes same screenshots in good resolution.
Thanks in advance...
Click to expand...
Click to collapse
Try this option STD_unpack.bat
Sagar_Patel said:
while unpacking disc images, i am getting error at the end of the command window saying syntax of the command is incorrect.
Also, while unpacking stock boot image and recovery image, i am getting error saying "end offset is lower than start offset"
can you please help me?
im using windows 7 home premium, boot/recovery unpack/repack tool was used on desktop...
my device is panasonic p81, mt6592, resolution 720*1280
i have attached screenshots and also a zip file that includes same screenshots in good resolution.
Thanks in advance...
Click to expand...
Click to collapse
That was already discussed on this page starting with post #22, and there is a repacked tool in one of my posts from that page which seems to work better.
@carliv: using your excellent tutorials, I successfully installed Carliv Touch Recovery v2.2 - Ubifs on my Samsung S5 Mini clone (MT6572-based). Except for the fact that the display is upside down, it works perfectly. Thanks!
Filipus said:
@carliv: using your excellent tutorials, I successfully installed Carliv Touch Recovery v2.2 - Ubifs on my Samsung S5 Mini clone (MT6572-based). Except for the fact that the display is upside down, it works perfectly. Thanks!
Click to expand...
Click to collapse
Thanks! But is it 2.2 or 2.7?
I know about the flipped screen issue, I'm still trying to find a solution for that.
It's 2.2. I only realized later that a more recent version exists and I was too lazy (or not brave enough!) to attempt flashing the device again.
Should I?
Oh, and by the way, the flipped screen issue really isn't much of one, especially since the touch feature works so well. Don't lose any sleep over it...
Hi Carliv,
i tried to make a v3.0 CTR for my phone (Elephone G6) but it does not work at all.
English is not natural language so some parts appeared confusing to me.
i think i did everything like shown in you tutorial but i got many errors while unpacking and packing. i got these errors managed but i´m not sure if something went wrong while packing, or maybe i made an error.
can you make a CTR3.0 for me please?
it would be nice when you help me out.
I just tried for my MT6572
Worked successfully..
but i am getting out of screen .. Options are looking bigger..
i have 480*800 and i have downloaded for same resolution..
any way to change resolution ?

Can someone do cat /etc/fstab from TWRP and paste results?

Thanks!
/dev/block/mmcblk0p35 /3rdmodem ext4 rw 0 0
/dev/block/mmcblk0p36 /cache ext4 rw 0 0
/dev/block/mmcblk0p44 /cust ext4 rw 0 0
/dev/block/dm-0 /data f2fs rw 0 0
/dev/block/mmcblk0p43 /system ext4 rw 0 0
/dev/block/mmcblk0p46 /vendor ext4 rw 0 0
/dev/block/mmcblk0p47 /product ext4 rw 0 0
/dev/block/mmcblk1p1 /external_sd exfat rw 0 0
/usbotg auto rw 0 0
Just what I thought. I have a different mmcblk0p**.
hdc said:
Just what I thought. I have a different mmcblk0p**.
Click to expand...
Click to collapse
Ok. Glad I could help.
Have a nice one!
Thanks, @nortish, can you give me also:
ls /dev/block/
and
ls /dev/block/bootdevice/by-name
?
Gonna try to post that later. No time atm.
Sent from my FRD-L09 using Tapatalk
Sorry @hdc that I forgot to answer. Hope you got it sorted anyway =)
Sent from my FRD-L09 using Tapatalk

Categories

Resources