parent
dc5b8d2367
commit
b432883234
|
@ -36,7 +36,7 @@ create a special keymap file for GRUB. [Learn how to build GRUB](../build/)
|
|||
When you've built GRUB, using `lbmk` (libreboot build system), take your kepmap
|
||||
file (generated by ckbcomp) and run it through `grub-mklayout` like so:
|
||||
|
||||
cat frazerty | ./grub/grub-mklayout -o frazerty.gkb
|
||||
cat frazerty | ./src/grub/grub-mklayout -o frazerty.gkb
|
||||
|
||||
Place the newly created `.gkb` file under `config/grub/keymap` in lbmk. When
|
||||
you build libreboot, a ROM image with GRUB payload and your newly created
|
||||
|
|
|
@ -253,7 +253,7 @@ default back to 3.
|
|||
|
||||
Libreboot locks CMOS/NVRAM settings, but you can change the default setting in
|
||||
the *ROM* by using the `-C` option in nvramtool. You can find this under the
|
||||
directory `coreboot/default/util/nvramtool` when downloading coreboot inside
|
||||
directory `src/coreboot/default/util/nvramtool` when downloading coreboot inside
|
||||
of lbmk by running the command:
|
||||
|
||||
./update project trees -f coreboot default
|
||||
|
|
|
@ -153,48 +153,3 @@ the `-b` flag in the `blobutil inject` command. For example, if you
|
|||
used `-b t440p_12mb` on a ROM image that actually corresponds
|
||||
to `t440pmrc_12mb`, then the required `mrc.bin` file would not be added
|
||||
and that ROM would not boot when flashed.**
|
||||
|
||||
**NOTE: In the Libreboot 20230319 src archive or git tag, the `blobutil`
|
||||
insert method is broken on Haswell configs that need `mrc.bin`, because it does
|
||||
not insert `mrc.bin` at the correct offset. This was fixed in revisions after
|
||||
the release, and will be available in the next release after that. Read
|
||||
the [Libreboot 20230319 update
|
||||
announcement](../../news/libreboot20230319_update.md) for more information.**
|
||||
|
||||
NOTE: the MAC changer makes use of `nvmutil`, which you can read more about in
|
||||
the [nvmutil documentation](nvmutil.md).
|
||||
|
||||
**WARNING: This is broken in Libreboot 20221214's src archive. It fails when
|
||||
attempting to use cbfstool, due to a faulty check in a script. This is fixed in
|
||||
recent Libreboot releases or revisions. The fix is as
|
||||
follows (though you really should use a new release by now):
|
||||
|
||||
Edit line 137 in `resources/scripts/blobs/inject`. The line in 20221214 says
|
||||
this:
|
||||
|
||||
make -C cd coreboot/default/util/cbfstool || Fail 'could not build ifdtool'
|
||||
|
||||
Modify it to say this:
|
||||
|
||||
make -C coreboot/default/util/cbfstool || Fail 'could not build cbfstool'
|
||||
|
||||
ALSO:
|
||||
|
||||
*When generating a MAC address*, the same script tries to build `nvmutil`
|
||||
from `/util/nvmutil`, in Libreboot 20221214. This was discovered on 10 January
|
||||
2023, based on user report on IRC. Fix it like so (already fixed, in latest
|
||||
Libreboot from Git):
|
||||
|
||||
Line 30, it says:
|
||||
|
||||
make -C /util/nvmutil || Fail 'failed to build nvmutil'
|
||||
|
||||
Change it to say:
|
||||
|
||||
make -C util/nvmutil || Fail 'failed to build nvmutil'
|
||||
|
||||
Until this is edited accordingly, the inject script will *exit* with non-zero
|
||||
status, and no blobs will be injected.
|
||||
|
||||
This has been fixed, following the Libreboot 20221214 release, but you must
|
||||
apply this fix yourself, if using *that* release.
|
||||
|
|
|
@ -157,47 +157,5 @@ used `-b t440p_12mb` on a ROM image that actually corresponds
|
|||
to `t440pmrc_12mb`, then the required `mrc.bin` file would not be added
|
||||
and that ROM would not boot when flashed.**
|
||||
|
||||
**NOTE: In the Libreboot 20230319 src archive or git tag, the `blobutil`
|
||||
insert method is broken on Haswell configs that need `mrc.bin`, because it does
|
||||
not insert `mrc.bin` at the correct offset. This was fixed in revisions after
|
||||
the release, and will be available in the next release after that. Read
|
||||
the [Libreboot 20230319 update
|
||||
announcement](../../news/libreboot20230319_update.md) for more information.**
|
||||
|
||||
NOTE: the MAC changer makes use of `nvmutil`, which you can read more about in
|
||||
the [nvmutil documentation](nvmutil.md).
|
||||
|
||||
**WARNING: This is broken in Libreboot 20221214's src archive. It fails when
|
||||
attempting to use cbfstool, due to a faulty check in a script. This is fixed in
|
||||
recent Libreboot releases or revisions. The fix is as
|
||||
follows (though, you really should use a newer release by now):
|
||||
|
||||
Edit line 137 in `resources/scripts/blobs/inject`. The line in 20221214 says
|
||||
this:
|
||||
|
||||
make -C cd coreboot/default/util/cbfstool || Fail 'could not build ifdtool'
|
||||
|
||||
Modify it to say this:
|
||||
|
||||
make -C coreboot/default/util/cbfstool || Fail 'could not build cbfstool'
|
||||
|
||||
ALSO:
|
||||
|
||||
*When generating a MAC address*, the same script tries to build `nvmutil`
|
||||
from `/util/nvmutil`, in Libreboot 20221214. This was discovered on 10 January
|
||||
2023, based on user report on IRC. Fix it like so (already fixed, in latest
|
||||
Libreboot from Git):
|
||||
|
||||
Line 30, it says:
|
||||
|
||||
make -C /util/nvmutil || Fail 'failed to build nvmutil'
|
||||
|
||||
Change it to say:
|
||||
|
||||
make -C util/nvmutil || Fail 'failed to build nvmutil'
|
||||
|
||||
Until this is edited accordingly, the inject script will *exit* with non-zero
|
||||
status, and no blobs will be injected.
|
||||
|
||||
This has been fixed, following the Libreboot 20221214 release, but you must
|
||||
apply this fix yourself, if using *that* release.
|
||||
|
|
|
@ -67,9 +67,9 @@ Finally, compile the `cbutils` payload (and you will then have the utils):
|
|||
./build fw grub
|
||||
|
||||
Among other things, this will produce a `cbfstool` executable under any of the
|
||||
subdirectories in `coreboot/` under `util/cbfstool/cbfstool
|
||||
subdirectories in `src/coreboot/` under `util/cbfstool/cbfstool`.
|
||||
|
||||
For example: `coreboot/default/util/cbfstool/cbfstool`
|
||||
For example: `src/coreboot/default/util/cbfstool/cbfstool`
|
||||
|
||||
The `cbfstool` utility is what you shall use. It is used to manipulate CBFS
|
||||
(coreboot file system) which is a file system contained within the coreboot
|
||||
|
|
|
@ -154,8 +154,8 @@ or multiple branches in the same tree; entirely separate directories are
|
|||
created, for each revision of coreboot used, each able to have its own patches.
|
||||
These can then be re-use appropriately, per mainboard. For example:
|
||||
|
||||
* `coreboot/default` is used by most mainboards.
|
||||
* `coreboot/cros` is used by cros devices.
|
||||
* `src/coreboot/default` is used by most mainboards.
|
||||
* `src/coreboot/cros` is used by cros devices.
|
||||
|
||||
This may be less efficient on disk usage, but it simplifies the logic greatly.
|
||||
Coreboot also uses its own toolchain called *crossgcc*, and crossgcc is in fact
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
% Libreboot Build System Audit 2 (new Libreboot release soon!)
|
||||
% Libreboot Build System Audit 2
|
||||
% Leah Rowe
|
||||
% 11 September 2023
|
||||
|
||||
This is *not* a new release announcement, but a new release *is* coming soon!
|
||||
This new audit has been the opening act, now concluded and the priority will
|
||||
now shift once again to new hardware support.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
|
|
@ -99,18 +99,3 @@ compiled from source. See:
|
|||
|
||||
[How to compile Libreboot from source](../docs/build)
|
||||
|
||||
If you have an *existing* clone of lbmk, where you built it, and you want to
|
||||
use it in place, you could do this:
|
||||
|
||||
```
|
||||
cd lbmk/ # obviously, you need to be in lbmk
|
||||
rm -Rf coreboot/default grub seabios payload/grub payload/seabios
|
||||
cd coreboot/coreboot
|
||||
git pull
|
||||
cd ../../
|
||||
git pull
|
||||
```
|
||||
Then simply build it as normal, and the new coreboot/grub/seabios will be
|
||||
pulled in.
|
||||
|
||||
Have fun!
|
||||
|
|
Loading…
Reference in New Issue