merge/skulls

Outstanding Performance from Skulls v1.04

darnrain opened this issue · 7 comments

I wanted to let everyone know that my x230 was running kinda slow and using a lot of battery power. I have a raspberry pi with a Pomona Clip, I removed Intel ME again on the bottom chip and flashed skulls v1.04 again on the top chip.

My x230 is running so much faster and the battery draw is around 10.5w when idle. It was about 15w. Not sure what happened. Maybe a bad flash the first time? Or maybe removing the Intel ME again did something.

Hey, can you please go a bit into detail. I also have an x230 and will update to 1.05 soon.

It should not really matter much if you flashed "internal" or with the clip, the outcome is the same and the clip only needed if internal flashing happens to be locked.

Which combination was slow, and which was fast? How did you measure the watts? Maybe there was something different going on ... like a background task going crazy for some other reason? Maybe you can repro and tell others how to reach that "slow, high watt" state.

I am not sure how exactly things work, but i think that when you are using skulls it should not matter at all what the content of that second chip is. It should simply not be needed/used because the BIOS will simply fit in the first chip.

@darnrain i see you active in several issues, that is great! But also in other cases i had a hard time understanding what exactly you are trying to say. It is always a good idea to describe things in detail and cover things like "how to repro" "expected result vs actual result"

Skulls v1.05 has issues. So that's why I flashed skulls v1.04. Intel ME is stored in bottom chip. The top chip is the bios.

No I think it was intel me doing crazy stuff in the background. Getting rid of that helped Arch linux run great again.

This is the video I used to install skulls v1.04

https://vimeo.com/177951809

hooked the clip to the top chip

sudo ./skulls.sh -b x230 -i rom image name

To remove intel me I did this.

git clone https://github.com/merge/skulls

hooked the clip to the bottom chip

make a backup of stock bottom chip first
./external_install_bottom.sh -k x230_stock_bottom.rom

remove Intel me
./external_install_bottom.sh -m d

I did have to black list the intel me modules in arch for it to boot faster

/etc/modprobe.d/blacklist.conf

#blacklist intel me
blacklist mei_me
blacklist mei

Note: when you remove intel me this way you can never go back to stock rom. You must use skulls aka coreboot from now on. That is why you should always make a backup of the bottom rom first before doing this. I am not responsible if you mess up your computer. This is just my notes on what I did to remove Intel me from my x230.

There is also an option in Skulls you can disable Intel me. Never used it but that my be easier than doing what I did. :)

My conky theme will show you watts used. The files are hidden. Just copy both files to your home directory and run conky. This is for my x230 but may work with other laptops.

sudo chmod +x .conkycurrent.sh

Conky.with.current.watts.Transparent.background.tar.gz

Thanks for the details!

I have skulls on an X230 and am currently under the impression that the content of the second chip does not matter at all, it will just be "dead code" because the stock ROM for the first chip was the only user. My custom kernel on gentoo likely does not have mei* modules, and if adding these modules would make the "dead chip" act again i would be surprised.

Say there is any kind of surprise call into ME only coming from the kernel, maybe documentation can be improved and it remains unclear whether it is a kernel issues or a skulls issue. From what i get from you i would say that one can either flush that second chip or not load mei* modules and skulls 1.04 will work "just fine", where 1.05 has issues not relevant here.

I will have to read docs and code (or even watch videos), maybe all that is already explained somewhere. And i might follow up and correct my current understanding.

But back to this issue. So you only see problems if the second chip has "stock" in it and the kernel uses mei*?

Note that module blacklisting will have to be done in the initrd as well, to make really sure the offending modules are never loaded. Check dmesg and the contents of you initrd so the modules do not sneak in before your rootfs takes over.

Thanks for the details!

I have skulls on an X230 and am currently under the impression that the content of the second chip does not matter at all, it will just be "dead code" because the stock ROM for the first chip was the only user. My custom kernel on gentoo likely does not have mei* modules, and if adding these modules would make the "dead chip" act again i would be surprised.

Say there is any kind of surprise call into ME only coming from the kernel, maybe documentation can be improved and it remains unclear whether it is a kernel issues or a skulls issue. From what i get from you i would say that one can either flush that second chip or not load mei* modules and skulls 1.04 will work "just fine", where 1.05 has issues not relevant here.

I will have to read docs and code (or even watch videos), maybe all that is already explained somewhere. And i might follow up and correct my current understanding.

But back to this issue. So you only see problems if the second chip has "stock" in it and the kernel uses mei*?

Your welcome,
Yep

I added this to grub and then updated.

GRUB_CMDLINE_LINUX_DEFAULT="modprobe.blacklist=mei modprobe.blacklist=mei_me"

lsmod is not showing the modules loaded. So I guess it worked.