Skip to content
/ tuxml Public
forked from TuxML/tuxml

The main repository of the TuxML project, contains the scripts and codes for Linux kernel compilations.

License

Notifications You must be signed in to change notification settings

FabienZa/tuxml

 
 

Repository files navigation

TuxML: Machine Learning and Linux Kernel

The goal of TuxML is to predict properties of Linux Kernel configurations (e.g., does the kernel compile? what's its size? does it boot?). The Linux Kernel provides nearly 15000 configuration options: there is an infinity of different kernels. As we cannot compile, measure, and observe all combinations of options (aka configurations), we're trying to learn Linux kernel properties out of samples of configurations. See talk at Embedded Linux Conference Europe in 2019:

Alt text

You can easily loan your machine and contribute if you want, just copy and paste the line below!

TuxML's
Logo

The goal of the TuxML team is to develop tools, mainly based on Docker and Python, to massively compile and gather data about thousand of kernel configurations. The TuxML name comes from the combination of Tux, the mascot of the Linux Kernel, and ML for statistical Machine Learning.

I want to help by compiling some Linux kernels!

Requirements : Python3 and Docker are needed (do not forget to start the docker service usually with sudo service docker start).

wget https://raw.githubusercontent.com/TuxML/ProjetIrma/dev/kernel_generator.py ; python3 kernel_generator.py --dev 1

Copy this command and run it in a terminal. It will send compilation results to our database. You can modify the 1 parameter to any other number (it's the number of kernels your machine will compile). The python script gives you some other options that you can use, see this page for more.

For a more up-to-date version of TUXML, please consider the dev branch

I want to know more about the project!

Please check our wiki.

Contributors' list

  • Mathieu Acher (University Rennes 1, INRIA, CNRS, IRISA), scientific leader
  • DiverSE team (INRIA/IRISA research team)
  • ANR VaryVary project
  • Master 1's team of 2017-2018 :
    • Corentin CHÉDOTAL
    • Gwendal DIDOT
    • Dorian DUMANGET
    • Antonin GARRET
    • Erwan LE FLEM
    • Pierre LE LURON
    • Alexis LE MASLE
    • Mickaël LEBRETON
    • Fahim MERZOUK
  • Alexis LE MASLE (internship during 2018 summer)
  • Master 1's team of 2018-2019 :
    • Valentin PETIT
    • Julien ROYON CHALENDARD
    • Cyril HAMON
    • Paul SAFFRAY
    • Michaël PICARD
    • Malo POLES
    • Luis THOMAS
    • Alexis BONNET
  • Paul SAFFRAY (internship during 2019 summer)

Documentation

Requirements

  • python-mysql

    We suggest to install with your package manager instead of pip. For more info, please check the notes from its github repository:

    This project adds Python 3 support and bug fixes. I hope this fork is merged back to MySQLdb1 like distribute was merged back to setuptools.

    and this stackoverflow question

  • sphinx

    Check sphinx extensions used in the configuration file

Generate documentation

Run the following command from the root dir (ProjetIrma)

make doc

Index file of the documentation will be generated in Documenetation/doc/index.html

You can clean the Documentation directory with the following command

make cleandoc

(You can check Documentation's Makefile for more info about the doc generation)

About

The main repository of the TuxML project, contains the scripts and codes for Linux kernel compilations.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.5%
  • Shell 2.4%
  • Makefile 0.1%