<div dir="ltr">Dear Amitoj,<br><br><div class="gmail_quote"><div dir="ltr">ср, 7 нояб. 2018 г. в 2:36, Amitoj Kaur Chawla <<a href="mailto:amitoj1606@gmail.com" target="_blank">amitoj1606@gmail.com</a>>:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, Nov 6, 2018 at 7:45 AM Ilja Zakharov <<a href="mailto:ilja.zakharov@ispras.ru" target="_blank">ilja.zakharov@ispras.ru</a>> wrote:<br>
><br>
> Dear Amitoj,<br>
><br>
> We released a new version of Klever software verification framework, so some deployment and verification steps changed a bit. In case you would like to try it out there is a guide to run verification using the new Klever version.<br>
><br>
> 1. Choose your favorite Ubuntu/Debian image. The instruction below is prepared for Ubuntu 18 but it not strictly required.<br>
> 2. Download and create a new desktop installation or virtual machine with the system.  Don't forget about our hardware requirements!<br>
> 3. Download our software verification framework:<br>
> sudo apt-get install git<br>
> git clone <a href="https://github.com/ldv-klever/klever.git" rel="noreferrer" target="_blank">https://github.com/ldv-klever/klever.git</a><br>
><br>
> 4. Then follow deployment steps for the local deployment. In particular modify klever-minimal.json.sample and save it as klever.json in $KLEVER_SRC/deployment/conf/ directory. Also set environment variables to specify $KLEVER_SRC directory with Klever source files and target installation directory $KLEVER_DEPLOY_DIR. Then install Klever with the command:<br>
> sudo $KLEVER_SRC/deploys/bin/deploy-local --deployment-directory $KLEVER_DEPLOY_DIR install production<br>
><br>
> 5. After Klever installation you can build the kernel and create build base.<br>
><br>
> Download the kernel:<br>
> wget <a href="https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-3.14.79.tar.gz" rel="noreferrer" target="_blank">https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-3.14.79.tar.gz</a><br>
> tar -xf linux-3.14.79.tar.gz<br>
><br>
> Install a suitable compiler:<br>
> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 10<br>
> sudo update-alternatives --config gcc<br>
> And choose 4.8 compiler there<br>
><br>
> Prepare your PATH environment variable:<br>
> export PATH=$KLEVER_DEPLOY_DIR/klever-addons/CIF/bin/:$PATH<br>
><br>
> Then run the following commands. It will take a lot of time<br>
> make allmodconfig<br>
> clade-intercept make -j8 modules_prepare<br>
> clade-intercept -a make -j8 all<br>
> clade-all -p linux_kernel ./cmds.txt<br>
> echo "[\"$(readlink -f .)\"]" > ./clade/Storage/working source trees.json<br>
><br>
<br>
Hi Ilja,<br>
<br>
I'm a little confused in these steps. I believe I'll be running the<br>
make command in the linux repo I downloaded earlier, but confused on<br>
the clade-intercept steps.<br></blockquote><div><br></div><div>Year, this is a bit imprecise, you need to run clade-intercept commands inside the Linux source directory. Clade intercepts the build commands that Make performs building your kernel, so Clade runs what exactly you give it. I used in the example make commands to build all loadable kernel modules for instance.<br></div><div></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It's mentioned in the documentation that clade should be used to<br>
obtain build bases, I cloned the clade repo from the link but unsure<br>
of how to go on. Could you help me out or point me to some<br>
documentation which helps me do so?<br></blockquote><div><br></div><div>In case you are interested in Clade documentation, it is available from the <a href="https://github.com/17451k/clade">GitHub Clade page</a>. However, Klever at installation installs all necessary packages including Clade, so you do not need to install it manually or clone its repo if you already installed Klever 2.0 (or current master branch).<br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Amitoj<br>
> 6. Move this build base to another place. This is an optional step but if you are going to build more bases in this directory then it is better to do it. Note, then you need a new base for each new configuration or kernel version.<br>
> mv clade $NEW_PLACE/linux-3.14.79<br>
><br>
> 7. Modify your deployment klever.json file in $KLEVER_DEPLOY_DIR and add there a new section at the end of the file in the root JSON object:<br>
> "Klever Build Bases": ["$NEW_PLACE/linux-3.14.79"]<br>
><br>
> Instead of $NEW_PLACE set an absolute path to the directory with your build base.<br>
><br>
> 8 Update the Klever installation:<br>
> sudo $KLEVER_SRC/deploys/bin/deploy-local --deployment-directory $KLEVER_DEPLOY_DIR update production<br>
><br>
> 9. Now you can run verification.<br>
> Open localhost:8998 in the web browser.<br>
> Input username: manager, password: manager.<br>
> Click "Linux 3.14".<br>
> Click Job->Edit or ->Copy and edit job.json and other files depending on your needs.<br>
> In the job.json set "build base": "linux-3.14.79" or an another name if you named your build base differently.<br>
> Before running any large target such as all modules first try to verify modules given with the example.<br>
> 10. Click Decision->Start.<br>
> 11. Click "Start" or "Start with default values".<br>
> 13. Wait for verification results. It can take very much time especially if your hardware isn't powerful enough.<br>
><br>
> If you will meet some issues, please, report them to us. We will try to solve or workaround them together. Note also, that we renamed some files, so there are some differences from the Klever-1.1 version in job files.<br>
><br>
> Best regards,<br>
> Ilia Zakharov<br>
><br>
><br>
> пт, 26 окт. 2018 г. в 23:57, Alexey Khoroshilov <<a href="mailto:khoroshilov@ispras.ru" target="_blank">khoroshilov@ispras.ru</a>>:<br>
>><br>
>> Dear Amitoj,<br>
>><br>
>> On 24.10.2018 4:03, Amitoj Kaur Chawla wrote:<br>
>> > Hi Alexey,<br>
>> ><br>
>> > I followed the klever documentation and I am a little confused about<br>
>> > the Local Deployment command<br>
>> > in particular:<br>
>> > $ sudo $KLEVER_SRC/deploys/bin/deploy-local --deployment-directory<br>
>> > $KLEVER_DEPLOY_DIR install production<br>
>> > What exactly is the $KLEVER_DEPLOY_DIR deployment directory here?<br>
>> KLEVER_DEPLOY_DIR is a directory where KLEVER should be installed.<br>
>><br>
>> > Also, if I understand correctly, klever will run on the linux tarball<br>
>> > versions I'm downloading for the Target Software?<br>
>> Yes, that is correct.<br>
>> After installation you should open localhost:8998 in your web browser,<br>
>> login as Manager (login: manager, password: manager) and run<br>
>> verification of one of available programs.<br>
>><br>
>><br>
>> We have added you to the mailing list.<br>
>> I hope it will work for you now.<br>
>><br>
>> Best regards,<br>
>> Alexey<br>
>><br>
>><br>
>> _______________________________________________<br>
>> ldv-project mailing list<br>
>> <a href="mailto:ldv-project@linuxtesting.org" target="_blank">ldv-project@linuxtesting.org</a><br>
>> <a href="http://linuxtesting.org/cgi-bin/mailman/listinfo/ldv-project" rel="noreferrer" target="_blank">http://linuxtesting.org/cgi-bin/mailman/listinfo/ldv-project</a><br>
</blockquote></div></div>