__ __ __
\ \_________\ \____________\ \___
\ _ \ _\ _ \ _\ __ \ __\ /
\___/\__/\__/ \_\ \___/\__/\_\_\
Bedrock Linux
Introductory Material
Limitations
Reference Material
Extending Bedrock
Miscellaneous
Occasionally Bedrock's ability to integrate strata can confuse software. For example, when compiling software a build system may attempt to detect build dependencies on the system and become confused to see python2, python3, and python.
If a command acts strangely, considering prefixing it with strat -r to restrict it to the given stratumstratum's commands. For example:
If things are not working as expected, run brl status to query the system for the status of the enabled strata. If any strata report as broken, try to brl repair them.
If bedrock.conf specifies a certain file path must be a symlink but brl repair finds a non-symlink file both at the symlink location and the target location, it will abort and instruct you to inspect both, decide which you want to keep, and remove the other.
If brl repair fails and does not indicate you need to perform some action to resolve the situation, and you are okay with losing the broken stratum's state, try the more aggressive brl repair --clear . If even that fails, the only remaining option is to reboot. If rebooting fails, seek assistance from the Bedrock community. Consider generating a stratabrl report when doing so.
You may bypass the init-selection menu by placing
bedrock_init=stratum:init-path
on the kernel line in your bootloader. This is useful in case there are issues with the init-selection menu. For example, a kernel line with this in place may look like:
/boot/vmlinuz-4.9.0-8-amd64 root=/dev/sda1 ro quiet bedrock_init=debian:/sbin/init
Many bootloaders allow users to alter the kernel line for a session.
Bedrock is dependent on various runtime items being in placed, and thus one may not simply mount a Bedrock partition and chroot into it.
One common need to choot into some system is to fix a broken /boot. While a generalized chroot is not available, a limited one for this purpose is. There are three main differences from a typical rescue chroot:
chroot'ing directly into the mount, setup and chroot into mount/bedrock/strata/stratum for some stratum which will perform the repair operation.proc, dev, etc setup, also bind-mount mount/boot to mount/bedrock/strata/stratum/boot. This will make the global /boot accessible for manipulation by the given stratum.global or cross file paths, as without Bedrock's hooks in place this may cause subtle problems. Restrict operations within the chroot to repairing /boot.