Hi, I'm a student from China and I've been learning flashrom,So I would like to know whether the flashrom can support extracting BIOS firmware images under Windows 7/10. If I don't have the Internet(Just LAN),how do I remotely obtain a BIOS image from another computer use flashrom? Maybe my English not very well. Thank you very much.
Looking forward to your reply.
Good day! The flashrom software has the "internal" mode - using which, you may be able to access the BIOS chip directly from your OS, if your hardware is supported. In example:
sudo flashrom -p internal:laptop=force_I_want_a_brick,amd_imc_force=yes -r ./build/coreflop.rom
I think this mode is available only on Linux (may have to boot with "iomem=relaxed" kernel flag) - however, you may boot a Linux LiveUSB on your target PC to use Linux without the installation in a live mode.
As for "how do I remotely obtain a BIOS image from another computer using flashrom" - if this internal mode is available to you, and a target PC is running Linux, you can remotely connect to this PC using a SSH (or VPN + SSH), run the flashrom command to read a BIOS image from a chip, and then - using scp - copy the obtained BIOS image to your own PC
On Fri, Jan 21, 2022 at 3:26 AM zy 2018111635@bupt.cn wrote:
Hi, I'm a student from China and I've been learning flashrom,So I would like to know whether the flashrom can support extracting BIOS firmware images under Windows 7/10. If I don't have the Internet(Just LAN),how do I remotely obtain a BIOS image from another computer use flashrom? Maybe my English not very well. Thank you very much.
Looking forward to your reply.
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
Hi,
On Sun, Jan 23, 2022 at 9:49 AM Mike Banon mikebdp2@gmail.com wrote:
Good day! The flashrom software has the "internal" mode - using which, you may be able to access the BIOS chip directly from your OS, if your hardware is supported. In example:
sudo flashrom -p internal:laptop=force_I_want_a_brick,amd_imc_force=yes -r ./build/coreflop.rom
Mike, can you please explain why you've suggested using such a dangerous command without even knowing which system it's going to be run on? The `force_I_want_a_brick` name is intentional, as flashrom can cause problems on certain laptops (most laptops from the last decade should be fine, though), c.f. https://www.flashrom.org/Laptops for a detailed explanation. And you've suggested using `amd_imc_force` even though it only applies to AMD southbridges using SPI.
I know you're just trying to help, but I'm afraid that suggesting people to run dangerous commands on unknown hardware without mentioning the risks is not helpful.
I think this mode is available only on Linux (may have to boot with "iomem=relaxed" kernel flag) - however, you may boot a Linux LiveUSB on your target PC to use Linux without the installation in a live mode.
On x86, the internal programmer should also work on most BSDs and Darwin (macOS). It might even work on Solaris.
On Linux, the `iomem=relaxed` kernel parameter can be used when a kernel module conflicts with the resources flashrom wants to use, but it reduces the system's security. On Intel systems, unloading the `lpc_ich` kernel module should allow using flashrom's internal programmer without having to boot with `iomem=relaxed`.
As for "how do I remotely obtain a BIOS image from another computer using flashrom" - if this internal mode is available to you, and a target PC is running Linux, you can remotely connect to this PC using a SSH (or VPN + SSH), run the flashrom command to read a BIOS image from a chip, and then - using scp - copy the obtained BIOS image to your own PC
On Fri, Jan 21, 2022 at 3:26 AM zy 2018111635@bupt.cn wrote:
Hi, I'm a student from China and I've been learning flashrom,So I would like to know whether the flashrom can support extracting BIOS firmware images under Windows 7/10. If I don't have the Internet(Just LAN),how do I remotely obtain a BIOS image from another computer use flashrom? Maybe my English not very well. Thank you very much.
On Windows, flashrom's internal programmer is unusable. It requires libpci and raw memory access; libpci is not available on Windows as far as I know, and I think Windows restricts raw memory access from userspace code for security reasons. One could try to implement the required functionality in a driver, but one would also need to convince Microsoft to sign the driver. It could be done, but it's not easy. No one is working on this, as far as I know.
Looking forward to your reply.
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
-- Best regards, Mike Banon Open Source Community Manager of 3mdeb - https://3mdeb.com/ _______________________________________________ flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
Best regards, Angel
Hi there Angel, thank you for your reply and clarification! Please tell, is this command
sudo flashrom -p internal:laptop=force_I_want_a_brick,amd_imc_force=yes -r ./build/coreflop.rom
- dangerous to run, even if it's only trying to read (-r) and not write? (aside from "irritating the EC" possibly causing a sudden power-off). As for "amd_imc_force=yes", sorry was my mistake
On Mon, Jan 24, 2022 at 3:28 PM Angel Pons th3fanbus@gmail.com wrote:
Hi,
On Sun, Jan 23, 2022 at 9:49 AM Mike Banon mikebdp2@gmail.com wrote:
Good day! The flashrom software has the "internal" mode - using which, you may be able to access the BIOS chip directly from your OS, if your hardware is supported. In example:
sudo flashrom -p internal:laptop=force_I_want_a_brick,amd_imc_force=yes -r ./build/coreflop.rom
Mike, can you please explain why you've suggested using such a dangerous command without even knowing which system it's going to be run on? The `force_I_want_a_brick` name is intentional, as flashrom can cause problems on certain laptops (most laptops from the last decade should be fine, though), c.f. https://www.flashrom.org/Laptops for a detailed explanation. And you've suggested using `amd_imc_force` even though it only applies to AMD southbridges using SPI.
I know you're just trying to help, but I'm afraid that suggesting people to run dangerous commands on unknown hardware without mentioning the risks is not helpful.
I think this mode is available only on Linux (may have to boot with "iomem=relaxed" kernel flag) - however, you may boot a Linux LiveUSB on your target PC to use Linux without the installation in a live mode.
On x86, the internal programmer should also work on most BSDs and Darwin (macOS). It might even work on Solaris.
On Linux, the `iomem=relaxed` kernel parameter can be used when a kernel module conflicts with the resources flashrom wants to use, but it reduces the system's security. On Intel systems, unloading the `lpc_ich` kernel module should allow using flashrom's internal programmer without having to boot with `iomem=relaxed`.
As for "how do I remotely obtain a BIOS image from another computer using flashrom" - if this internal mode is available to you, and a target PC is running Linux, you can remotely connect to this PC using a SSH (or VPN + SSH), run the flashrom command to read a BIOS image from a chip, and then - using scp - copy the obtained BIOS image to your own PC
On Fri, Jan 21, 2022 at 3:26 AM zy 2018111635@bupt.cn wrote:
Hi, I'm a student from China and I've been learning flashrom,So I would like to know whether the flashrom can support extracting BIOS firmware images under Windows 7/10. If I don't have the Internet(Just LAN),how do I remotely obtain a BIOS image from another computer use flashrom? Maybe my English not very well. Thank you very much.
On Windows, flashrom's internal programmer is unusable. It requires libpci and raw memory access; libpci is not available on Windows as far as I know, and I think Windows restricts raw memory access from userspace code for security reasons. One could try to implement the required functionality in a driver, but one would also need to convince Microsoft to sign the driver. It could be done, but it's not easy. No one is working on this, as far as I know.
Looking forward to your reply.
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
-- Best regards, Mike Banon Open Source Community Manager of 3mdeb - https://3mdeb.com/ _______________________________________________ flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
Best regards, Angel
Hi Mike,
On 29.01.22 15:50, Mike Banon wrote:
Hi there Angel, thank you for your reply and clarification! Please tell, is this command
sudo flashrom -p internal:laptop=force_I_want_a_brick,amd_imc_force=yes -r ./build/coreflop.rom
- dangerous to run, even if it's only trying to read (-r) and not
write? (aside from "irritating the EC" possibly causing a sudden power-off).
if one doesn't know the mainboard, it is indeed dangerous even for probing. Otherwise it wouldn't be a scary option ;)
If one knows the mainboard and that the flash chip is *not* connected via LPC/FWH _through_ the EC, then one can remove the need of this option by adding an entry to `board_enable.c`.
Nico