aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2019-02-10 23:03:30 +0000
committerRob Austein <sra@hactrn.net>2019-02-10 23:03:30 +0000
commit7f1c8362584eba26c1a75bfbd9da5fd5a749be31 (patch)
tree1908ae67ea4e767e9bd02d48ce9dc4f894423118
parent8bf92fa91b9ffec90ce4968f1898d0864c7c5b12 (diff)
Update notes.
-rw-r--r--Dockerfile7
-rw-r--r--README.md65
2 files changed, 70 insertions, 2 deletions
diff --git a/Dockerfile b/Dockerfile
index 9998a71..7f9b257 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -2,6 +2,9 @@ FROM debian:jessie
RUN echo 'deb http://deb.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/backports.list
+# An assortment of normal Debian packages. Might want to move this to
+# after the horrible XiLinx stuff so we don't have to redo that very often.
+
RUN apt-get update \
&& \
apt-get install -y \
@@ -16,7 +19,7 @@ RUN apt-get update \
reprepro \
ubuntu-archive-keyring \
ubuntu-dev-tools \
- pbuilder \
+ pbuilder \
&& \
apt-get -t jessie-backports install -y \
- debootstrap distro-info-data
+ debootstrap distro-info-data
diff --git a/README.md b/README.md
index 81c1377..31efd9f 100644
--- a/README.md
+++ b/README.md
@@ -18,3 +18,68 @@ dropped them into this directory with the filenames we expect.
The third...is fun, in a demented sort of way. Don't know whether
it'll work yet, but going to try automating this using
Xvfb, xautomation, and ratpoison.
+
+XiLinx voodoo from Berlin workshop notes
+----------------------------------------
+
+* You need to download the Xilinx ISE Design Suite.
+
+* Xilinx only supports specific versions of Red Hat and Suse Linux,
+ but it does run on Ubuntu and Debian, with the following caveat:
+ Ubuntu and Debian symlink `/bin/sh` to `/bin/dash`, which can't
+ handle `if [ ... ]` syntax in shell scripts. Symlinking `/bin/sh`
+ to `/bin/bash` works.
+
+* The Xilinx tools are serious disk hogs: VMs for this need at least
+ 30-40 GB of disk space.
+
+Step-by-step installation (Dockerfile will attempt to automate this):
+
+1. Unpack `Xilinx_ISE_DS_Lin_14.7_1015_1.tar` (or whatever version you have).
+2. `cd` to `Xilinx_ISE_DS_Lin_14.7_1015_1`, and run `sudo ./xsetup`
+3. Click through two screens of license agreements.
+4. Select ISE WebPACK.
+5. Unselect (or leave unselected) Install Cable Drivers.
+6. Go!
+
+Well, not quite. You will need to convince the ISE that you have a license.
+
+On the page
+http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.htm
+click on the Licensing Solutions link. On the resulting page, expand
+the section Obtain a license for Free or Evaluation product. To
+download the ISE Webpack, you should have created an account, so now
+you can go to the Licensing Site and use that account to create a
+Certificate Based License.
+
+You do not need to go through the HostID dance, just say Do It. You
+will then receive a certificate in email (not an X.509 certificate)
+which you will be able to use. Then start the ISE Webpack by issuing
+the command ise. Go to the Help menu and Manage Licenses. Use the
+resulting new License Manager window to install the `.lic` file. This
+process is complex and flakey.
+
+http://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/design-tools.html
+http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.htm
+http://www.armadeus.com/wiki/index.php?title=ISE_WebPack_installation_on_Linux
+
+With the license file already present this is simple: follow the installation
+instructions, tell it to use existing license file, it'll find it if
+you click the right buttons. And yes, it's another GUI program.
+
+The ise binary referred to above is in `/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/ise`
+(or in `.../lin/ise`, but the `pbuilder` setup requires a 64-bit build machine).
+
+It turns out you don't really need to run the whole ise tool to get to
+the license manager, you can just run the license manager directly,
+but you do have to source the appropriate settings file first, none of
+the XiLinx tools work properly without that. So:
+
+```
+. /opt/Xilinx/14.7/ISE_DS/settings64.sh
+/opt/Xilinx/14.7/ISE_DS/common/bin/lin64/xlcm -manage
+```
+
+In theory, we can run this GUI stuff under `Xvfb` in Docker.
+Debugging this will probably require exporting the `Xvfb_screen0` file
+via a volume mount.