• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [Virgin Mobile] Porting CM11 to Victory (Attempt)

NolenUmar

Well-Known Member
So, out of boredom I have decided to attempt to port CM11 and 10.2 from the Samsung Galaxy 3 Mini to our device. I will be using this guide [GUIDE]How To Port Different ROMS to Your Device (Simplest and Fastest) - xda-developers
as a reference, and images from MaclawStudio - Downloads . If anyone has any advice or tips centric to porting with this device it'd be great and hugely appreciated.

P.s, I will be starting tonight and I have no idea what I'm doing so wish me luck :P
http://forum.xda-developers.com/showthread.php?t=1908008
 
The set_metadata line isn't compatible with our custom recovery (both cwm and twrp) but luckily there's a script by venuatu that converts the newer lines back into set_perm. https://gist.github.com/venuatu/7429378 Luckily for no one, I have no idea how to run it. Installed Python, followed some tutorials... nothing. Would greatly appreciate if someone could show me how or do it 'themself' :P
 

Attachments

The set_metadata line isn't compatible with our custom recovery (both cwm and twrp) but luckily there's a script by venuatu that converts the newer lines back into set_perm. https://gist.github.com/venuatu/7429378 Luckily for no one, I have no idea how to run it. Installed Python, followed some tutorials... nothing. Would greatly appreciate if someone could show me how or do it 'themself' :P

Take the script source, view it RAW (Python needs its indents), and copy/paste it into a new file and name it like "conv.py"
Make it executable: chmod a+x conv.py
then run ./conv.py updater_script

Here's the output:



Code:
assert(getprop("ro.product.device") == "golden" || getprop("ro.build.product") == "golden" || abort("This package is for \"golden\" devices; this is a \"" + getprop("ro.product.device") + "\"."););
mount("ext4", "EMMC", "/dev/block/mmcblk0p22", "/system");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "backup");
unmount("/system");
show_progress(0.500000, 0);
format("ext4", "EMMC", "/dev/block/mmcblk0p22", "0", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p22", "/system");
package_extract_dir("system", "/system");
symlink("../xbin/su", "/system/bin/su");
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
        "/system/xbin/adjtimex", "/system/xbin/arp", "/system/xbin/ash",
        "/system/xbin/awk", "/system/xbin/base64", "/system/xbin/basename",
        "/system/xbin/bbconfig", "/system/xbin/blkid", "/system/xbin/blockdev",
        "/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat",
        "/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat",
        "/system/xbin/catv", "/system/xbin/chattr", "/system/xbin/chgrp",
        "/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chroot",
        "/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm",
        "/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond",
        "/system/xbin/crontab", "/system/xbin/cut", "/system/xbin/date",
        "/system/xbin/dc", "/system/xbin/dd", "/system/xbin/depmod",
        "/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff",
        "/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd",
        "/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/echo",
        "/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/env",
        "/system/xbin/expand", "/system/xbin/expr", "/system/xbin/false",
        "/system/xbin/fbsplash", "/system/xbin/fdisk", "/system/xbin/fgrep",
        "/system/xbin/find", "/system/xbin/flash_lock",
        "/system/xbin/flash_unlock", "/system/xbin/flashcp",
        "/system/xbin/flock", "/system/xbin/fold", "/system/xbin/free",
        "/system/xbin/freeramdisk", "/system/xbin/fstrim", "/system/xbin/fsync",
        "/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser",
        "/system/xbin/getopt", "/system/xbin/grep", "/system/xbin/groups",
        "/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt",
        "/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id",
        "/system/xbin/ifconfig", "/system/xbin/inetd", "/system/xbin/insmod",
        "/system/xbin/install", "/system/xbin/ionice", "/system/xbin/iostat",
        "/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall",
        "/system/xbin/killall5", "/system/xbin/less", "/system/xbin/ln",
        "/system/xbin/losetup", "/system/xbin/ls", "/system/xbin/lsattr",
        "/system/xbin/lsmod", "/system/xbin/lsusb", "/system/xbin/lzcat",
        "/system/xbin/lzma", "/system/xbin/lzop", "/system/xbin/lzopcat",
        "/system/xbin/man", "/system/xbin/md5sum", "/system/xbin/mesg",
        "/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo",
        "/system/xbin/mkfs.ext2", "/system/xbin/mkfs.vfat",
        "/system/xbin/mknod", "/system/xbin/mkswap", "/system/xbin/mktemp",
        "/system/xbin/modinfo", "/system/xbin/modprobe", "/system/xbin/more",
        "/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mpstat",
        "/system/xbin/mv", "/system/xbin/nanddump", "/system/xbin/nandwrite",
        "/system/xbin/nbd-client", "/system/xbin/netstat", "/system/xbin/nice",
        "/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd",
        "/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep",
        "/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pipe_progress",
        "/system/xbin/pkill", "/system/xbin/pmap", "/system/xbin/poweroff",
        "/system/xbin/printenv", "/system/xbin/printf", "/system/xbin/ps",
        "/system/xbin/pstree", "/system/xbin/pwd", "/system/xbin/pwdx",
        "/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath",
        "/system/xbin/renice", "/system/xbin/reset", "/system/xbin/resize",
        "/system/xbin/rev", "/system/xbin/rm", "/system/xbin/rmdir",
        "/system/xbin/rmmod", "/system/xbin/route", "/system/xbin/run-parts",
        "/system/xbin/rx", "/system/xbin/sed", "/system/xbin/seq",
        "/system/xbin/setconsole", "/system/xbin/setserial",
        "/system/xbin/setsid", "/system/xbin/sh", "/system/xbin/sha1sum",
        "/system/xbin/sha256sum", "/system/xbin/sha3sum",
        "/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort",
        "/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings",
        "/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff",
        "/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl",
        "/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar",
        "/system/xbin/taskset", "/system/xbin/tee", "/system/xbin/telnet",
        "/system/xbin/telnetd", "/system/xbin/test", "/system/xbin/tftp",
        "/system/xbin/tftpd", "/system/xbin/time", "/system/xbin/timeout",
        "/system/xbin/top", "/system/xbin/touch", "/system/xbin/tr",
        "/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/ttysize",
        "/system/xbin/tune2fs", "/system/xbin/umount", "/system/xbin/uname",
        "/system/xbin/uncompress", "/system/xbin/unexpand", "/system/xbin/uniq",
        "/system/xbin/unix2dos", "/system/xbin/unlzma", "/system/xbin/unlzop",
        "/system/xbin/unxz", "/system/xbin/unzip", "/system/xbin/uptime",
        "/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode",
        "/system/xbin/vi", "/system/xbin/watch", "/system/xbin/wc",
        "/system/xbin/wget", "/system/xbin/which", "/system/xbin/whoami",
        "/system/xbin/xargs", "/system/xbin/xz", "/system/xbin/xzcat",
        "/system/xbin/yes",
        "/system/xbin/zcat");
symlink("libGLESv2.so", "/system/lib/libGLESv3.so");
symlink("logcat", "/system/bin/lolcat");
symlink("mksh", "/system/bin/sh");
symlink("mount.exfat", "/system/bin/fsck.exfat",
        "/system/bin/mkfs.exfat");
symlink("pigz", "/system/xbin/unpigz");
symlink("toolbox", "/system/bin/cat", "/system/bin/chcon",
        "/system/bin/chmod", "/system/bin/chown", "/system/bin/clear",
        "/system/bin/cmp", "/system/bin/cp", "/system/bin/date",
        "/system/bin/dd", "/system/bin/df", "/system/bin/dmesg",
        "/system/bin/du", "/system/bin/getenforce", "/system/bin/getevent",
        "/system/bin/getprop", "/system/bin/getsebool", "/system/bin/grep",
        "/system/bin/hd", "/system/bin/id", "/system/bin/ifconfig",
        "/system/bin/iftop", "/system/bin/insmod", "/system/bin/ioctl",
        "/system/bin/ionice", "/system/bin/kill", "/system/bin/ln",
        "/system/bin/load_policy", "/system/bin/log", "/system/bin/ls",
        "/system/bin/lsmod", "/system/bin/lsof", "/system/bin/md5",
        "/system/bin/mkdir", "/system/bin/mkswap", "/system/bin/mount",
        "/system/bin/mv", "/system/bin/nandread", "/system/bin/netstat",
        "/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/printenv",
        "/system/bin/ps", "/system/bin/r", "/system/bin/readlink",
        "/system/bin/renice", "/system/bin/restart", "/system/bin/restorecon",
        "/system/bin/rm", "/system/bin/rmdir", "/system/bin/rmmod",
        "/system/bin/route", "/system/bin/runcon", "/system/bin/schedtop",
        "/system/bin/sendevent", "/system/bin/setconsole",
        "/system/bin/setenforce", "/system/bin/setfattr", "/system/bin/setprop",
        "/system/bin/setsebool", "/system/bin/sleep", "/system/bin/smd",
        "/system/bin/start", "/system/bin/stop", "/system/bin/swapoff",
        "/system/bin/swapon", "/system/bin/sync", "/system/bin/top",
        "/system/bin/touch", "/system/bin/umount", "/system/bin/uptime",
        "/system/bin/vmstat", "/system/bin/watchprops",
        "/system/bin/wipe");
set_perm_recursive(0, 0, 0755, 0644, "/system")
set_perm_recursive(0, 0, 0755, 0755, "/system/addon.d")
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin")
set_perm(0, 2000, 0755, "/system/bin/app_process")
set_perm(0, 2000, 0755, "/system/bin/clatd")
set_perm(0, 2000, 0755, "/system/bin/debuggerd")
set_perm(0, 2000, 0755, "/system/bin/dhcpcd")
set_perm(0, 2000, 0755, "/system/bin/dnsmasq")
set_perm(0, 2000, 0755, "/system/bin/drmserver")
set_perm(0, 2000, 0755, "/system/bin/hostapd")
set_perm(0, 2000, 0755, "/system/bin/installd")
set_perm(0, 2000, 0755, "/system/bin/keystore")
set_perm(0, 2000, 0755, "/system/bin/mediaserver")
set_perm(0, 2000, 0755, "/system/bin/mksh")
set_perm(0, 2000, 0755, "/system/bin/mtpd")
set_perm(0, 3003, 02750, "/system/bin/netcfg")
set_perm(0, 2000, 0755, "/system/bin/netd")
set_perm(0, 0, 0755, "/system/bin/ping")
set_perm(0, 2000, 0755, "/system/bin/pppd")
set_perm(0, 2000, 0755, "/system/bin/racoon")
set_perm(0, 2000, 0755, "/system/bin/rild")
set_perm(0, 2000, 0750, "/system/bin/run-as")
set_perm(0, 2000, 0755, "/system/bin/sdcard")
set_perm(0, 2000, 0755, "/system/bin/servicemanager")
set_perm(0, 2000, 0755, "/system/bin/surfaceflinger")
set_perm(0, 2000, 0755, "/system/bin/vold")
set_perm(0, 2000, 0755, "/system/bin/wpa_supplicant")
set_perm_recursive(0, 0, 0755, 0644, "/system/etc/dhcpcd")
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks")
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d")
set_perm(0, 0, 0755, "/system/etc/init.d")
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp")
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor")
set_perm(0, 0, 0644, "/system/vendor/etc/audio_effects.conf")
set_perm(0, 0, 0644, "/system/vendor/lib/libbt-vendor.so")
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin")
set_perm(0, 0, 06755, "/system/xbin/librank")
set_perm(0, 0, 06755, "/system/xbin/procmem")
set_perm(0, 0, 06755, "/system/xbin/procrank")
set_perm(0, 0, 06755, "/system/xbin/su")
show_progress(0.200000, 0);
show_progress(0.200000, 10);
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "restore");
delete("/system/bin/backuptool.sh");
delete("/system/bin/backuptool.functions");
show_progress(0.200000, 10);
package_extract_file("boot.img", "/dev/block/mmcblk0p20");
show_progress(0.100000, 0);
unmount("/system");
 
Finally got this thing to stop endlessly restarting thanks to Enzomatrx, now stuck at boot. And now the logcat studies begin :P (if you push a different, victory centric kernel it begins to restart again)

I sincerely hope this doesn't come down to kernel incompatibility.
 
Yes you will need a compatible kernel. When porting MUIU to the Triumph there was a custom kernel built specifically for it. The CM10 kernel probably will not work as it needs to be patched for CM11 aka android 4.4.2
 
Yes you will need a compatible kernel. When porting MUIU to the Triumph there was a custom kernel built specifically for it. The CM10 kernel probably will not work as it needs to be patched for CM11 aka android 4.4.2


What about the 10.2 Kernel that was part of xinterloperx's build?

I was actually using cm10 as the base, but it would make the phone restart after the Samsung sign. So I did it the opposite way, as if I were porting the original to cm11 and it got past that to this beautiful infinite spinning thingy.

I think I'll play around using one of the older booting versions of interloper's 10.2, if I can find one >_> this logcat has been going for at least ten minutes and the file is getting bigger, is that normal?
 
Yeah for sure, the logcat can fill up but it sounds like its in a boot loop. I bet it has the same error over and over but it could be between multiple lines as many as 100 or more. Post it on Pastebin.com - #1 paste tool since 2002! and I can look at it. I am back in the developer chair again working on the Google Nexus as I am selling my S4, long story short I had to upgrade the firmware and lost bootloader so I downgraded to a phone with full unlock capabilities from the factory. Love Google!

As for the 10.2 kernel it may or may not work, there maybe more things that need to be updated to support cm11.
 
Yeah for sure, the logcat can fill up but it sounds like its in a boot loop. I bet it has the same error over and over but it could be between multiple lines as many as 100 or more. Post it on Pastebin.com - #1 paste tool since 2002! and I can look at it. I am back in the developer chair again working on the Google Nexus as I am selling my S4, long story short I had to upgrade the firmware and lost bootloader so I downgraded to a phone with full unlock capabilities from the factory. Love Google!

As for the 10.2 kernel it may or may not work, there maybe more things that need to be updated to support cm11.

I'll give a little background on what I've been doing (and I've never done this before so if anyone goes 'omg wai wud u du dat!' ... I wouldn't know any better)

Alright, so I basically followed the porting guide to the cue. I'm using xinterloperx's CM10.2 (build date 17) as the base instead of CM10 now. At first I was editing the original 10.2 updater-script how it's told in the porting guide (switch CM11 set_perm's with CM10.2's) but that only caused installer errors in TWRP due to 10.2 using set_perm and CM11 using set_metadata, and when I copied those lines over to the 10.2 script it'd break my install every time.

I ended up modifying the original CM11 updater-script so that it would install to this device, then made changes on lines 8, 16, 17 and 179.

(attached the originals and the modified CM11 one I'm using for diff comparison)

I've got to redownload the adb stuff so I'll have that logcat soon, but not at this moment. And I'm welcome to all and any ideas, this phone is basically a expendable testing device so I don't mind if it gets crazy and dangerous.
 

Attachments

Back
Top Bottom