{"id":18929182,"url":"https://github.com/jwillikers/gnu-arm-embedded-ssh-image","last_synced_at":"2025-04-15T15:30:51.460Z","repository":{"id":104838666,"uuid":"378161023","full_name":"jwillikers/gnu-arm-embedded-ssh-image","owner":"jwillikers","description":"A container image for running the ARM embedded toolchain from an OpenSSH server, built on Fedora ","archived":true,"fork":false,"pushed_at":"2021-08-12T16:56:47.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T21:52:13.044Z","etag":null,"topics":["buildah","c","clion","cpp","fedora","gnu-arm-embedded-toolchain","openssh"],"latest_commit_sha":null,"homepage":"https://quay.io/repository/jwillikers/gnu-arm-embedded-ssh","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwillikers.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.adoc","code_of_conduct":"CODE_OF_CONDUCT.adoc","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-18T13:35:30.000Z","updated_at":"2024-10-01T12:31:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"5cf8203d-b9da-427b-a0bc-a7983f15c8e2","html_url":"https://github.com/jwillikers/gnu-arm-embedded-ssh-image","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fgnu-arm-embedded-ssh-image","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fgnu-arm-embedded-ssh-image/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fgnu-arm-embedded-ssh-image/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fgnu-arm-embedded-ssh-image/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwillikers","download_url":"https://codeload.github.com/jwillikers/gnu-arm-embedded-ssh-image/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249097791,"owners_count":21212353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["buildah","c","clion","cpp","fedora","gnu-arm-embedded-toolchain","openssh"],"created_at":"2024-11-08T11:31:00.506Z","updated_at":"2025-04-15T15:30:51.439Z","avatar_url":"https://github.com/jwillikers.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"= GNU Arm Embedded SSH Image\nJordan Williams \u003cjordan@jwillikers.com\u003e\n:experimental:\n:icons: font\nifdef::env-github[]\n:tip-caption: :bulb:\n:note-caption: :information_source:\n:important-caption: :heavy_exclamation_mark:\n:caution-caption: :fire:\n:warning-caption: :warning:\nendif::[]\n:Buildah: https://buildah.io/[Buildah]\n:CLion: https://www.jetbrains.com/clion/[CLion]\n:Fedora: https://getfedora.org/[Fedora]\n:Fedora-Silverblue: https://silverblue.fedoraproject.org/[Fedora Silverblue]\n:fish: https://fishshell.com/[fish]\n:GCC: https://gnu-arm-embedded.gnu.org/[GCC]\n:Git: https://git-scm.com/[Git]\n:GNU-Arm-Embedded-Toolchain: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads[GNU Arm Embedded Toolchain]\n:OpenSSH: https://www.openssh.com/[OpenSSH]\n:Podman: https://podman.io/[Podman]\n:pre-commit: https://pre-commit.com/[pre-commit]\n:Visual-Studio-Code: https://code.visualstudio.com/[Visual Studio Code]\n\nimage:https://img.shields.io/github/workflow/status/jwillikers/gnu-arm-embedded-ssh-image/CI/main[GitHub Workflow Status]\nimage:https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white[pre-commit, link=https://github.com/pre-commit/pre-commit]\n\nA container image for running the {GNU-Arm-Embedded-Toolchain} toolchain from an {OpenSSH} server, built on {Fedora}.\nComes complete with CMake, Conan, Ninja, and Clang tools.\n\n== Synopsis\n\nThis container is meant to be used with IDE's that support remote development over SSH, such as {CLion} and {Visual Studio Code}.\nYou might find this workflow particularly helpful if you develop on an immutable base operating system, such as {Fedora Silverblue}.\n\nImage:: https://quay.io/repository/jwillikers/gnu-arm-embedded-ssh[quay.io/jwillikers/gnu-arm-embedded-ssh]\n\nTags::\n* `latest`\n\nSupported architectures::\n* `amd64` _(x86_64)_\n* `arm` _(armhfp)_\n* `arm64` _(aarch64)_\n\nUsers::\n`root`::: The default user inside the container is `root` since the OpenSSH server must be started by the superuser.\n`user`::: A user named `user` is also created with the default password `password`.\n\nVolumes::\n`/etc/ssh`::: Where the container's own server-side SSH keys reside as well as various configuration files.\n`/home/user/.ssh`::: The default user's SSH keys and configuration.\n\nCmd:: `[\"/usr/sbin/sshd\", \"-D\", \"-e\"]`\n\nLabels::\n`io.containers.autoupdate=registry`::: Enables automatic updates when using {Podman} and the _fully-qualified_ image name.\n\n== Quick Start\n\n. To run the OpenSSH server from this image, run the container using {Podman}.\n+\n--\nUse the `-p` flag to port-forward the SSH port, port 22, from the container to the host.\nTo attach a device such as a serial console, add the `--security-opt label=disable` to disable SELinux and pass through the desired device with the `--device` flag.\nThe following example forwards port 22 in the container to port 2222 on localhost and allows access to the device `/dev/ttyBmpGdb`.\n\n[source,sh]\n----\npodman run \\\n  --rm \\\n  -p 2222:22 \\\n  --security-opt label=disable \\\n  --device /dev/ttyBmpGdb:/dev/ttyBmpGdb \\\n  --volume \"$PWD\":/home/user/project:Z \\\n  --name gnu-arm-embedded-ssh \\\n  -dt quay.io/jwillikers/gnu-arm-embedded-ssh:latest\n----\n\n[NOTE]\n====\nTo access the SSH server from another container, simply run the containers in the same pod.\nThis doesn't even require port forwarding!\n====\n--\n\n. The container should then be accessible using SSH from the local machine.\n+\n[source,sh]\n----\nssh -p 2222 user@127.0.0.1\n----\n\n. Enter the default password for the user named `user`, which is `password`.\n\n== Build\n\nThis project uses {Buildah} and {Podman} for building and testing the image.\nA set of {pre-commit} checks are readily available to ensure your code is up-to-spec at the time it is committed.\nInstructions for setting up a development environment, building the image, and testing the image follow.\nThese instructions are intended for users of {Fedora-Silverblue}, where the packages `buildah`, `git`, and `podman` are already available.\nMoreover, I use the {fish} shell.\n\n. Install the {fish} shell.\n+\n[source,sh]\n----\nsudo rpm-ostree install fish\n----\n\n. Reboot to finish the installation.\n+\n[source,sh]\n----\nsystemctl reboot\n----\n\n. Clone this repository.\n+\n[source,sh]\n----\ngit -C ~/Projects clone git@github.com:jwillikers/gnu-arm-embedded-ssh-image.git\n----\n\n. Install {pre-commit}.\n+\n[source,sh]\n----\npip install pre-commit\n----\n\n. Change into the project directory.\n+\n[source,sh]\n----\ncd ~/Projects/gnu-arm-embedded-ssh-image\n----\n\n. Install pre-commit's Git hooks.\n+\n[source,sh]\n----\npre-commit install\n----\n\n. Run the shell script to build the image.\n+\n[source,sh]\n----\nbuildah unshare ~/Projects/gnu-arm-embedded-ssh-image/build.fish\n----\n\n. Test the image with the `test.fish` shell script.\n+\n[source,sh]\n----\n~/Projects/gnu-arm-embedded-ssh-image/test.fish\n----\n\n== Learn More\n\n* https://blog.jetbrains.com/clion/2020/01/using-docker-with-clion/[Using Docker with CLion]\n* https://code.visualstudio.com/docs/remote/ssh[Visual Studio Code - Remote Development using SSH]\n\n== Contributing\n\nContributions in the form of issues, feedback, and even pull requests are welcome.\nMake sure to adhere to the project's link:CODE_OF_CONDUCT.adoc[Code of Conduct].\n\n== Open Source Software\n\nThis project is built on the hard work of countless open source contributors.\nSeveral of these projects are enumerated below.\n\n* https://asciidoctor.org/[Asciidoctor]\n* {Buildah}\n* {Fedora}\n* {GCC}\n* {Fedora-Silverblue}\n* {fish}\n* {Git}\n* https://www.linuxfoundation.org/[Linux]\n* {OpenSSH}\n* {Podman}\n* {pre-commit}\n* https://www.python.org/[Python]\n* https://rouge.jneen.net/[Rouge]\n* https://www.ruby-lang.org/en/[Ruby]\n\n== Code of Conduct\n\nRefer to the project's link:CODE_OF_CONDUCT.adoc[Code of Conduct] for details.\n\n== License\n\nThis repository is licensed under the https://www.gnu.org/licenses/gpl-3.0.html[GPLv3], a copy of which is provided in the link:LICENSE.adoc[license file].\n\n© 2021 Jordan Williams\n\n== Authors\n\nmailto:{email}[{author}]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwillikers%2Fgnu-arm-embedded-ssh-image","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwillikers%2Fgnu-arm-embedded-ssh-image","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwillikers%2Fgnu-arm-embedded-ssh-image/lists"}