[Cryptech Tech] testing builds
Rob Austein
sra at hactrn.net
Sun Apr 15 22:28:37 UTC 2018
On Sun, 15 Apr 2018 15:07:49 -0400, Michael wrote:
>
> I have been setting up my computer to have the capability to generate builds of the various system components.
As of the last time I built a new build machine, one could get a
usable build and runtime environment on Debian Jessie (yes, I know
it's old) with a command like:
sudo apt-get install git python-yaml python-serial gcc-arm-none-eabi gdb-arm-none-eabi gcc-avr binutils-avr avr-libc
Plus a bunch of horsing around getting the XiLinx tools to run, more
on that below.
If you want to run the unit tests, you'll also need:
sudo apt-get install python-crypto python-ecdsa
There's another pile of stuff to install if you're trying to reproduce
the complete release engineering environment, but maybe you don't need
to dive into the Debian + Homebrew packaging swamp just yet.
> I installed arm-none-eabi-gcc from the xenial repository , it
> reports version (15:4.9.3+svn231177-1) 4.9.3 20150529 (prerelease).
> avr-gcc installed with version 4.9.2. Are these tool revs sufficient
> to do builds for the Alpha?
You tell us :)
> I was able to install 14.7 of Xilinx ISE although the full tar link
> took me to newer software. I was able to d/l the 4 part install
> files and get it that way.
>
> I am getting these messages from make when trying make firmware.
>
> ./scripts/build-shadow-tree.py
> make -C build/core/platform/alpha/build
> make[1]: Entering directory '/home/michael/Documents/dkey/alpha/build/core/platform/alpha/build'
> . /opt/Xilinx/14.7/ISE_DS/settings64.sh; xst -ifn alpha_fmc.scr
> /bin/sh: 12: [: /bin/sh: unexpected operator
> . /opt/Xilinx/14.7/ISE_DS/common/.settings64.sh /opt/Xilinx/14.7/ISE_DS/common
> . /opt/Xilinx/14.7/ISE_DS/EDK/.settings64.sh /opt/Xilinx/14.7/ISE_DS/EDK
> . /opt/Xilinx/14.7/ISE_DS/PlanAhead/.settings64.sh /opt/Xilinx/14.7/ISE_DS/PlanAhead
> . /opt/Xilinx/14.7/ISE_DS/ISE/.settings64.sh /opt/Xilinx/14.7/ISE_DS/ISE
> /bin/sh: 1: xst: not found
> xilinx.mk:137: recipe for target 'alpha_fmc.ngc' failed
> make[1]: *** [alpha_fmc.ngc] Error 127
> make[1]: Leaving directory '/home/michael/Documents/dkey/alpha/build/core/platform/alpha/build'
> Makefile:92: recipe for target 'build/core/platform/alpha/build/alpha_fmc.bit' failed
> make: *** [build/core/platform/alpha/build/alpha_fmc.bit] Error 2
>
> I suspect this is a license issue, but please confirm.
Not familiar. Paul or Pavel might know more. I'm skeptical about
"xst: not found" being a license manager symptom, seems more likely to
be a symptom of the earlier /bin/sh error -- see Paul's comments on
"dash", below.
About installing the XiLinx tools: Paul wrote this up years ago, it's
in the Wiki, probably in multiple places (all hard to find). The
process is also tedious, and requires a GUI just to dance with the
installer and license manager. Relevant excerpt:
You need to download and install the Xilinx ISE Design Suite.
Installing on Linux
Xilinx only supports specific versions of Red Hat and Suse Linux, but it
does run on Ubuntu, with the following caveat: Ubuntu symlinks /bin/sh to
dash, which can't handle if [ ] syntax in shell scripts, so I symlinked /
bin/sh to bash instead.
ISE Design Suite uses a graphical installer, so has to be installed on a
desktop edition, not a server edition.
Although the software can be installed as user or root, by default it wants
to install into /opt/Xilinx, so you need to install as root if you want to
do that.
The Xilinx tools are disk hogs, so if you're building a VM for this, you'll
probably want to give it at least 30-40 GB of disk space.
Step-by-step installation:
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
Footnotes for things not covered in Paul's (ancient) write-up:
* The "ise binary" is in /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/ise (or
in .../lin/ise if you want the 32-bit version, but if you're doing
the full releng thing with pbuilder you need the 64-bit version).
* The XiLinx tools do also run on Debian.
* Probably not relevant in your case, but you don't really need a full
GUI install of Debian to install this. In a pinch (eg, installing
in Reykjavik while sitting in Boston), you can get away with:
sudo apt-get install tightvncserver xterm icewm
which is enough to run a very austere remote GUI environment via
VNC tunneled through an SSH connection (which still sucks, but sucks
less than trying to tunnel raw X11 and a full desktop environment).
More information about the Tech
mailing list