reynhout / chrx

Chromebook Unix
422 stars 56 forks source link

Chrx fails on ChromeOS 85 #98

Closed JonasBBX closed 4 years ago

JonasBBX commented 4 years ago

im having this problem when i run the command to install it and its weird cause i have ctrl-L seabios booting enabled[ Screenshot 2020-07-06 at 21 24 22

reynhout commented 4 years ago

Interesting. Thanks for the info!

Not sure what's going on yet, I'll see if I can reproduce.

That message is displayed when the check for RW_LEGACY firmware fails. The command to check is /usr/sbin/mosys eeprom map | grep RW_LEGACY. This has worked for many years, and has definitely worked on EDGAR...it's possible that a new ChromeOS update alters behavior...? I'll see what I can find.

JonasBBX commented 4 years ago

No worries @reynhout, a quick powerwash fixed this issue im not sure why it happened to begin with but thanks for looking into it really means a lot.

reynhout commented 4 years ago

@jonasthenoob Thanks for the update, and glad you got it working! FWIW, I don't have an EDGAR, but I was not able to repro on a different Braswell machine...sounds like your device was just in a wonky state.

ghost commented 4 years ago

I'm actually having the same exact error message show up on Pixelbook (eve). This wasn't an issue when I last ran the chrx script in April, so either the May update to 3.0.1 broke the script for me, or a Chrome OS update broke it. I'm on Chrome OS 85 (beta). I'll try downgrading to stable and see if I can get chrx to work. I'll report back with my findings.

FWIW, I already tried a Powerwash to no avail.

reynhout commented 4 years ago

@justathoughtor2 Interesting. I don't think there are any relevant changes in chrx, so I lean toward a ChromeOS change. But please let us know what you learn!

reynhout commented 4 years ago

The ChromeOS command that chrx wants to use is /usr/sbin/mosys eeprom map | grep RW_LEGACY.

If this fails, chrx will report the given error message. There are a few reasons it might fail -- e.g. the mosys command might be moved (or removed), or a new version might require different parameters. If you hit the error again, and are able to pastebin the output of sudo /usr/sbin/mosys, that would be a great help in debugging!

ghost commented 4 years ago

@reynhout Sorry, didnt get the output of that command before downgrading to stable. But downgrading to stable resolved the issue; I was able to successfully run chrx as normal. Definitely seems to be an incompatibility with Chrome OS 85 (and possibly higher).

UPDATE: I can tell you for sure that the mosys command failed on 85. I don't have the precise output, but it was something along the lines of "command does not exist". So that may be causing the issue based on your message. I just didn't think to capture the output for you...

reynhout commented 4 years ago

@justathoughtor2 Got it, that's great info, thank you!

I'll reopen this ticket and test on the newest ChromeOS.

RedPCat commented 4 years ago

I've figured out what caused the problem. It only supports 84 and under right now.

It works fine during Pre-85 aka 84 & under.

RedPCat commented 4 years ago

So... It works on Chrome OS 84 Stable and under (Chrome OS 84 beta/dev also)

iceblink commented 4 years ago

That mosys command was removed here: https://chromium-review.googlesource.com/c/chromiumos/platform/mosys/+/2216234

You can accomplish something similar with the dump_fmap command:

flashrom -r /tmp/bios.bin
dump_fmap -p /tmp/bios.bin RW_LEGACY
reynhout commented 4 years ago

@iceblink That makes perfect sense. Thank you!

reynhout commented 4 years ago

This should be fixed in chrx-3.0.2. Thanks for the help!