yashsingh1/xdaforums huggingface dataset:
[LG Optimus G (International)] gu5t3r:
$0 is script locatio, ${0##*/} is script name

echo "$0" will output /system/etc/init.d/66test

echo "${0##*/}" will output part of string after last / character i.e. 66test

But, the issue here is that scripts are executed 2 times on boot....

P.S. I chosen same script name 66test XD

Edit: Found bug, in init.rc you added

service userinit /system/xbin/busybox run-parts /system/etc/init.d
oneshot
class late_start
user root
group root

at the end to run init.d scripts, but

scripts are already run from init.cm.rc

.
.
.

# Run sysinit
start sysinit
.
.
.
# sysinit (/system/etc/init.d)
service sysinit /system/bin/sysinit
user root
oneshot
disabled

Edit2: You need to modify unpack-ramdisk.sh not to add init.d support to init.rc if init.d support is also found in init.cm.rc

Edit3: Modified unpack-ramdisk.sh to also check for init.cm.rc for init.d support

#!/sbin/sh

# copy old kernel to sdcard
if [ ! -e /sdcard/zImage_bak ]; then
cp /tmp/boot.img-zImage /sdcard/zImage_bak
fi

# decompress ramdisk
mkdir /tmp/ramdisk
cd /tmp/ramdisk
gunzip -c ../boot.img-ramdisk.gz | cpio -i

# add init.d support if not already supported
found="$(find init.rc -type f | xargs grep -oh 'run-parts /system/etc/init.d')";
foundcm="$(find init.cm.rc -type f | xargs grep -oh 'service sysinit /system/bin/sysinit')";
if [ "$found" != 'run-parts /system/etc/init.d' ] && [ "$foundcm" != 'service sysinit /system/bin/sysinit' ]; then
#find busybox in /system
bblocation=$(find /system/ -name 'busybox')
if [ -n "$bblocation" ] && [ -e "$bblocation" ] ; then
echo "BUSYBOX FOUND!";
#strip possible leading '.'
bblocation=${bblocation#.};
else
echo "NO BUSYBOX NOT FOUND! init.d support will not work without busybox!";
echo "Setting busybox location to /system/xbin/busybox! (install it and init.d will work)";
#set default location since we couldn't find busybox
bblocation="/system/xbin/busybox";
fi
#append the new lines for this option at the bottom
echo "" >> init.rc
echo "service userinit $bblocation run-parts /system/etc/init.d" >> init.rc
echo " oneshot" >> init.rc
echo " class late_start" >> init.rc
echo " user root" >> init.rc
echo " group root" >> init.rc
fi
[LG Optimus G (International)] jollaman999:
Then, It will have a problem when script have loops...

I tested in Lollipop. Anyway, thank you for your explanation.

P.S. Amazing!! :)
[LG Optimus G (International)] gu5t3r:
[MENTION=5996255]jollaman999[/MENTION]

Found solution (in post above), it is to modify unpack-ramdisk.sh

But users will need to flash original boot.img then again jolla-kernel to fix it....
[LG Optimus G (International)] wkobaint:
damn!! you're so detail about this. :good: :good:

I must learn a lot of from you..:good:
[LG Optimus G (International)] Emmes:
i'm on latest Paranoid Android PA4.5 - Beta3 (GEE) and the new non-mod kernel is working fine till now, thanks for your hard work!
[LG Optimus G (International)] ruddnr951:
Thanx for your replying XD
[LG Optimus G (International)] akahroba:
aha! Now, it's useful and can be widely used by different users. Good job. Thanks.
[LG Optimus G (International)] banangrg:
any chance to release a grpoj version?
[LG Optimus G (International)] m4dbra1n:
Thank you ruddnr951, non-mod version in testing now ;)

Screen colors are OK, let's see if it's stable and all functional :)
[LG Optimus G (International)] ruddnr951:
Our first kernel is for gproj but there are lots of small bugs and unstable. So we changed source to GEE from gproj. :D

OK. Feedback plz
[LG Optimus G (International)] m4dbra1n:
Ok ruddnr951, tried a whole day and I have to report a strange behaviour: I've tried smartmax, pegasusq and abyssplugv2, lowered the max clock and touched nothing else, but in every case, after the screen went off, it didn't turn back on, even if I waited die some seconds. Had to reboot in every case to have the phone working again.

Had to go back to [MENTION=4362340]brothaedhung[/MENTION]' s AK 350 kernel... For now :)
[LG Optimus G (International)] vark75:
Is it working on stock KitKat rom ?
[LG Optimus G (International)] akahroba:
No way.
[LG Optimus G (International)] 2nd Sky:
Waiting for other hoster... Cant download! Use mega, mediafire, google drive or other!
[LG Optimus G (International)] FrankKrue:
hello! i installed the kernel on carbon 4.4.4 unofficial, it works fine.

Firstly i love this kernel, performance are very good! I love the pegasusq governor!

so, many thanks for your work, i think that is the best kernel for gee i tested.

But i noticed some problems, random reboots or freezes, during a long phone call often the phone reboots, or sometimes the touchscreen stop working. The sensors often stop working after using some apps like camera. The standard minimum frequency 81mhz make difficult to wake up the display, i solved changing the minimum freq.

Tested on e975

Thanks for your work! and sorry for bad english!
[LG Optimus G (International)] ruddnr951:
I just checked the link http server and frp server but it both works!

Thank you for reviewing. When the CPU temperature is over 88°C phone will shut down for CPU life. If you don't want that, just change the shutdown temperature value at the trickstermod app. Thank you again
[LG Optimus G (International)] ruddnr951:
Reply from Jollaman999

Reply from jollaman999, the original developer

[MENTION=2265000]m4dbra1n[/MENTION]: I'm very sorry about that. Belong FrankKrue's comment, it seems problems with default 81Mhz low freq with some of phones.

I will change it to higher freq to solve the problem.

By now, you can solve the problem with selecting higher low freq.

Also, when I was tested with AK kernel, this kernel also best kernel I have ever seen. (The mpdecision control looks great.)

I'm not good at programming until now. Just copy and fix it for my style.

Anyway, very thank you for your steady feedback.

[MENTION=5310926]2nd Sky[/MENTION]: Is the link not working..? You will enter ID or password 'devel'.

I'm not using public hosting site by the management and security reasons until now.

But if you have problem continually, I will add google drive link next time.

[MENTION=4712879]FrankKrue[/MENTION]: Thank you for your testing. I also think that default 81MHz freq has problems with some of phones.

I will change it to higer freq in next version.

thank you very much for your steady feedback.
[LG Optimus G (International)] akahroba:
[MENTION=5743022]ruddnr951[/MENTION] Thanks for being available almost all day long. I'm curious about something: Is it wise to overclock to 1.8 while the highest potential of S4 pro CPUs are 1.7?

https://www.qualcomm.com/products/snapdragon/processors/s4-s1
[LG Optimus G (International)] m4dbra1n:
I think you are right [MENTION=5743022]ruddnr951[/MENTION]: I'm having the same issue with new faust93's kernel which I'm linking here to you because... He successfully ported the camera drivers from the LG's kk!

http://xdaforums.com/showthread.php?p=55107322

Give it a look and wait for the sources to be published by faust93 ;)
[LG Optimus G (International)] ruddnr951:
I heard that Faust93 is going to upload the source in Github soon. I will se the source soon when he release it. :laugh:
[LG Optimus G (International)] ruddnr951:
I checked that 1.8 GHz clock has few problems. So in next release, jollaman999 will change the common value at 1.8GHz clock. :highfive:
[LG Optimus G (International)] vark75:
But on mokee os? Is it working?
[LG Optimus G (International)] hasan4791:
No.. Mokee is gproj kernel...

Sent from my LG-E975 powering Stock 4.4.2 & SOLID Kernel
[LG Optimus G (International)] jollaman999:
That is the problem. I didn't think about that. I will find the solution.

Thank you.

EDIT1: Oh, there is the solution! Thank you for your hard work!
[LG Optimus G (International)] gu5t3r:
I replaced contents of unpack-ramdisk.sh with

#!/sbin/sh

# copy old kernel to sdcard
if [ ! -e /sdcard/zImage_bak ]; then
cp /tmp/boot.img-zImage /sdcard/zImage_bak
fi

# decompress ramdisk
mkdir /tmp/ramdisk
cd /tmp/ramdisk
gunzip -c ../boot.img-ramdisk.gz | cpio -i

# add init.d support if not already supported
found="$(find init.rc -type f | xargs grep -oh 'run-parts /system/etc/init.d')";
foundcm="$(find init.cm.rc -type f | xargs grep -oh 'service sysinit /system/bin/sysinit')";
if [ "$found" != 'run-parts /system/etc/init.d' ] && [ "$foundcm" != 'service sysinit /system/bin/sysinit' ]; then
#find busybox in /system
bblocation=$(find /system/ -name 'busybox')
if [ -n "$bblocation" ] && [ -e "$bblocation" ] ; then
echo "BUSYBOX FOUND!";
#strip possible leading '.'
bblocation=${bblocation#.};
else
echo "NO BUSYBOX NOT FOUND! init.d support will not work without busybox!";
echo "Setting busybox location to /system/xbin/busybox! (install it and init.d will work)";
#set default location since we couldn't find busybox
bblocation="/system/xbin/busybox";
fi
#append the new lines for this option at the bottom
echo "" >> init.rc
echo "service userinit $bblocation run-parts /system/etc/init.d" >> init.rc
echo " oneshot" >> init.rc
echo " class late_start" >> init.rc
echo " user root" >> init.rc
echo " group root" >> init.rc
fi

and now it doesn't add init.d support on kernel install if it's already supported by CM....

Decompiled and checked CM12 boot.img, it will work for CM12 also....
[LG Optimus G (International)] jollaman999:
[MENTION=4665716]gu5t3r[/MENTION] I changed like this for compatibility with other roms. Thank you for the idea!

#!/sbin/sh

# copy old kernel to sdcard
if [ ! -e /sdcard/zImage_bak ]; then
cp /tmp/boot.img-zImage /sdcard/zImage_bak
fi

# decompress ramdisk
mkdir /tmp/ramdisk
cd /tmp/ramdisk
gunzip -c ../boot.img-ramdisk.gz | cpio -i

# add init.d support if not already supported
[COLOR="Red"]find *.rc -maxdepth 0 -type f -exec grep -i "/system/etc/init.d" {} \; > /tmp/sysinit_found.tmp
found=$(grep -oh "/system/etc/init.d" /tmp/sysinit_found.tmp);
if [ "$found" != '/system/etc/init.d' ]; then[/COLOR]
#find busybox in /system
bblocation=$(find /system/ -name 'busybox')
if [ -n "$bblocation" ] && [ -e "$bblocation" ] ; then
echo "BUSYBOX FOUND!";
#strip possible leading '.'
bblocation=${bblocation#.};
else
echo "NO BUSYBOX NOT FOUND! init.d support will not work without busybox!";
echo "Setting busybox location to /system/xbin/busybox! (install it and init.d will work)";
#set default location since we couldn't find busybox
bblocation="/system/xbin/busybox";
fi
#append the new lines for this option at the bottom
echo "" >> init.rc
echo "service userinit $bblocation run-parts /system/etc/init.d" >> init.rc
echo " oneshot" >> init.rc
echo " class late_start" >> init.rc
echo " user root" >> init.rc
echo " group root" >> init.rc
fi

P.S. In cm12 sysinit is disabled by default. It should be need some more script...

P.S.2 Also in cm11. Are your scripts working on boot?

P.S.3 There is 'start sysinit' in both cm11 and cm12. But in cm12, there is no sysinit in /system/bin/. I'll add it and check if it works.

P.S.4 Working fine after added sysinit script from cm11. Thanks.
[LG Optimus G (International)] gu5t3r:
Problem is with this code

# add init.d support if not already supported
[COLOR="Red"]find *.rc -maxdepth 0 -type f -exec grep -i "/system/etc/init.d" {} \; > /tmp/sysinit_found.tmp
found=$(grep -oh "/system/etc/init.d" /tmp/sysinit_found.tmp);
if [ "$found" != '/system/etc/init.d' ]; then[/COLOR]
#find busybox in /system

is that if there is init.d implemented 2 times, you will implement it 3rd time....Or if you are flashing kernel over and over, each time you will implement inid.d once more

{If there are already two or more init.d implementations, found will never be equal to /system/etc/init.d because it will have multiple lines}

BUT

# add init.d support if not already supported
foundcount="$(find *.rc -maxdepth 0 -type f -exec grep -i '/system/etc/init.d\|/system/bin/sysinit' '{}' \; | grep -ic '/system/etc/init.d\|/system/bin/sysinit')";
if [ "$foundcount" -eq 0 ]; then
#find busybox in /system

I think it's better like this, if /system/etc/init.d or /system/bin/sysinit are found 0 times then init.d is implemented =)

This way it will never be implemented more than once.
[LG Optimus G (International)] jollaman999:
Wow you are a master of shell script!

Thank you very much. :)

P.S. Why did you added \ in front of | ?

And it is not matter '{}' than {} ?
[LG Optimus G (International)] gu5t3r:
grep 'A\|B' will print lines with A or B

grep 'A\|B\|C' will print lines with A or B or C

\| is OR in regex

grep 'A|B' will print lines with "A|B"

{} is replaced with filename, if filenames have spaces you will have problems

'{}' this way filename is in quotes and no problems

=)
[LG Optimus G (International)] jollaman999:
Wow those are hidden tips! :thumbup:

Thank you very much for kindness explanations! :)
[LG Optimus G (International)] gu5t3r:
[MENTION=5996255]jollaman999[/MENTION]

What do you think about script that will change governor to conservative when screen is off?

I found that whatever settings you set for governor for UI to be fluid, they are too high for screen off...

In stats I see my phone is jumping on too high freqs when screen is off...

I was thinking using intellidemand/conservative combination OR maybe better using always smartmax and changing up_sampling from 30000 to let's say 200000 when screen is off....and back to 30000 when screen is on...

What do you think?
[LG Optimus G (International)] jollaman999:
Here is the commit. :)

https://github.com/jollaman999/jolla-kernel_G_Gen2/commit/d930a6103c759657c606d005e8b05a2f66dd0ea1
[LG Optimus G (International)] gu5t3r:
LOL

You're too fast...

Think it's maybe better to change sampling_rate instead up_rate and down_rate.

If up_rate and down_rate are smaller than sampling_rate, sampling_rate is actually used for up_rate and down_rate.

up_rate and down_rate are usually smaller than 100000, so If you change sampling_rate to 200000 when screen off, 200000 will be used both for up and down.

This way, smartmax will become conservative when screen off XD

Can you edit commit so that sampling_rate is changed when screen off?

[MENTION=5996255]jollaman999[/MENTION]

Until new versions, I created myself init.d script to do the job =)

Works great and can be easily edited to work with other governors...

03cpu_control

#!/system/bin/sh
# 03cpu_control v001 by gu5t3r@XDA

## Set Screen Off Sampling Rate
Sleep_Sampling_Rate=200000;

## Set Sampling Rate Path
Sampling_Rate_Path=/sys/devices/system/cpu/cpufreq/smartmax/sampling_rate;

############# DO NOT EDIT CODE BELOW ############
export BB=busybox;
if [ "$($BB ps | $BB grep -c "{${0##*/}[}]")" -gt 1 ]; then exit 1; fi;
exec &>"/data/local/tmp/${0##*/}.log";
$BB renice 19 "$$";
function Date () { $BB date +"%y-%m-%d %T"; }
echo "[${0##*/}] ($(Date)) (Nice=$($BB nice))"; echo;

SSR="$Sleep_Sampling_Rate"; unset Sleep_Sampling_Rate;
SRP="$Sampling_Rate_Path"; unset Sampling_Rate_Path;
echo " Sleep Sampling Rate = $SSR";
echo " Sampling Rate Path = $SRP";
echo; echo;

function CPU_Control () {
while :; do
###############
#### Sleep ####
###############
read -n1 </sys/power/wait_for_fb_sleep;
if [ -e "$SRP" ]; then
read WSR <"$SRP";
if [ -n "$WSR" -a "$WSR" != "$SSR" ]; then echo "$SSR" >"$SRP"; fi;
fi;
##############
#### Wake ####
##############
read -n1 </sys/power/wait_for_fb_wake;
if [ -e "$SRP" -a -n "$WSR" -a "$WSR" != "$SSR" ]; then echo "$WSR" >"$SRP"; fi;
done;
};
CPU_Control & exit 0;

If anyone wants to try you can test it with

su
while :; do sleep 1; cat /sys/devices/system/cpu/cpufreq/smartmax/sampling_rate; done

now turn off screen for few seconds and turn back on, you will see that sampling_rate is 200000 when screen off and restored to your setting when screen on =)
[LG Optimus G (International)] jollaman999:
I didn't know that we can know screen state by script! Great work!

And here is the new commit.

https://github.com/jollaman999/jolla-kernel_G_Gen2/commit/463a27c1b94d83406dca1bbe4e39075db5b1172d

Thank you for your continuous support.
[LG Optimus G (International)] gu5t3r:
Great =) Please also update KK kernel when releasing =)

