docs/install: document CONFIG_X86_IOPL_IOPERM
Signed-off-by: Leah Rowe <leah@libreboot.org>master
parent
2b2761eb47
commit
16ae385b84
|
@ -12,11 +12,47 @@ this notice. We will have more context at a future date.**
|
||||||
|
|
||||||
This section relates to installing libreboot on supported targets.
|
This section relates to installing libreboot on supported targets.
|
||||||
|
|
||||||
|
FLASH ERRORS (and workarounds)
|
||||||
|
=======================
|
||||||
|
|
||||||
|
Right out of the gate, some users may experience errors with flashrom when
|
||||||
|
using the internal programmer. They are:
|
||||||
|
|
||||||
|
/dev/mem access error
|
||||||
|
---------------------
|
||||||
|
|
||||||
NOTE: if running `flashrom -p internal` for software based flashing, and you
|
NOTE: if running `flashrom -p internal` for software based flashing, and you
|
||||||
get an error related to `/dev/mem` access, you should reboot with
|
get an error related to `/dev/mem` access, you should reboot with
|
||||||
`iomem=relaxed` kernel parameter before running flashrom, or use a kernel that
|
`iomem=relaxed` kernel parameter before running flashrom, or use a kernel that
|
||||||
has `CONFIG_STRICT_DEVMEM` not enabled.
|
has `CONFIG_STRICT_DEVMEM` not enabled.
|
||||||
|
|
||||||
|
ERROR: Could not get I/O privileges
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
Error message: `ERROR: Could not get I/O privileges (Function not implemented)`
|
||||||
|
|
||||||
|
If you get this while running `flashrom -p internal -w filename.rom` (or any
|
||||||
|
internal flash operation), note: flashrom heavily uses ioperm/iopl functions
|
||||||
|
to operate the internal flasher, at least on x86 machines.
|
||||||
|
|
||||||
|
See: <https://lwn.net/Articles/804143/>
|
||||||
|
|
||||||
|
Yeah, just enable `CONFIG_X86_IOPL_IOPERM` in your Linux kernel. This is
|
||||||
|
a *build-time* option, so you must re-compile your kernel, or find a build that
|
||||||
|
has this option enabled (IOPL emulation).
|
||||||
|
|
||||||
|
Here's a handy-dandy guide for building a kernel from source:
|
||||||
|
<https://www.cyberciti.biz/tips/compiling-linux-kernel-26.html>
|
||||||
|
|
||||||
|
**BSD users:** On OpenBSD and NetBSD if you get similar errors, note that it
|
||||||
|
should work here, but you need to boot with `kern.securelevel=-1`.
|
||||||
|
See: [NetBSD securelevel manual](https://wiki.netbsd.org/tutorials/kernel_secure_levels/)
|
||||||
|
and [OpenBSD securelevel manpage](https://man.openbsd.org/securelevel).
|
||||||
|
|
||||||
|
Otherwise, if you get such errors, it may just be that you're not root. You
|
||||||
|
must run flashrom as root, at least to use the internal flasher (using external
|
||||||
|
USB flashing dongles doesn't normally require root).
|
||||||
|
|
||||||
SAFETY WARNING!
|
SAFETY WARNING!
|
||||||
====================================================================
|
====================================================================
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue