diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2020-09-04 15:24:29 +0200 |
---|---|---|
committer | Martin Borg <martin.borg@enea.com> | 2020-09-14 11:37:41 +0200 |
commit | 55b49a162cc4e871106f6e57108581a92ae35832 (patch) | |
tree | d5ba2e4977e71294706d36c00b6760ecd9a8d095 /images/enea-nfv-access-host-common.inc | |
parent | 9f469b481144dfebef413bbb994c97b120a41c6a (diff) | |
download | meta-el-nfv-access-test_branchout.tar.gz |
grub: Fix loader link, unify grub.cfg locationstest_branchout_newtest_branchout
1. Fix an obviously broken link created during installation
This led to issues creating/editing the grubenv file during NFVA
installation calls to `grub-mkconfig`.
These errors were not observed before, since stderr was not logged
during the installation.
Also, the link was fixed later on, so subsequent calls to grub-*
utilities no longer complained about it; the error only happened
during the NFVA installation.
2. Unify expected locations of grub.cfg
Previously, there were 3 possible locations of grub.cfg used
throughout the layers/scripts:
- /boot/loader/grub.cfg - the proper location, used by NFVA installer
components, as well as ostree related tooling;
- /boot/grub/grub.cfg - used in some recipes, but not present on the
board currently. Also the expected default location of our current
grub-* utilites, since we build grub without an explicit
`--with-grubdir` configure argument, which defaults (guessing) to
the `PACKAGE` name, in our case `grub` (and not `grub2`);
- /boot/grub2/grub.cfg - used in OTA image scripts by linking it to
/boot/loader/grub.cfg - however the link is later converted into
a real file, ending up duplicating the real grub.cfg (although they
are identical content-wise, they might confuse the user);
To settle this confusion, we will keep only /boot/loader/grub.cfg as
the true configuration file and convert /boot/grub2 to a symlink
pointing at /boot/loader, while also renaming it to /boot/grub.
This has the benefit of "fixing" all grub-* tools which try to write
their configuration files to /boot/grub. An alternative for that would
be building grub2 with the configure flag `--with-grubdir=loader`, but
that might break other things, so a symlink for the traditional
/boot/grub is safer.
Before creating this link, `grub-editenv list` would not work without
explicitly providing the filepath of the `/boot/loader/grubenv` file,
which might not be obvious for the end user.
Also, before this link, `grub-mkconfig` required explicitly setting the
`-p` (prefix) to '/' while running on the target.
Both of these issues will be fixed with the new link.
Since our ostree version (2018.7) is quite old, it requires one backport
for it to also check for /boot/grub/grub.cfg and not only
/boot/grub2/grub.cfg. The backport will be handled in the
meta-enea-virtualiation layer, hence this change's dependency.
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Depends-on: I6bdc80e08a272e1534dd63717348bfaa50807d93
Change-Id: If8a61c89200414922a3f36e6c8fca58d7d3b6495
Diffstat (limited to 'images/enea-nfv-access-host-common.inc')
0 files changed, 0 insertions, 0 deletions