302 lines
17 KiB
HTML
302 lines
17 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html lang="en">
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
<meta name="description" content="Contents Installation in a chrooted Environment Setting up the chrooted root directory Configure schroot Installing Packages in Debian 9 Creating a Duplicate User Installation of Alliance / Coriolis ...">
|
||
|
<meta name="keywords" content="">
|
||
|
<link rel="icon" href="../favicon.ico">
|
||
|
|
||
|
<title>Install Cases - Coriolis VLSI CAD Tools [offline]</title>
|
||
|
|
||
|
<!-- Stylesheets -->
|
||
|
<link href="../theme/css/bootstrap.css" rel="stylesheet">
|
||
|
<link href="../theme/css/fonts.css" rel="stylesheet">
|
||
|
<link href="../theme/css/nest.css" rel="stylesheet">
|
||
|
<link href="../theme/css/pygment.css" rel="stylesheet">
|
||
|
<link href="../theme/css/coriolis.css" rel="stylesheet">
|
||
|
<!-- /Stylesheets -->
|
||
|
|
||
|
<script src="../theme/js/jquery.min.js"></script>
|
||
|
<script src="../theme/js/bootstrap.min.js"></script>
|
||
|
|
||
|
<!-- RSS Feeds -->
|
||
|
<!-- /RSS Feeds -->
|
||
|
|
||
|
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||
|
<!--[if lt IE 9]>
|
||
|
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
||
|
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||
|
<![endif]-->
|
||
|
|
||
|
|
||
|
|
||
|
</head>
|
||
|
|
||
|
<body>
|
||
|
<!-- Header -->
|
||
|
<div class="header-container" style="background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url('../images/common/layout-motif-faded-4.png'); background-position: center; ">
|
||
|
|
||
|
|
||
|
<!--
|
||
|
<div class="container">
|
||
|
<nav class="navbar navbar-default">
|
||
|
<div class="container-fluid">
|
||
|
<div class="navbar-header">
|
||
|
<a class="navbar-brand" href="../"><img class="mr20" src="../images/common/Coriolis-logo-white-4-small.png" alt="logo">Coriolis VLSI CAD Tools [offline]</a>
|
||
|
</div>
|
||
|
<ul class="nav navbar-nav">
|
||
|
<li><a href="../pages/gitlab.html">Git</a></li>
|
||
|
<li><a href="../pages/documentation.html">Documentation</a></li>
|
||
|
<li class="dropdown">
|
||
|
<button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
|
||
|
<span class="caret"></span>Topics
|
||
|
</button>
|
||
|
<ul class="dropdown-menu">
|
||
|
<li><a class="dropdown-item " href="../pages/homepage.html">Coriolis <span class="sc">vlsi</span> Backend Tools</a></li>
|
||
|
<li><a class="dropdown-item active" href="../pages/install-cases.html">Install Cases</a></li>
|
||
|
<li><a class="dropdown-item " href="../pages/symbolic-layout.html">Symbolic Layout</a></li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
</nav>
|
||
|
</div> <!-- navbar container -->
|
||
|
-->
|
||
|
|
||
|
<!-- Static navbar -->
|
||
|
<div class="container">
|
||
|
<div class="header-nav">
|
||
|
<div class="header-logo">
|
||
|
<a class="pull-left" href="../"><img class="mr20" src="../images/common/Coriolis-logo-white-4-small.png" alt="logo">Coriolis VLSI CAD Tools [offline]</a>
|
||
|
</div>
|
||
|
<div class="nav pull-right">
|
||
|
<a href="../pages/gitlab.html">Git</a>
|
||
|
<a href="../pages/documentation.html">Documentation</a>
|
||
|
</div>
|
||
|
<div class="nav pull-right">
|
||
|
<div class="dropdown">
|
||
|
<button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
|
||
|
<span class="caret"></span>Topics
|
||
|
</button>
|
||
|
<ul class="dropdown-menu">
|
||
|
<li><a class="dropdown-item " href="../pages/homepage.html">Coriolis <span class="sc">vlsi</span> Backend Tools</a></li>
|
||
|
<li><a class="dropdown-item active" href="../pages/install-cases.html">Install Cases</a></li>
|
||
|
<li><a class="dropdown-item " href="../pages/symbolic-layout.html">Symbolic Layout</a></li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<!-- /Static navbar -->
|
||
|
|
||
|
<!-- Header -->
|
||
|
<div class="container header-wrapper">
|
||
|
<div class="row">
|
||
|
<div class="col-lg-12">
|
||
|
<div class="header-content">
|
||
|
<a href="https://www.lip6.fr/"><img class="mr20" height="60px" src="../images/common/LogoLIP6Blanc.png" alt="LIP6"></a>
|
||
|
<a href="https://www.sorbonne-universite.fr/"><img class="mr20" height="60px" src="../images/common/logo-SU-blanc-700px.png" alt="Sorbonne Universite"></a>
|
||
|
<a href="https://www.cnrs.fr/"><img class="mr20" height="60px" src="../images/common/LOGO-cnrs-white-large.png" alt="CNRS"></a>
|
||
|
<h1 class="header-title text-uppercase">Install Cases</h1>
|
||
|
<div class="header-underline"></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<!-- /Header -->
|
||
|
|
||
|
</div>
|
||
|
<!-- /Header -->
|
||
|
|
||
|
|
||
|
<!-- Content -->
|
||
|
<div class="container content">
|
||
|
<!-- -*- Mode: rst -*- -->
|
||
|
<div class="contents topic" id="contents">
|
||
|
<p class="topic-title first">Contents</p>
|
||
|
<ul class="simple">
|
||
|
<li><a class="reference internal" href="#installation-in-a-chrooted-environment" id="id2">Installation in a <em>chrooted</em> Environment</a><ul>
|
||
|
<li><a class="reference internal" href="#setting-up-the-chrooted-root-directory" id="id3">Setting up the <em>chrooted</em> root directory</a></li>
|
||
|
<li><a class="reference internal" href="#configure-schroot" id="id4">Configure <tt class="docutils literal">schroot</tt></a></li>
|
||
|
<li><a class="reference internal" href="#installing-packages-in-debian-9" id="id5">Installing Packages in Debian 9</a></li>
|
||
|
<li><a class="reference internal" href="#creating-a-duplicate-user" id="id6">Creating a Duplicate User</a></li>
|
||
|
<li><a class="reference internal" href="#installation-of-alliance-coriolis" id="id7">Installation of <span class="sc">Alliance</span> / <span class="sc">Coriolis</span></a></li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<!-- -*- Mode: rst; explicit-buffer-name: "definition.rst<documentation/etc>" -*- -->
|
||
|
<!-- HTML/LaTeX backends mixed macros. -->
|
||
|
<!-- Acronyms & names. -->
|
||
|
<!-- URLs -->
|
||
|
<!-- Standard CAO/VLSI Concepts. -->
|
||
|
<!-- Alliance & MBK Concepts -->
|
||
|
<!-- Hurricane Concepts. -->
|
||
|
<div class="section" id="installation-in-a-chrooted-environment">
|
||
|
<h2><a class="toc-backref" href="#id2">Installation in a <em>chrooted</em> Environment</a></h2>
|
||
|
<p>In this case, we will setup a Debian 9 installation of Alliance/Coriolis under
|
||
|
a <span class="sc">Scientific Linux</span> 7 <span class="sc">os</span>. This should also work for <span class="sc">rhel</span> or <span class="sc">CentOS</span>.</p>
|
||
|
<p>Debian 9 will be referred as the <em>guest OS</em> or the <em>chrooted</em>.
|
||
|
<span class="sc">Scientific Linux</span> will be referred as the <em>host OS</em>.</p>
|
||
|
<div class="section" id="setting-up-the-chrooted-root-directory">
|
||
|
<h3><a class="toc-backref" href="#id3">Setting up the <em>chrooted</em> root directory</a></h3>
|
||
|
<p>We need the <tt class="docutils literal">debootstrap</tt> and <tt class="docutils literal">schroot</tt> packages (from the <span class="sc">epel</span> repository).</p>
|
||
|
<div class="highlight"><pre><span></span>root@pc:~# yum install debootstrap schroot
|
||
|
</pre></div>
|
||
|
<p>On the <strong>host</strong> <span class="sc">os</span>, as the <span class="cb">root</span> user, create the directory into which the
|
||
|
whole <em>chrooted</em> <span class="sc">os</span> will reside:</p>
|
||
|
<div class="highlight"><pre><span></span>root@pc:~# mkdir -p /home/chroot/debian9.coriolis
|
||
|
root@pc:~# debootstrap stretch /home/chroot/debian9.coriolis http://ftp.us.debian.org/debian
|
||
|
root@pc:~# <span class="nb">echo</span> <span class="s2">"debian9.coriolis"</span> > /home/chroot/debian9.coriolis/etc/debian_chroot
|
||
|
</pre></div>
|
||
|
<p>Then, we need to give access the <em>chrooted</em> distribution to some kernel filesystem
|
||
|
of the host, namely <tt class="docutils literal">dev</tt>, <tt class="docutils literal">proc</tt>, <tt class="docutils literal">sys</tt> & <tt class="docutils literal">tmp</tt>. On the <em>host</em> filesytem,
|
||
|
add to <tt class="docutils literal">/etc/fstab</tt>:</p>
|
||
|
<div class="highlight"><pre><span></span># Your host normal mounts.
|
||
|
# ...
|
||
|
# For Jail chroot of Debian9.
|
||
|
/dev /home/chroot/debian9.coriolis/dev none bind 0 0
|
||
|
/dev/pts /home/chroot/debian9.coriolis/dev/pts none bind 0 0
|
||
|
/proc /home/chroot/debian9.coriolis/proc none bind 0 0
|
||
|
/sys /home/chroot/debian9.coriolis/sys none bind 0 0
|
||
|
/tmp /home/chroot/debian9.coriolis/tmp none bind 0 0
|
||
|
</pre></div>
|
||
|
<p>Mount them:</p>
|
||
|
<div class="highlight"><pre><span></span>root@pc:~# mount -a
|
||
|
</pre></div>
|
||
|
</div>
|
||
|
<div class="section" id="configure-schroot">
|
||
|
<h3><a class="toc-backref" href="#id4">Configure <tt class="docutils literal">schroot</tt></a></h3>
|
||
|
<p>Edit <tt class="docutils literal">/etc/schroot.d/schroot.conf</tt> as follow:</p>
|
||
|
<div class="highlight"><pre><span></span>[debian9.coriolis]
|
||
|
description=Debian 9 stretch
|
||
|
directory=/home/chroot/debian9.coriolis
|
||
|
users=ego
|
||
|
</pre></div>
|
||
|
<div class="note">
|
||
|
<p class="first admonition-title">Note</p>
|
||
|
<p><strong>Users in the schrooted environment.</strong> They must exists on both the host
|
||
|
system <strong>and</strong> in the chrooted one. It is best if they also have the same
|
||
|
<span class="sc">uid</span> / <span class="sc">gid</span> and home directories (relative to their respectives root).
|
||
|
For example, for a <tt class="docutils literal">ego</tt> user:</p>
|
||
|
<table class="last table">
|
||
|
<colgroup>
|
||
|
<col width="57%" />
|
||
|
<col width="43%" />
|
||
|
</colgroup>
|
||
|
<thead valign="bottom">
|
||
|
<tr><th class="head">On the Host</th>
|
||
|
<th class="head">In the <em>chrooted</em> <span class="sc">os</span></th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody valign="top">
|
||
|
<tr><td><tt class="docutils literal">/home/ego</tt></td>
|
||
|
<td>N/A</td>
|
||
|
</tr>
|
||
|
<tr><td><tt class="docutils literal">/home/chroot/debian9.coriolis/home/ego</tt></td>
|
||
|
<td><tt class="docutils literal">/home/ego</tt></td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="section" id="installing-packages-in-debian-9">
|
||
|
<h3><a class="toc-backref" href="#id5">Installing Packages in Debian 9</a></h3>
|
||
|
<p>Now that <tt class="docutils literal">schroot</tt> is set, we can log in the guest <span class="sc">os</span> as <tt class="docutils literal">root</tt> and add the
|
||
|
minimal needed package set to build <span class="sc">Alliance</span> / <span class="sc">Coriolis</span>.</p>
|
||
|
<div class="highlight"><pre><span></span>root@pc:~# schroot -c debian9.coriolis -u root
|
||
|
<span class="o">(</span>debian9.coriolis<span class="o">)</span>root@pc:~# <span class="nb">export</span> <span class="nv">DEBIAN_FRONTEND</span><span class="o">=</span>noninteractive
|
||
|
<span class="o">(</span>debian9.coriolis<span class="o">)</span>root@pc:~# apt-get update
|
||
|
<span class="o">(</span>debian9.coriolis<span class="o">)</span>root@pc:~# apt-get -y install build-essential binutils-dev <span class="se">\</span>
|
||
|
git cmake bison flex gcc python-dev <span class="se">\</span>
|
||
|
libboost-all-dev libboost-python-dev <span class="se">\</span>
|
||
|
zlib1g-dev libxml2-dev rapidjson-dev <span class="se">\</span>
|
||
|
libbz2-dev <span class="se">\</span>
|
||
|
qt4-dev-tools libqwt-dev python-qt4 <span class="se">\</span>
|
||
|
autotools-dev automake <span class="se">\</span>
|
||
|
libxt-dev libxpm-dev libmotif-dev <span class="se">\</span>
|
||
|
yosys <span class="se">\</span>
|
||
|
vim
|
||
|
<span class="o">(</span>debian9.coriolis<span class="o">)</span>root@pc:~# apt-get clean
|
||
|
</pre></div>
|
||
|
</div>
|
||
|
<div class="section" id="creating-a-duplicate-user">
|
||
|
<h3><a class="toc-backref" href="#id6">Creating a Duplicate User</a></h3>
|
||
|
<p>As stated before, we must create in the guest <span class="sc">os</span> a user that also exist on the
|
||
|
host <span class="sc">os</span>, and with the same <span class="sc">uid</span> and home directory. Here we assume that <tt class="docutils literal">ego</tt>
|
||
|
has an <span class="sc">uid</span> of 20000.</p>
|
||
|
<div class="highlight"><pre><span></span><span class="o">(</span>debian9.coriolis<span class="o">)</span>root@pc:~# adduser --uid <span class="m">20000</span> ego
|
||
|
Adding user <span class="sb">`</span>ego<span class="s1">' ...</span>
|
||
|
<span class="s1"> Adding new group `ego'</span> <span class="o">(</span>20000<span class="o">)</span> ...
|
||
|
Adding new user <span class="sb">`</span>ego<span class="s1">' (20000) with group `ego'</span> ...
|
||
|
Creating home directory <span class="sb">`</span>/home/ego<span class="s1">' ...</span>
|
||
|
<span class="s1"> Copying files from `/etc/skel'</span> ...
|
||
|
Enter new UNIX password:
|
||
|
Retype new UNIX password:
|
||
|
passwd: password updated successfully
|
||
|
Changing the user information <span class="k">for</span> ego
|
||
|
Enter the new value, or press ENTER <span class="k">for</span> the default
|
||
|
Full Name <span class="o">[]</span>: Me Myself and I
|
||
|
Room Number <span class="o">[]</span>: 404
|
||
|
Work Phone <span class="o">[]</span>: <span class="m">666</span> <span class="m">666</span> 666
|
||
|
Home Phone <span class="o">[]</span>: 3615
|
||
|
Other <span class="o">[]</span>:
|
||
|
Is the information correct? <span class="o">[</span>Y/n<span class="o">]</span> Y
|
||
|
<span class="o">(</span>debian9.coriolis<span class="o">)</span>root@pc:~#
|
||
|
</pre></div>
|
||
|
</div>
|
||
|
<div class="section" id="installation-of-alliance-coriolis">
|
||
|
<h3><a class="toc-backref" href="#id7">Installation of <span class="sc">Alliance</span> / <span class="sc">Coriolis</span></a></h3>
|
||
|
<p>Download the installer script: <a class="reference external" href="../scripts/socInstaller.py">socInstaller.py</a>. And put it in the home
|
||
|
directory of the user <tt class="docutils literal">ego</tt> in the guest <span class="sc">os</span>.</p>
|
||
|
<div class="note">
|
||
|
<p class="first admonition-title">Note</p>
|
||
|
<p class="last">As it is more easier to download it from the host <span class="sc">os</span>, you may do
|
||
|
so and just copy it under <tt class="docutils literal">/home/chroot/debian9.coriolis/home/ego</tt>.
|
||
|
As they share the same <span class="sc">uid</span>, the copy is allowed.</p>
|
||
|
</div>
|
||
|
<p>Now we can connect as the <tt class="docutils literal">ego</tt> user on the guest <span class="sc">os</span>:</p>
|
||
|
<div class="highlight"><pre><span></span>ego@pc:~> schroot -c debian9.coriolis -u ego
|
||
|
<span class="o">(</span>debian9.coriolis<span class="o">)</span>jpc@pc:~> ./socInstaller.py --chroot --profile<span class="o">=</span>Debian9 <span class="se">\</span>
|
||
|
--do-alliance --do-coriolis
|
||
|
</pre></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
<!-- /Content -->
|
||
|
|
||
|
<!-- Footer -->
|
||
|
<div class="footer gradient-2">
|
||
|
<div class="container footer-container ">
|
||
|
<div class="row">
|
||
|
<div class="col-xs-4 col-sm-3 col-md-3 col-lg-3">
|
||
|
<div class="footer-title">Social</div>
|
||
|
<ul class="list-unstyled">
|
||
|
</ul>
|
||
|
</div>
|
||
|
<div class="col-xs-4 col-sm-3 col-md-3 col-lg-2">
|
||
|
</div>
|
||
|
<div class="col-xs-4 col-sm-3 col-md-3 col-lg-3">
|
||
|
<div class="footer-title">Links</div>
|
||
|
<ul class="list-unstyled">
|
||
|
<li><a href="https://coriolis.lip6.fr/" target="_blank">Alliance/Coriolis</a></li>
|
||
|
<li><a href="https://www-soc.lip6.fr/" target="_blank">CIAN Team Website</a></li>
|
||
|
<li><a href="https://f-si.org" target="_blank">Free Silicon Foundation</a></li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<div class="col-xs-12 col-sm-3 col-md-3 col-lg-4">
|
||
|
<p class="pull-right text-right">
|
||
|
<small><em>Proudly powered by <a href="http://docs.getpelican.com/" target="_blank">pelican</a></em></small><br/>
|
||
|
<small><em><span class="sc">NEST</span> theme by <a href="https://github.com/molivier" target="_blank">molivier</a></em></small><br/>
|
||
|
<small>Copyright © 2020-2020 Sorbonne Universite</small>
|
||
|
</p>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<!-- /Footer -->
|
||
|
</body>
|
||
|
</html>
|