Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide 'official' docker images for yosys, nextpnr and icestorm #1287

Closed
eine opened this issue Aug 12, 2019 · 3 comments
Closed

Provide 'official' docker images for yosys, nextpnr and icestorm #1287

eine opened this issue Aug 12, 2019 · 3 comments

Comments

@eine
Copy link

eine commented Aug 12, 2019

Refs: #466, #829, #1152 and #1285.

Although there are multiple docker images available (https://hub.docker.com/search?q=yosys&type=image), AFAIK there is no 'official' one which is built in some CI service managed by the maintainers of this repo/org.

@cliffordwolf mentioned https://hub.docker.com/r/openfpga/icetools in #466, but it seems that the WIP did not take off.

In #1285, a job is added to Travis, where an image containing yosys is built. It would be straightforward to add two more dockerfiles/images for nextpnr and icestorm.

However, the namespace in a docker registry needs to be managed, and some credentials are needed in order to push docker images from travis to dockerhub. Note that a 'machine' or 'bot' account can be used.

For example, projects ghdl and VUnit, both have separate repos for this purpose: ghdl/docker, VUnit/docker. Precisely, this request is related to ghdl/ghdl-yosys-plugin#31.

Furthermore, it'd be possible to provide multiarch images (e.g. amd64, arm32v7 and arm64v8), so ready-to-use containers are available for any user running GNU/Linux, Windows macOs, SBCs, etc. See dbhi/qus.

Note that, for now, iceprog wouldmight still be required on the host. On GNU/Linux, it is probably possible to let a container configure an FPGA through USB/FTDI; but I don't expect it to work on for Windows or macOS, see https://github.com/ghdl/docker/tree/master/usbip.

/cc @q3k

@emilazy
Copy link
Contributor

emilazy commented Aug 24, 2019

Since these are all packaged in nixpkgs, I think that Nixery should already provide this as something like nixery.dev/shell/yosys/symbiyosys/nextpnr/icestorm/trellis.

(edit: ah, unfortunately Nixery tracks the stable NixOS branch by default and the versions in nixos-unstable are far more recent, so this isn't a good solution at present.)

@eine
Copy link
Author

eine commented Aug 24, 2019

@emilazy, thanks for the reference! I didn't know about Nixery. I tried nixery.dev/shell/yosys/icestorm on Docker Desktop (Windows 10) and it works! It seems to be quite slow the first time you request to pull an image. Is it because the image is built/compiled on-demand (including all the packages)?

As you said, it is not the solution I want, because I'd like to use latest/development version. Nonetheless, I think that any section about Docker in the docs should mention it.

BTW, do you know why ghdl is not available in nixpkgs? There are some 'old' commits (https://github.com/NixOS/nixpkgs/search?q=ghdl&type=Commits), but nixery.dev/shell/ghdl does not work.

@eine
Copy link
Author

eine commented Dec 21, 2021

Closing in favour of hub.docker.com/u/yosyshq and hdl/containers.

@eine eine closed this as completed Dec 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants