MrChromebox / firmware

Issue tracker for firmware issues
78 stars 15 forks source link

Request for support "Lenovo Ideapad Slim 3i Chromebook Plus" #643

Closed micheleangelofabbri closed 2 months ago

micheleangelofabbri commented 4 months ago

Hello all,

I somewhat recently picked up a "Lenovo Ideapad Slim 3i Chromebook Plus" on the cheap during a recent sale and decided to see if I could get Debian or PopOS running on it. I had great success with the entire process up until the reboot after installing Linux. The problem I have sounds incredibly similar to the issue laid out in the following post - Flashed Lenovo Ideapad Slim 3i Chromebook Now Unrecognized Platform - Unable to Update

It looks like s1gnate and chipmonger were able to have some success with it. For me:

I’m at a bit of a loss at this point. Is the disparity in the board name something to be concerned with or might it be something completely unrelated? Looking over the list of supported devices, I do not see the Plus version of this devices present.

I’m a bit out of my element when it comes to the differences in these boards and UEFI stuff. Could anyone point me in the right direction for further troubleshooting?

MrChromebox commented 4 months ago

Looking over the list of supported devices, I do not see the Plus version of this devices present.

because, as emphasized at the top of the supported devices list, the make/model are irrelevant. And trying to list every marketing name variation of a device would be exhausting.

The only thing that matters is that the firmware flashed to your device is built from the correct mainboard profile. In most cases, this is a straightforward 1:1 mapping. It would seem not to be here though -- your HWID is PUJJOTEEN, but the board name is pujjoteen15w (which is a slightly different board). The easiest way to fix this is likely for you to go back to stock ChromeOS, then re-flash the firmware once I've adjusted the script HWID->firmware image mapping.

micheleangelofabbri commented 4 months ago

Thank you for the quick response and all the incredible work on this project. I've already gone back to the stock ChromeOS and eagerly await your updates.

MrChromebox commented 4 months ago

I've updated the script so it should flash the pujjoteen15w firmware now - you can verify by the filename being downloaded when flashing. hopefully that resolves your issues.

micheleangelofabbri commented 4 months ago

Amazing, I'll give it a whirl. I'll update tomorrow on my success/failure.

micheleangelofabbri commented 4 months ago

I ran the updated script and got the pujjoteen15w image this time. Unfortunately I'm still running into similar problems with the boot to debian or popos only occasionally working. I've tried with and without secure boot to see if that made a difference. Something else worth mentioning that might be a concern is that this machine has an internal eMMC device for the hard drive. I'm not sure if that would affect anything though. Booting from flash drives works flawlessly.

PXL_20240531_113249362 PXL_20240531_131010907

Thanks again for the time and attention on this problem.

MrChromebox commented 4 months ago

Does the device still show 0MB RAM on the firmware setup screen? Are you able to boot a live Linux USB and get a cbmem log?

wget https://mrchromebox.tech/files/util/cbmem.tar.gz tar zxf cbmem.tar.gz sudo ./cbmem -1 > cbmem.log

attach log here

micheleangelofabbri commented 4 months ago

Sadly, the coreboot screen does still read 0MB RAM. Log file has been attached 🪵

cbmem.log

MrChromebox commented 4 months ago

how about the outputs of sudo dmidecode > dmidecode.log and sudo dmesg > dmesg.log -- thx

micheleangelofabbri commented 4 months ago

More logs 🪵🪵 dmesg.log dmidecode.log

micheleangelofabbri commented 3 months ago

@MrChromebox just checking in to see if there is anything else I should be doing on my end to help troubleshoot. Thank you again for the time and effort you've put into this project already <3

MrChromebox commented 3 months ago

dmidecode shows that coreboot/FSP is failing to generate a valid table with the memory info, which is why the reported RAM is 0MB. I'd like to give a newer coreboot/FSP build a try, shoot me an email or ping me on Discord and I'll give you a link to a 2405 test build to try

micheleangelofabbri commented 3 months ago

I was able to flash with the test fw-util that was provided via email.

We are now successfully reading the correct amount of RAM in coreboot 🥳 PXL_20240606_204240990

And here is the cbmem.log as well. cbmem_2024-06-06.log

Unfortunately, I am still running into the same boot issues when attempting to get into Debian. Occasionally it boots correctly, but most of the time I'm getting the same boot errors. I tried a fresh install of Debian as well just in case that would help anything, but alas the same problems persist.

MrChromebox commented 3 months ago

this sounds like some eMMC tuning is needed in edk2, which I'm guessing Google does in depthcharge for ChromeOS. I assume you have the same issue when booting via RW_LEGACY firmware?

micheleangelofabbri commented 3 months ago

I had not tried to use the RW_LEGACY firmware, but I can certainly explore that option if you think it is a worthwhile pursuit.

Looking though a bit of the website, it sounds as though I will have to re-enable firmware write-protect for the utility script to give me the option to use RW_LEGACY. Correct?

MrChromebox commented 3 months ago

I had not tried to use the RW_LEGACY firmware, but I can certainly explore that option if you think it is a worthwhile pursuit.

not sure it's worth going back to stock for

Looking through a bit of the website, it sounds as though I will have to re-enable firmware write-protect for the utility script to give me the option to use RW_LEGACY. Correct?

not at all. You just need to restore the stock firmware, exit/-re-run the script, then flash the RW_LEGACY firmware (and set the firmware boot flags to legacy boot + long delay)

jmccrohan commented 3 months ago

Hi @MrChromebox just a quick note to say thanks for all your work on this.

I installed Debian Testing last night on my PUJJOTEEN-JQLW and all working very smoothly now.

For reasons unknown I received an "failed: verify it contains a 64-bit UEFI OS" error on reboot after running Debian (net)installer. The EFI files were there on boot partition and debian entry was present in coreboot menu.

In any case, I resolved the issue after using netinstaller to chroot into the root and boot partitions and reinstall GRUB2.

Thanks again!