Bedrock Linux 1.0alpha2 "Momo" Configuration Instructions
rc.conf
The rc.conf
file is located at
/opt/bedrock/etc/rc.conf
. This is sourced as a
bourne shell script, so be careful with your syntax - there
should be no spaces around the equals signs used for
establishing a setting. Change the text to the right of the
equals sign to set the value.
TZ
Sets timezone, using the POSIX TZ environmental variable standard. Should be in the form of
non-daylight-savings-timezone-acronym
UTC-offset
daylight-savings-timezone-acronym
For example:
TZ=EST5EDT
HWCLOCK
Sets whether the hardware clock is set to local time or UTC.
Traditionally *nix systems use UTC, but Windows uses local. If
you are dual-booting with Windows, local may be preferable.
Set to LOCAL
or UTC
accordingly.
LANG
Sets language.
DEVICE_MANAGER
The device files in /dev
can be managed in one of
three ways:
-
The core Bedrock Linux comes with busybox's mdev, which can
manage
/dev
. To use mdev, setDEVICE_MANAGER=mdev
. Note that X11 will not automatically add/configure device with mdev as well as it does with udev, and that mdev does not automatically load modules when needed as udev does. -
To have Bedrock Linux use
udev
to manage/dev
, setDEVICE_MANAGER=udev
. -
If one would like to use a static
/dev
, setDEVICE_MANAGER=static
. Note that you will have to set up the initial/dev
yourself, and that this will make adding new devices more work than with the other options above.
UDEV_CLIENT
If DEVICE_MANAGER=udev
, one can specify which
client's udev will be used by setting
UDEV_CLIENT=
.
If this is not available but CLIENT
DEVICE_MANAGER=udev
,
Bedrock Linux will fall back to using the udev made available
in the brpath if any. Otherwise, it will fall back to mdev.
BRPATH
This sets the path in which client commands will be made
available in other clients. This should be unique to the
client and not shared via bind mounting. The default is
/usr/local/brpath
.
AUTO_BRS
When first attempting to access a client, Bedrock will have to
set up the various items which should be shared. If this is
done at the last second, it will cause a slight delay. Setting
AUTO_BRS=1
will have Bedrock run brs in the
background at boot and after every brc, ensuring that, when one
tries to access a client, it will already be set up.
BR_CREATE_MISSING
If BR_CREATE_MISSING=1,
and Bedrock finds a client
is missing a file or directory which it needs to complete a
command, Bedrock Linux will attempt to create it automatically.
BRC_MOUNT_WARN
If AUTO_BRS
is not set to 1, brc
will
occasionaly have to set up clients. If
BRC_MOUNT_WARN
is set to once
, brc
will notify the user that a slight delay may be noticed as it
sets up the client in these instances. If
BRC_MOUNT_WARN
is set to all
, it will
print out a notice for every item it needs to mount.
capchroot.allow
In order to ensure chrooting is not used as a priviledge
exploit or otherwise abused yet still accessible to non-root
users, capchroot limits the directories which can be accessed
by those listed in this file. Simply list the directories each
client is in in the file located at
/opt/bedrock/etc/capchroot.allow
.
Future versions of Bedrock will merge this file into
brclients.conf
.
brclients.conf
Located at /opt/bedrock/etc/brclients.conf
,
brclients.conf
contains information about the
Bedrock clients needed by the various Bedrock utilities.
Each's section should start with the clients name between square brackets. The clients configuration options all start with a keyword, followed by whitespace, followed by the configuration option.
path
This sets the path to the client from a parent client.
update
Sets a command used to update the client. To run multiple
commands, put each command on its own update
line
rather than attempting to combine them with semicolons or
double-ampersands. If the client cannot be updated through
simple commands (such as the core Bedrock itself) or you would
rather it not be updated for some other reason, you can leave
out the update lines.
mount
To set an item which should be shared, simply use
mount
followed by whitespace and the path of the
item.
Example:
[squeeze] path /var/chroot/squeeze update apt-get update update apt-get upgrade mount /proc mount /sys mount /home
fstab
In order to ensure non-root users can set up clients, each item
which needs to be shared should be set in
/etc/fstab
with the option user
and
possbily noauto
.
.brsh.conf
To use the Bedrock Linux meta-shell brsh
, create a
file in your home directory called .brsh.conf
which contains the contents that should be in your
$SHELL
environment. For example, if you would
like to use bash
, have ~/.brsh.conf
include /bin/bash
.
rcS.clients and rcK.clients
To have a client daemon start or stop at boot/shutdown, place
the relevant command to do this in
/etc/init.d/rcS.clients
and
/etc/init.d/rcK.clients,
respectively. For
example, to start Debian squeeze's cups daemon at boot, place
the following in your /etc/init.d/rcS.clients:
brc squeeze /etc/init.d/cups start