diff options
Diffstat (limited to 'util')
| -rwxr-xr-x | util/docker_build.sh | 2 | ||||
| -rwxr-xr-x | util/docker_cmd.sh | 2 | ||||
| -rwxr-xr-x | util/uf2conv.py | 44 | ||||
| -rw-r--r-- | util/uf2families.json | 19 | ||||
| -rw-r--r-- | util/vagrant/Dockerfile | 33 | ||||
| -rw-r--r-- | util/vagrant/readme.md | 12 | 
6 files changed, 44 insertions, 68 deletions
| diff --git a/util/docker_build.sh b/util/docker_build.sh index 8dce387320..828b5751af 100755 --- a/util/docker_build.sh +++ b/util/docker_build.sh @@ -81,5 +81,5 @@ fi  	-e ALT_GET_KEYBOARDS=true \  	-e SKIP_GIT="$SKIP_GIT" \  	-e MAKEFLAGS="$MAKEFLAGS" \ -	qmkfm/qmk_cli \ +	ghcr.io/qmk/qmk_cli \  	make "$keyboard${keymap:+:$keymap}${target:+:$target}" diff --git a/util/docker_cmd.sh b/util/docker_cmd.sh index a179cef732..4a82890603 100755 --- a/util/docker_cmd.sh +++ b/util/docker_cmd.sh @@ -55,5 +55,5 @@ fi  	$uid_arg \  	-w /qmk_firmware \  	-v "$dir":/qmk_firmware \ -	qmkfm/qmk_cli \ +	ghcr.io/qmk/qmk_cli \  	"$@" diff --git a/util/uf2conv.py b/util/uf2conv.py index 7f5645414a..52d3861cba 100755 --- a/util/uf2conv.py +++ b/util/uf2conv.py @@ -8,6 +8,7 @@ import os  import os.path  import argparse  import json +from time import sleep  UF2_MAGIC_START0 = 0x0A324655 # "UF2\n" @@ -276,23 +277,25 @@ def main():      parser = argparse.ArgumentParser(description='Convert to UF2 or flash directly.')      parser.add_argument('input', metavar='INPUT', type=str, nargs='?',                          help='input file (HEX, BIN or UF2)') -    parser.add_argument('-b' , '--base', dest='base', type=str, +    parser.add_argument('-b', '--base', dest='base', type=str,                          default="0x2000",                          help='set base address of application for BIN format (default: 0x2000)') -    parser.add_argument('-o' , '--output', metavar="FILE", dest='output', type=str, +    parser.add_argument('-f', '--family', dest='family', type=str, +                        default="0x0", +                        help='specify familyID - number or name (default: 0x0)') +    parser.add_argument('-o', '--output', metavar="FILE", dest='output', type=str,                          help='write output to named file; defaults to "flash.uf2" or "flash.bin" where sensible') -    parser.add_argument('-d' , '--device', dest="device_path", +    parser.add_argument('-d', '--device', dest="device_path",                          help='select a device path to flash') -    parser.add_argument('-l' , '--list', action='store_true', +    parser.add_argument('-l', '--list', action='store_true',                          help='list connected devices') -    parser.add_argument('-c' , '--convert', action='store_true', +    parser.add_argument('-c', '--convert', action='store_true',                          help='do not flash, just convert') -    parser.add_argument('-D' , '--deploy', action='store_true', +    parser.add_argument('-D', '--deploy', action='store_true',                          help='just flash, do not convert') -    parser.add_argument('-f' , '--family', dest='family', type=str, -                        default="0x0", -                        help='specify familyID - number or name (default: 0x0)') -    parser.add_argument('-C' , '--carray', action='store_true', +    parser.add_argument('-w', '--wait', action='store_true', +                        help='wait for device to flash') +    parser.add_argument('-C', '--carray', action='store_true',                          help='convert binary file to a C array, not UF2')      parser.add_argument('-i', '--info', action='store_true',                          help='display header information from UF2, do not convert') @@ -337,20 +340,23 @@ def main():              print("Converted to %s, output size: %d, start address: 0x%x" %                    (ext, len(outbuf), appstartaddr))          if args.convert or ext != "uf2": -            drives = []              if args.output == None:                  args.output = "flash." + ext -        else: -            drives = get_drives() -          if args.output:              write_file(args.output, outbuf) -        else: +        if ext == "uf2" and not args.convert and not args.info: +            drives = get_drives()              if len(drives) == 0: -                error("No drive to deploy.") -        for d in drives: -            print("Flashing %s (%s)" % (d, board_id(d))) -            write_file(d + "/NEW.UF2", outbuf) +                if args.wait: +                    print("Waiting for drive to deploy...") +                    while len(drives) == 0: +                        sleep(0.1) +                        drives = get_drives() +                elif not args.output: +                    error("No drive to deploy.") +            for d in drives: +                print("Flashing %s (%s)" % (d, board_id(d))) +                write_file(d + "/NEW.UF2", outbuf)  if __name__ == "__main__": diff --git a/util/uf2families.json b/util/uf2families.json index fafae82a60..c2140fe351 100644 --- a/util/uf2families.json +++ b/util/uf2families.json @@ -77,7 +77,7 @@      {          "id": "0x57755a57",          "short_name": "STM32F4", -        "description": "ST STM32F401" +        "description": "ST STM32F4xx"      },      {          "id": "0x5a18069b", @@ -188,5 +188,20 @@          "id": "0x9af03e33",          "short_name": "GD32VF103",          "description": "GigaDevice GD32VF103" +    }, +    { +        "id": "0x4f6ace52", +        "short_name": "CSK4", +        "description": "LISTENAI CSK300x/400x" +    }, +    { +        "id": "0x6e7348a8", +        "short_name": "CSK6", +        "description": "LISTENAI CSK60xx" +    }, +    { +        "id": "0x11de784a", +        "short_name": "M0SENSE", +        "description": "M0SENSE BL702"      } -] +]
\ No newline at end of file diff --git a/util/vagrant/Dockerfile b/util/vagrant/Dockerfile deleted file mode 100644 index 951d4fc40d..0000000000 --- a/util/vagrant/Dockerfile +++ /dev/null @@ -1,33 +0,0 @@ -FROM qmkfm/qmk_cli - -# Basic upgrades; install sudo and SSH. -RUN apt-get update && apt-get install --no-install-recommends -y \ -        sudo \ -        openssh-server \ -    && rm -rf /var/lib/apt/lists/* -RUN mkdir /var/run/sshd -RUN sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config -RUN echo 'UseDNS no' >> /etc/ssh/sshd_config - -# Remove the policy file once we're finished installing software. -# This allows invoke-rc.d and friends to work as expected. -RUN rm /usr/sbin/policy-rc.d - -# Add the Vagrant user and necessary passwords. -RUN groupadd vagrant -RUN useradd -c "Vagrant" -g vagrant -d /home/vagrant -m -s /bin/bash vagrant -RUN echo 'root:vagrant' | chpasswd -RUN echo 'vagrant:vagrant' | chpasswd - -# Allow the vagrant user to use sudo without a password. -RUN echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant - -# Install Vagrant's insecure public key so provisioning and 'vagrant ssh' work. -RUN mkdir /home/vagrant/.ssh -ADD https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub /home/vagrant/.ssh/authorized_keys -RUN chmod 0600 /home/vagrant/.ssh/authorized_keys -RUN chown -R vagrant:vagrant /home/vagrant/.ssh -RUN chmod 0700 /home/vagrant/.ssh - -EXPOSE 22 -CMD ["/usr/sbin/sshd", "-D"] diff --git a/util/vagrant/readme.md b/util/vagrant/readme.md deleted file mode 100644 index a8396007ee..0000000000 --- a/util/vagrant/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# QMK Vagrant Utilities - -## Dockerfile -Vagrant-friendly `qmkfm/qmk_cli`. - -In order for the Docker provider and `vagrant ssh` to function the container has a few extra requirements. - -* vagrant user -* ssh server -  * configured with expected public key -* sudo -  * passwordless for vagrant user | 