In shell, if you execute command cat /sys/power/wait_for_fb_sleep; shell will halt and cat won't be able to read /sys/power/wait_for_fb_sleep until screen is off. Same applies for /sys/power/wait_for_fb_wake, you can't read it until screen on...

People used that before for changing governor when screen on and off. But I find changing governors unstable. IntelliDemand/Conservative works, but changing between SmartMax/Conservative halts the phone....

So I got idea to change only sampling rate which is great for smartmax, smartmax with sampling rate 200000 becomes almost exactly as conservative except ideal sleep freq =)
[LG Optimus G (International)] jollaman999:
That's interesting. :) I'll reference somewhere. I didn't know that!

Also I'll apply this patch to KK later. (I'll break my promise. :p)
[LG Optimus G (International)] gu5t3r:
Also, screen_off_sampling will get you better Phone Talk time for your kernel =)

Because, most people talk with screen off, and because sampling will be 200000 when screen off, cpu will scale less aggressively, thus drain less battery, resulting in longer talk time =)

And of course, longer idle time =)
[LG Optimus G (International)] xamx123:
[MENTION=5996255]jollaman999[/MENTION] plz can u make it working for official cm builds

?
[LG Optimus G (International)] jollaman999:
I don't have mind to support gproj. Sorry.
[LG Optimus G (International)] wkobaint:
Dear [MENTION=4665716]gu5t3r[/MENTION], how about intelliactive governor? Could this script implemented on this governor?
[LG Optimus G (International)] gu5t3r:
Yes, just change Sampling_Rate_Path to point to intelliactive sampling rate...

I think it's maybe Sampling_Rate_Path=/sys/devices/system/cpu/cpufreq/intelliactive/sampling_rate; but i'm not sure....
[LG Optimus G (International)] jollaman999:
[jolla-kernel_Gen2-v1.2 Released!!]

[jolla-kernel_Gen2-v1.2 Released!!]

====Changelog (Gen2-v1.2)====

- LP/KK: smartmax: Added sampling_rate_screen_off parameter - Thanks to gu5t3r

(When screen on, smartmax will increase clock based on sampling_rate.

And when screen off, smartmax will increase clock slowly based on sampling_rate_screen_off.)

- LP: mm: Set VM_MAX_READAHEAD to 512

- LP: msm: vidc: Get the current performance level

- LP: Fix some of sources for compatibility with cm12 build. (Kernels's functions are not changed.)

- aroma-installer: Fix logic of LP kernel and KK kernel installation.

- aroma-installer: Fix logic of LP kernel modules installation.

- aroma-installer: Fix logic of finding init.d support - Thanks to gu5t3r.

This patch only applied for AOSP based Kikat & Lollipop kernel.

Thank you.
[LG Optimus G (International)] akahroba:
Thanks. a type of scripting master class has recently been going on here. I really enjoy seeing devs cooperating. Something you can't find in any other community.

BTW, in the second line increase must be decrease I think.

and you forgot to mention stock camera in change log?
[LG Optimus G (International)] jollaman999:
It's so fun. :)

Also, I think both are right. The higher the value, the clock's changing steps will be increase.

I didn't mention it. Because it is already included in previous versions.
[LG Optimus G (International)] denissxrus:
Hey jollaman999 i have a question for you: can you add support of binfmt_misc module to your kernel? It's cool thing))) If you add it we can run desktop Linux with WINE x86 and start Windows applications with latest Linux Deploy. I think it will be awesome :D
[LG Optimus G (International)] gu5t3r:
[MENTION=5996255]jollaman999[/MENTION]

KK Gen2 v1.2 MOD StockCAM KERNEL NOT WORKING

After boot I have green screen and some big numbers under it from widget clock,

could it be that you mixed up Mod and NonMod KK kernel?

Touch screen works but I can't see anything normal on screen...
[LG Optimus G (International)] jollaman999:
I think there was a mistake. Korean users have same problem. I'll re-upload it.

---------- Post added at 01:38 AM ---------- Previous post was at 01:37 AM ----------

Oh that is interesting. I'll check it.
[LG Optimus G (International)] gu5t3r:
OK, please quote or mention me when re-uploaded =)
[LG Optimus G (International)] jollaman999:
Re-uploaded with KK mod kernel fix. Thank you.
[LG Optimus G (International)] thejase:
Does any part of this kernel support cm 12 unofficial rom?
[LG Optimus G (International)] jollaman999:
Yes, it is for gee/geeb/geehrc.
[LG Optimus G (International)] FPSRocketeer:
Which kernel should I use for ARTMOD v6?
[LG Optimus G (International)] patalao:
Use stock.
[LG Optimus G (International)] FPSRocketeer:
So I just need to flash this http://www.mediafire.com/?yznqczz30if99l8 and that's it? And if so, why it's so big? (90MB) Sorry for silly questions, but I'm new to this kernel. :)
[LG Optimus G (International)] tiennhu89:
Because its not only stock rom, but also other rom (as CM, Miui...).
[LG Optimus G (International)] patalao:
You have to choose stock on the various options you got in the aroma installer.
[LG Optimus G (International)] FPSRocketeer:
Thank you very much!
[LG Optimus G (International)] FPSRocketeer:
So I entered AROMA installer and I have 3 Kernel Installation Options:

