kupferbootstrap/README.md
2025-03-29 21:52:01 +01:00

2.1 KiB

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

  1. If you're not on ArchLinux (i.e. don't have pacman, makepkg, etc. available in your $PATH), install Docker and add yourself to the docker group.
  2. For the python installation, either run make or follow the manual installation steps below.

Manual Installation

  1. Craate a python venv: python3 -m venv venv
  2. Install KBS: venv/bin/pip3 install -e .
  3. 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 to kbs for even less typing.

Quickstart

  1. Initialize config with defaults, configure your device and flavour: kupferbootstrap config init
  2. Initialize PKGBUILDs and caches: kupferbootstrap packages init
  3. 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.