<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi,<div>I'm in basically the same situation, having just got a g505s. I'm looking at chronicling my experience on an ifixit article as I go, though I don't really have any time right now while in class. Right now the winter break looks most likely for some serious coreboot fun.</div><div><br></div><div>Sadly, the ebay seller sent me a G505s without discrete graphics chip when one with a chip was advertised. All things considered though, the machine is in really good condition and the discrete graphics chip afaik doesn't work in coreboot (yet) and has to be disabled to boot successfully (that and crossfire never caught on) so I'm not too broken up about it. Still if it ever is supported properly, it might make a nice machine learning accelerator even if crossfire graphics never gets good support. (and there are tempting replacement boards for 60 bucks available should I get adventurous.)</div><div><br></div><div>As for your questions:</div><div>A) I would have thought pi would work, though I haven't looked at all into the flashing procedure yet</div><div>B) I would back up the factory image SEVERAL times and compare them to make sure they're the same before doing anything</div><div>C) See above answers. idk on this, haven't got there yet</div><div>D) Flash with factory EC firmware. Origami is an *amazing* project, but it's still going to be a bit before even "just boots the board" is possible</div><div>E) There was something a long time ago about using HVM (hardware virtualization) causing Qubes to freeze on the G505s under coreboot. I don't know if it was ever resolved or could even be reproduced. I think at the very least you want to have the most up-to-date microcode patch to fix a RANGE of issues (irq privilege escalation, IOMMU bugs, proper spectre V2 mitigation, ect.) with the stock microcode that's burned into the CPU.</div><div><br></div><div>Speaking of microcode, I've seen on other threads that the microcode has to be manually updated for some boards, and for the g505s this is especially complicate with many manual steps. Can anyone provide a more explicit series of steps than the below? Is this something being worked on?<br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Regarding a NOTE from your last message:<br><span class="m_-6074124483044844969gmail-im">> For <span class="m_-6074124483044844969gmail-il">microcode</span> embedding in coreboot to work you must check<br></span><span class="m_-6074124483044844969gmail-im">> both the "generate <span class="m_-6074124483044844969gmail-il">microcode</span> update from tree" option and the<br></span><span class="m_-6074124483044844969gmail-im">> "use non-free blob repo" option -<br></span><span class="m_-6074124483044844969gmail-im">> doing the first but not the second will result in a silent fail.<br></span>It works for KGPE-D16 but doesn't work for <span class="m_-6074124483044844969gmail-il" style="background-color:rgb(255,255,255)">G505S</span> and maybe some other<br>AMD boards. Currently the only working way for those "other boards" to<br>get the latest <span class="m_-6074124483044844969gmail-il" style="background-color:rgb(255,255,255)">microcodes</span> is to " xxd -i -c 8 " a <span class="m_-6074124483044844969gmail-il" style="background-color:rgb(255,255,255)">microcode</span> binary and<br>then put this array of hex values into their .c file containing a<br><span class="m_-6074124483044844969gmail-il" style="background-color:rgb(255,255,255)">microcode</span> ( path like [1] ) . Tired of doing this manually, yesterday<br>I wrote these <span class="m_-6074124483044844969gmail-il" style="background-color:rgb(255,255,255)">microcode</span> updating scripts :<br><a href="https://review.coreboot.org/c/coreboot/+/28425" rel="noreferrer" target="_blank">https://review.coreboot.org/c/coreboot/+/28425<br></a>AMD <span class="m_-6074124483044844969gmail-il" style="background-color:rgb(255,255,255)">microcodes</span>: scripts for applying the unofficial (not-merged-yet) updates<br>Put those 4 files to your freshly cloned coreboot directory,<br>run ./get_ucode_patches.sh , ./check... and ./apply... ,<br>and your fresh coreboot now has the latest <span class="m_-6074124483044844969gmail-il" style="background-color:rgb(255,255,255)">microcodes</span> ;-)<br>But thats only for those "other boards" like <span class="m_-6074124483044844969gmail-il" style="background-color:rgb(255,255,255)">G505S</span>. To get the latest<br><span class="m_-6074124483044844969gmail-il" style="background-color:rgb(255,255,255)">microcode</span> for your KGPE-D16, you may also need to patch its'<br>microcode_amd_fam15h.bin with a new 2018 <span class="m_-6074124483044844969gmail-il" style="background-color:rgb(255,255,255)">microcode</span> which sadly is not<br>merged yet neither to linux-firmware nor to coreboot<br>[1] example of a path to .c file with <span class="m_-6074124483044844969gmail-il" style="background-color:rgb(255,255,255)">microcode</span> -<br>./coreboot/src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/KB/F16KbId7001MicrocodePatch.c</blockquote><div><br></div><div>That's from this thread here:</div><div><a href="https://mail.coreboot.org/pipermail/coreboot/2018-August/087279.html" target="_blank">https://mail.coreboot.org/pipermail/coreboot/2018-August/087279.html</a><br></div><div>There are also instructions in this thread, that I can't make sense of:</div><div><a href="https://mail.coreboot.org/pipermail/coreboot/2018-August/087150.html" target="_blank">https://mail.coreboot.org/pipermail/coreboot/2018-August/087150.html</a></div><div><br></div>Sincerely,<br>    -Matt</div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Sun, Sep 23, 2018 at 10:09 AM awokd via coreboot <<a href="mailto:coreboot@coreboot.org" target="_blank">coreboot@coreboot.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Anac:<br>
> Greetings<br>
> <br>
> Following various recommendations on Lenovo G505s, I finally got myself <br>
> a A10-5750M with dedicated GPU. At least I think it has dedicated <br>
> graphics, due to the following output:<br>
> <br>
> # inxi -G<br>
> <br>
> Card-1: AMD Richland [Radeon HD 8650G]<br>
> Card-2: AMD Sun Pro [Radeon HD 8570A/8570M]<br>
> <br>
> While waiting for some AliExpress deliveries, I'd like to ask a few <br>
> questions that worry me. I have never flashed anything, but I'm used to <br>
> Linux, the command line and soldering.<br>
> <br>
> A)<br>
> According to <br>
> <a href="http://dangerousprototypes.com/docs/Flashing_a_BIOS_chip_with_Bus_Pirate" rel="noreferrer" target="_blank">http://dangerousprototypes.com/docs/Flashing_a_BIOS_chip_with_Bus_Pirate</a><br>
> either a Bus Pirate or a CH341A programmer is needed for flashing <br>
> CoreBoot. LibreBoot folks can just take a Raspberry Pi (or better a <br>
> Beagle Bone Black) and a SOIC clip, while CoreBoot needs more equipment. <br>
> Why is that?<br>
> Somewhere it reads that the CH341A was faster than BusPirate. But is it <br>
> faster than a Raspi or BeagleBone?<br>
> Btw. Flashrom does in fact support RaspberryPi: <br>
> <a href="https://www.flashrom.org/RaspberryPi" rel="noreferrer" target="_blank">https://www.flashrom.org/RaspberryPi</a><br>
> <br>
> The reason for asking is because I really don't want to brick anything <br>
> and/or destroy the G505s. And I don't know how to operate a CH341A and <br>
> feel that I'm not really in control of this whole undertaking. Hence, <br>
> I'm trying to keep things as clear and easy as possible.<br>
<br>
No special hardware requirements for Coreboot vs. Libreboot. As long as <br>
Flashrom supports it, the Raspi should work fine.<br>
<br>
> B)<br>
> The instructions on <br>
> <a href="http://dangerousprototypes.com/docs/Flashing_a_BIOS_chip_with_Bus_Pirate#Flashing" rel="noreferrer" target="_blank">http://dangerousprototypes.com/docs/Flashing_a_BIOS_chip_with_Bus_Pirate#Flashing</a> <br>
> suggest the following order of operations:<br>
> 1) receive a flashrom help<br>
> 2) erase a flash chip<br>
> 3) read from a flash chip<br>
> 4) write to a flash chip<br>
> 5) verify a flash chip against the file<br>
> <br>
> But should't the original content of the flash chip first got read and <br>
> saved before erasing it? Just in case anything goes wrong and the <br>
> original BIOS would be needed for some reason? So, step 2 and 3 are to <br>
> be swapped, right?<br>
<br>
Not sure what step #2 is for there. I'd make a backup image of the <br>
existing flash, then write the new one.<br>
<br>
> C)<br>
> Which Coreboot version should I use? v4.6 or the newest v4.8.1 ? I <br>
> remember @Taiidan mentioning that he used v4.6 and somewhere else it <br>
> reads that there will be some major changes after v4.8. Should I avoid it?<br>
<br>
Try newest, go back to older if problems.<br>
<br>
> D)<br>
> About flashing KB9012: Is it advisable to flash it with Origami-EC ? <br>
> Getting rid of serial numbers sounds nice. But is it save to do? Or is <br>
> there a risk of bricking the KB9012?<br>
> <a href="http://git.code.paulk.fr/gitweb/?p=origami-ec.git;a=summary" rel="noreferrer" target="_blank">http://git.code.paulk.fr/gitweb/?p=origami-ec.git;a=summary</a><br>
> <a href="http://dangerousprototypes.com/docs/Flashing_KB9012_with_Bus_Pirate" rel="noreferrer" target="_blank">http://dangerousprototypes.com/docs/Flashing_KB9012_with_Bus_Pirate</a><br>
<br>
Have not attempted. If you want to, recommend getting Coreboot working <br>
first, then work on it separately.<br>
<br>
> E)<br>
> This machine is going to be a Qubes workstation. Are there any special <br>
> Coreboot options for Qubes OS that one should be aware of?<br>
<br>
See some further discussion here: <br>
<a href="http://dangerousprototypes.com/docs/Lenovo_G505S_hacking" rel="noreferrer" target="_blank">http://dangerousprototypes.com/docs/Lenovo_G505S_hacking</a><br>
<br>
> Thank you! And thanks for all the work that the good folks from <br>
> dangerousprototypes have done and shared!<br>
> <br>
> <br>
> <br>
<br>
-- <br>
coreboot mailing list: <a href="mailto:coreboot@coreboot.org" target="_blank">coreboot@coreboot.org</a><br>
<a href="https://mail.coreboot.org/mailman/listinfo/coreboot" rel="noreferrer" target="_blank">https://mail.coreboot.org/mailman/listinfo/coreboot</a><br>
</blockquote></div>