1. Install Kernel or Multi ROM;

2. Uninstall multirom and reinstall Kernel;

3. jolla-TWRP Install Only.

Which option should I select if I want to install jolla kernel on ARTMOD v6 only?
[LG Optimus G (International)] patalao:
Install kernel and then choose stock
[LG Optimus G (International)] FPSRocketeer:
I installed kernel successfuly and I wanted to benchmark on Antutu. So I started the benchmark an after like 20 sec I got a green screen with options to reboot, download mode ect. and it says "AP watchdog bark detected". What could that mean?
[LG Optimus G (International)] nhocpoping:
That's a kernel panic. Did you overclock or undervoltage or something?
[LG Optimus G (International)] FPSRocketeer:
Overclocked to max cpu and gpu for benchmarking. Even with gpu clocked to 400 and cpu clocked 1728 I still get reboots...
[LG Optimus G (International)] patalao:
Try to raise voltages by 12.5 at a time and test it.

If that works then you need higher voltages to be stable.

If that doesn't work it could be a bad flash.

Try to flash again and wipe cache and dalvik just to be a cleaner install
[LG Optimus G (International)] denissxrus:
My max undervolt on E970 was -62.5mV
[LG Optimus G (International)] FPSRocketeer:
Thank you, I'll try that and let you know.
[LG Optimus G (International)] patalao:
I can go up to -100/-125mV.

Depends on some factors but at least -100 i can get.
[LG Optimus G (International)] denissxrus:
I think i get only -62.5 cause i used 81MHz min CPU clock.
[LG Optimus G (International)] wkobaint:
Did you set -100mv for all clock speed? I mean, from 81 to 1720 you set underclock -100mv.
[LG Optimus G (International)] denissxrus:
Yes, I got kernel panic. I used 81-810MHz clocks. Dont't worry about my voltage settings)))
[LG Optimus G (International)] RohanAJoshi:
[MENTION=5996255]jollaman999[/MENTION] : flashed latest 1.2 on latest geeb lollipop rom..

bugs i found :

1. sd card is not mounted or can't be mounted, so no sdcard..

2. after reboot, if we keep phone without unlocking, screen won't wake up.. so need to reboot by holding power key.
[LG Optimus G (International)] kazieras:
multom use

Can I use this kernel for multirom on a KitKat and lollipop rom??

Lollipop : cm 12 nightly

Kitkat: ARTMOD V5.5 (g3)
[LG Optimus G (International)] jollaman999:
It must be possible. But in my case, when I use multirom with lollipop, I can't see internal memory contents.
[LG Optimus G (International)] A. Ahmed:
Flashed on Unofficial CM 12 builds for geeb e970. After screen is locked, unlocking it will freeze it until you reboot it. Thank you.
[LG Optimus G (International)] patalao:
That seems to be a problem with smartmax governor if you're using it.

If not it could be due to lower frequencies on screen of.
[LG Optimus G (International)] todd_is_not:
I had the same problem with SDcard.
[LG Optimus G (International)] kazieras:
using multirom

When I try to install cm12 nightly zip as a secondary rom, i always get this error:

E: Error executing updater binary in zip '/tmp/mr_update.zip' :confused: