.vscode | ||
docs | ||
local/bin | ||
src/kupferbootstrap | ||
tests | ||
.dockerignore | ||
.git-blame-ignore-revs | ||
.gitignore | ||
.gitlab-ci.yml | ||
docker_version.txt | ||
Dockerfile | ||
format.sh | ||
LICENSE | ||
Makefile | ||
pyproject.toml | ||
pytest.sh | ||
README.md | ||
requirements-dev.txt | ||
requirements.txt | ||
test_requirements.txt | ||
typecheck.sh |
kupferbootstrap
Kupfer Linux bootstrapping tool - drives pacstrap, makepkg, chroot, mkfs and fastboot, just to name a few.
Table Of Contents
[[TOC]]
Full Documentation
Detailed docs are available online at https://kupfer.gitlab.io/kupferbootstrap/
You can also build and view the docs locally:
cd docs/ && \
make && \
make serve
This will run a webserver on localhost:9999. Access it like firefox http://localhost:9999/
Installation
- If you're not on ArchLinux (i.e. don't have
pacman
,makepkg
, etc. available in your $PATH), install Docker and add yourself to thedocker
group. - For the python installation, either run
make
or follow the manual installation steps below.
Manual Installation
- Craate a python venv:
python3 -m venv venv
- Install KBS:
venv/bin/pip3 install -e .
- Activate it:
source venv/bin/activate
If you don't want to have to source the venv every time,
you can symlink venv/bin/kupferbootstrap
into your $PATH
.
Try it
Then run kupferbootstrap --help
.
Pro Tip:
-
You can add a shell alias for
$(PWD)/venv/bin/kupferbootstrap
or create a symlink to it inside your$PATH
for quick access without needing to manually source the venv script every time, e.g.:ln -sr venv/bin/kupferbootstrap ~/.local/bin/
The Makefile can do this for you:
make INSTALL_TARGET=~/.local/bin/kupferbootstrap install
Just make sure
~/.local/bin
(or wherever you chose) is in your$PATH
. -
It is recommended to abbreviate
kupferbootstrap
tokbs
for even less typing.
Quickstart
- Initialize config with defaults, configure your device and flavour:
kupferbootstrap config init
- Initialize PKGBUILDs and caches:
kupferbootstrap packages init
- Build an image and packages along the way:
kupferbootstrap image build
Development
Docker
Put BUILD
(the default) into docker_version.txt
to always rebuild kupferbootstrap from this directory;
otherwise the image is pulled from registry.gitlab.com/kupfer/kupferbootstrap:$VERSION
,
where $VERSION
is the contents of docker_version.txt
.