Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/getsolus/clr-boot-manager
Kernel & Boot Loader Management
https://github.com/getsolus/clr-boot-manager
Due to our repair vs 1:1 "is installed" method changes, it is possible that
a kernel may be aske...
Now that we no longer write out separate GRUB2 entry files, we have a simple
test to ensure that...
This change will ensure that the newly selected default kernel is always
the first in the menu, ...
Given the nature of a GPT system, it is permitted to have a legacy boot
partition, *and* an EFI ...
With a GPT disk, in native mode, we should ensure that we only use syslinux
if the native system...
Signed-off-by: Ikey Doherty <[email protected]>
698dfc5724da0283de401a75bfd65aaeefd08dc3 authored almost 8 years ago
In accordance with issue #53, we must only use the PartUUID for root=
entries when we *know* tha...
Previously the modify_bootloader invocation would attempt to reinit itself
with the abs_bootdir....
In the event that the boot dir exists, we can realpath it to collapse our
returned path to remov...
This test exposes bugs within the core cbm_inspect_root function, by
validating exactly *which* ...
The logic is now changed per issue #54 to properly isolate each image
configuration, and to make...
Add language under requirements to specify more precisely what
clr-boot-manager's purpose is reg...
Signed-off-by: Ikey Doherty <[email protected]>
7910f7b2a2dded657f74cafd344742a9da67ef63 authored almost 8 years ago
This mechanism is used as a fallback when all other methods are unavailable,
i.e. a non GPT non ...
Signed-off-by: Ikey Doherty <[email protected]>
c024ea3930c2d2544e3bd89a258ff8bad327aa89 authored almost 8 years ago
The README now indicates that the project isn't UEFI-specific anymore,
and shows (briefly) how a...
The primary difference between our "core" bootloaders and the upcoming GRUB2
support, is that in...
These are "permanent" paths in the existing implementations of CBM
compatible distros, so they s...
Signed-off-by: Ikey Doherty <[email protected]>
5324a38b8732ded87857d40d0033a3b29bac8b14 authored almost 8 years ago
Many distributions permit building out of tree modules against the headers
for each kernel. To a...
In order to meet full UEFI compliance, and to enable secure boot, we must
now install our kernel...
This completely broke the condition to effectively return true == true.
Luckily our *current* te...
We now use a new target anonymous struct within the kernel to define the
final basename paths, t...
This change introduces some namespacing within the Kernel struct itself
so that members are now ...
Though we init with built-in defaults, later in our lifetime we may be
presented with a differen...
We may, in certain dual boot scenarios, encounter paths on the ESP that
we don't expect. Previou...
We now make the bootloader management somewhat more intelligent by
selecting them based on a boo...
Signed-off-by: Ikey Doherty <[email protected]>
e3f4b03d947b0a2d31e091f50b26edabe68286fc authored almost 8 years ago
This issue was flagged by clang as GCC seems to be skipping the more obvious
compilation warning...
Our log levels are an unsigned enum, so mixing those lead to redundant
checks, i.e. <= 0 when it...
Signed-off-by: Ikey Doherty <[email protected]>
1baf0d2b5eff6e763098b4676a143cb630baf125 authored almost 8 years ago
This is used to describe in an obvious sense the purpose and application
for a given bootloader ...
The signedness issue was found when compiling with clang, by forcing the
unsigned enum. Also not...
Clang recently does support zero initialisation of structs, but even to this
day it continues to...
This will help in recovering the coverage numbers that have been lost to
untestable malloc-failu...
This is a very large function and shouldn't be rlined at all, reduce the
overall weight of the o...
This function will, from the perspective of the client code, *always*
return something. There is...
To allow further mocking, we ensure we proxy the mount family calls through
the system vtable, a...
This ensures we can continue to mock out access to the blkid library for
when we add legacy mock...
This test suite asks all the wrong questions and is very much tied
to the old architecture. Thus...
Now that we only use mount/umount family via the system vfunc table, we
can safely push these ca...
In order to help improve the coverage situation, we're removing the euid
check here that prevent...
This change adds a new skeletal test designed specifically for the
legacy boot codepath. It deli...
This test checks the basic kernel install functionality in native mode
for both legacy & UEFI bo...
Reaching high levels of coverage within clr-boot-manager has been very
hard due to relying heavi...
To allow future expansion of coverage and testing, we ensure that the
core library only uses blk...
To further increase safety in testing, and coverage of the code itself,
we add a new system ops ...
This has failed to appear in any version of systemd-boot or derivatives,
and is uncommon enough ...
This test ensures that the UEFI-specific bootloader removal functionality
does as advertised, an...
This allows humans to look at the generate files during test suite
creation and actually underst...
In order to facilitate safety and coverage, we now override all aspects
of blkid during testing,...
We now just leverage the existing defines at build time due to our
new-lack of architecture-size...
Due to some design enhancements along the way and a shedding of unnecessary
weight, these functi...
This test adds very basic coverage for doing a basic image installation,
using the syslinux lega...
This mimics the check-legacy test almost identically, but taking the
inverse road in certain are...
This modifies the harness to initialise UEFI mocking only when specified
in the PlaygroundConfig...
Currently clr-boot-manager will (correctly) detect a mounted ESP on the
host within the test sui...
Signed-off-by: Ikey Doherty <[email protected]>
c2f7a6c7a1a182d53ac59fe92b770f44a3d07126 authored almost 8 years ago
This change unblocks distcheck again by adding the new gptmbr faux file
to the EXTRA_DIST set.
...
aebb107900fc31a283285e1b050c406f0887ac88 authored almost 8 years ago
This test enables us to mock the upgrade process going from a non CBM
managed system to a CBM ma...
This allows us to mock the return location for a /dev/ node per the stat
calls, enabling the ful...
All of these tests are actually duplicated in the core of any other
install/remove/update tests ...
To ensure that new tests are less complex, and that there are no unknown
parameters in the test ...
In order to facilitate mocking, we must stop hardcoding /sys and /dev
paths. Unfortunately, thes...
For now we'll force detection of a "valid" UEFI system by constructing
a fake devfs/sysfs to foo...
Prior to our mocking abilities we had to inject a custom systeminfo
definition. However, this ma...
These tests verify the basic install & update functionality for the
bootloaders, not the kernels...
This change corrects a bug found in the coverage testing, whereby the wrong
item was freed (The ...
These scripts were originally needed when transitioning to clr-boot-manager
within Clear Linux. ...
In order to assist in building up test coverage, we need to do so in a way
that allows to test d...
Signed-off-by: Ikey Doherty <[email protected]>
1ef4174c8c857fa88938c13b15c0454f71d08a0b authored almost 8 years ago
In order to facilitate a more flexible approach to the root devices, we
now make use of the CbmD...
Signed-off-by: Ikey Doherty <[email protected]>
7db0f894cec91526a480180d97f05ca18de4bbfc authored almost 8 years ago
In order to support common deployment patterns, we also need to be able to
find out if a root sy...
If we encounter a LUKS UUID for the root partition, automatically write
out a dracut-style rd.lu...
Just like the systemd implementation, we now add support for dracut style
LUKS UUID activation b...
This change adds some reusable disk probing code, to make our UUID logic
more robust. At present...
The majority of the "generic" library code for clr-boot-manager now exists
inside lib/. The file...
With the move to CbmDeviceProbe API, this functionality is no longer
necessary within clr-boot-m...
This change helps to simplify the per-kernel config writer by switching
to the CbmWriter interfa...
This change adds preliminary support for initial ramdisk files in
distributions that make use of...
In order to help reduce the complexity of clr-boot-manager, much of which
actually revolves arou...
In keeping with changes to the systemd-class implementation, we now
drastically simplify much of...
Signed-off-by: William Douglas <[email protected]>
6f3ece65b756585392137cd2e92ce1b983aa9ee5 authored about 8 years agoSigned-off-by: Ikey Doherty <[email protected]>
0243291052b8748b0d3ed316607528bd568c08a3 authored about 8 years ago
We should leverage modern standards and not support older, busted
toolchain implementations anym...
Currently the only way to support the newer toolchain and have C11
support is by enabling Trusty...
While this hasn't actually revealed itself as a bug just yet, it's
possible that linking would b...
Valgrind tests in a newer branch on the initrd work revealed this
function to be somewhat flaky,...
As clr-boot-manager may be called at any time, and we now do not bail
if the kernel is installed...
Given the previous changes to ensure that we can dynamically update
the kernels and configs, we m...
As the final part of issue #31, we now ensure that the syslinux bootloader
implementation also c...
Signed-off-by: Ikey Doherty <[email protected]>
820cc57312b12b94fec733823b233cd14dec5d42 authored about 8 years ago
Unfortunately Travis doesn't support C11. Somehow.
This change demonstrates the beauty of us usi...
We now statically compile against the git submodule version of nica, vs
having to use any modifi...
These files should only be handled upstream in the nica repository,
never should be have a local...
This will relieve much of the maintainence burden by allowing libnica to
remain in a single loca...
Signed-off-by: Ikey Doherty <[email protected]>
9cda58a5ab94736155fbc44629a91f68c9ae2c06 authored about 8 years ago
When using a timeout we had a stray '\n' that really just didn't need
to be there.
Signed-off-b...
149498296ab543bf33b99b08ccb4670f2e86e183 authored about 8 years ago
Recent changes have made CBM read files from /etc/kernel, such as the
cmdline. Keeping in line w...