# Flashing Instructions In general, we recommend using the instructions in `README.md`, however, mostly as a development artifact, another method of flashing KMK exists (tested and supported only on Linux, though it should also work on macOS, the BSDs, and other Unix-likes. It may also work on Cygwin and the Windows Subsystem for Linux). Given `make` and `rsync` are available on your system (in `$PATH`), the following will copy the `kmk` tree to your CircuitPython device, and will copy the file defined as `USER_KEYMAP` as your `main.py`. It will also copy our `boot.py`. If any of these files exist on your CircuitPython device already, they will be overwritten without a prompt. If you get permissions errors here, **don't run make as root or with sudo**. See `Troubleshooting` below. ```sh make MOUNTPOINT=/media/CIRCUITPY USER_KEYMAP=user_keymaps/nameofyourkeymap.py BOARD=board/nameofyourboard/kb.py ``` # Troubleshooting ## Linux/BSD Check to see if your drive may have mounted elsewhere with a GUI tool or other automounter. Most of these tools will mount your device under `/media`, probably as `/media/CIRCUITPY`. If it's not mounted, you can read up on how to mount a drive manually [here](https://wiki.archlinux.org/index.php/File_systems#Mount_a_file_system). For example, `sudo mount -o uid=$(id -u),gid=$(id -g) /dev/disk/by-label/CIRCUITPY ~/mnt` If you're still having issues, check out our support page to see where you can come say hi and the community will gladly help you out.