5 First set up an schroot debootstrap jail with debian 9.0.
6 Follow these instructions taken from here:
7 <https://www.debian.org/releases/stretch/amd64/apds03.html.en>
9 In advance, edit /etc/fstab and add mount points: personally I prefer using
12 /dev /home/chroot/coriolis/dev none bind 0 0
13 /dev/pts /home/chroot/coriolis/dev/pts none bind 0 0
14 /proc /home/chroot/coriolis/proc none bind 0 0
15 /sys /home/chroot/coriolis/sys none bind 0 0
16 /tmp /home/chroot/coriolis/tmp none bind 0 0
18 Then run these commands:
21 apt-get install debootstrap schroot
22 mkdir /opt/chroot/coriolis
23 /usr/sbin/debootstrap stretch !$ http://ftp.us.debian.org/debian
25 echo "coriolis2" > /home/chroot/coriolis/etc/debian_chroot
27 To do some preparation (users):
29 chroot /home/chroot/coriolis2 /bin/bash
30 adduser {yourpreferredusername}
32 It is best to make the username the same as the first user that
33 was added during the *main* (non-chroot) debian install, so that
34 uid 1000 matches between both main and chroot. You can check
35 this by looking at /etc/passwd as root, or by typing "id".
38 uid=1000(lkcl) gid=1000(lkcl) groups=1000(lkcl),5(tty),....
40 Alternatively, /etc/passwd and /etc/group may
41 be mount-bound as well as /home however if you later forget you did
42 this and decide to delete the chroot, you will delete the entire /home
43 of your main system, as well as /etc/passwd.
45 You may wish to follow some of the other things such as configuring apt,
46 locales and keyboard, from the above-linked debian-admin HOWTO.
47 bootloader, kernel, ssh access, all these are
48 unnecessary. do run "apt clean" to clear out /var/cache/apt/archives
53 Create an schroot file section:
56 description=Debian Stable for Coriolis
57 directory=/home/chroot/coriolis
58 groups=sbuild-security,lkcl,users
60 Now as an *ordinary* user - not as root - you may type:
62 lkcl@fizzy:~$ schroot -c coriolis
64 and, due to the contents of /etc/debian\_chroot, and that you were in
65 fact logged in as uid 1000 and did in fact add a user to the chroot
66 as uid 1000, the prompt should become:
68 (coriolis2)lkcl@fizzy:~$
70 ## check out alliance and alliance-check-toolkit
72 Adapted from <https://www-soc.lip6.fr/en/team-cian/softwares/alliance/>
76 git clone https://gitlab.lip6.fr/jpc/alliance-check-toolkit.git
78 TODO: document how to build alliance, basically this:
80 In the chroot, as root:
83 apt-get install git build-essential libtool automake \
84 flex bison xfig imagemagick \
85 texlive texlive-pictures texlive-latex-extra \
86 libx11-dev libxt-dev libxaw7-dev libxpm-dev libmotif-dev
88 In the chroot, as the ordinary schroot user:
90 mkdir -p alliance/build alliance/install
92 git clone https://www-soc.lip6.fr/git/alliance.git
95 Modify the following file (may not be necessary later):
97 diff --git a/alliance/src/pat/src/pat_desc_y.y b/alliance/src/pat/src/pat_desc_y.y
98 index 14720dbc..5390d2a4 100644
99 --- a/alliance/src/pat/src/pat_desc_y.y
100 +++ b/alliance/src/pat/src/pat_desc_y.y
101 @@ -85,8 +85,8 @@ unsigned short position; /* # of statement since last comment */
102 static struct papat *lcl_addpapat (lastpapat, label, line)
104 struct papat *lastpapat; /* pointer on the last papat structure */
105 -char *label; /* pattern's label */
106 -unsigned short line; /* pattern' line number */
108 +unsigned short line;
113 Continue running as user:
117 export ALLIANCE_TOP=$HOME/alliance/install
118 export LD_LIBRARY_PATH=${ALLIANCE_TOP}/lib:${LD_LIBRARY_PATH}
119 ../alliance/src/configure --prefix=$ALLIANCE_TOP --enable-alc-shared
122 the two exports are best added to ~/.bash_profile for later convenience
126 These are nominally taken from
127 <https://www-soc.lip6.fr/equipe-cian/logiciels/coriolis/>
128 however there are errors in the original at the moment.
129 Do not try qt5, it will not work.
131 In ~/.bash\_profile add the following so that builds (rebuilds) if you need
132 them will be quicker, and you can run the GUI from the chroot:
134 export PATH=/usr/lib/ccache:"$PATH"
137 Second (or at a new terminal / xterm), log in as root on the host (not
138 the chroot) then do schroot -c coriolis to get to be root in the chroot
139 (or, you can install sudo in the chroot and then do "sudo bash" in the
142 Then run the following commands, as root, *in* the chroot:
145 apt-get install -y build-essential binutils-dev \
146 git cmake bison flex gcc python-dev \
147 libboost-all-dev libboost-python-dev \
149 libbz2-dev libxml2-dev rapidjson-dev libbz2-dev \
150 doxygen dvipng graphviz python-sphinx \
151 texlive-fonts-extra texlive-lang-french \
152 libqwt-dev qt4-dev-tools python-qt4 \
153 libxt-dev libxpm-dev libmotif-dev \
156 Then, as the ordinary (non-root) user in the schroot:
158 mkdir -p ~/coriolis-2.x/src
159 cd ~/coriolis-2.x/src
160 git clone https://www-soc.lip6.fr/git/coriolis.git
164 ./bootstrap/ccb.py --project=coriolis --make="-j4 install"
166 To set up the alliance environment, run this:
168 eval `~/coriolis-2.x/src/coriolis/bootstrap/coriolisEnv.py`
170 For convenience that may be placed in a file and "sourced", to avoid
171 having to look this page up every time
173 echo "eval `~/coriolis-2.x/src/coriolis/bootstrap/coriolisEnv.py`" > \
177 To run the graphical editor go to the bin directory
179 cd ~/coriolis-2.x/Linux.MyARCH/Release.Shared/install/bin
182 Then run the following commands from the menubar
184 Tutorials / Run Demo (Python Flavour)
186 The following window will appear
188 [[!img chicken.png ]]
190 click on the chicken several times
192 # Tutorials and checks
194 * <https://gitlab.com/Chips4Makers/alliance-check-toolkit>
195 * See coriolis-2.x/Linux.x86_64/Release.Shared/install/share/doc/coriolis2/en/html/main/PythonTutorial/index.html
197 ## Information from Jean-Paul
199 There should be very soon a website at https://coriolis.lip6.fr (it is not yet
200 online). Where I intend to put all the documentation about Alliance/Coriolis.
202 In the meantime did you find the doc shipped with Coriolis ?
204 There are also very cursory informations about installing Alliance here:
205 https://www-soc.lip6.fr/en/team-cian/softwares/alliance/
207 You also have a third repository for various blocks/chip/examples here:
208 https://gitlab.lip6.fr/jpc/alliance-check-toolkit
210 (with a basic doc under "doc/"...)
214 You must create a configuration for alliance-check-toolkit:
216 alliance-check-toolkit/etc/mk/users.d/user-LOGIN.mk
218 where you define where the various tools are installed
219 (look in other ones to have an idea).
221 You can try the ARM in alliance-check-toolkit:
223 > cd alliance-check-toolkit/benchsARM/cmos/
226 Should take about five minutes. It's symbolic, but should be
227 a configuration compatible with 180nm. To actually see the
232 Then "File -> Open", "arm_chip_cts_r"
234 To have a very rough approximation, you can say that one lambda
237 > i'd expect such a chip to be in the alliance-check-toolkit however we
238 > don't even know what we're looking at in order to know which bits we
239 > need, let alone know what to do or how to run them.
241 > we're *literally* completely in the dark, here, having never done this
242 > before - at all - so unless there's a specific tutorial which says, to
243 > make a chip layout do this: "step 1: install these tools. step 2: get
244 > this project repo. step 3: cd to this directory. step 4: run make or
245 > ./compile-place-and-route.sh" we're absolutely lost.
247 > thx jean-paul, and apologies for not knowing where to begin, here.
249 No problem. You're welcome.
251 The doc is mostly for people who already have a background in ASICs,
252 I will try to patch something from my lecture in VLSI to help people
253 to orient themselves.
255 The up-to-date documentation is supplied directly in the Coriolis
258 coriolis/documentation/output/index.html
260 The links toward the doxygen doc will be invalid a this point,
261 but everython else works.
263 After installation, it is put in:
265 coriolis-2.x/Linux.x86_64/Release.Shared/install/share/doc/coriolis2/en/html/index.html