Giter VIP home page Giter VIP logo

xenomai's Introduction

DISCONTINUATION OF PROJECT

This project will no longer be maintained by Intel.

Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.

Intel no longer accepts patches to this project.

If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.

Contact: [email protected]

Xenomai

This project contains the scripts to setup a Xenomai(xenomai.org) powered real-time co-kernel Linux distribution in Yocto/Bitbake way, it has fewest code for education purpose but not for production.

Overview:

The entire project is based on Yocto, Xenomai's code and ipipe pathces are organized into meta-xenomai-intel. 'download.sh' will download a code snapshot of Yocto poky and other meta layers, based on the branch&revision in the manifest which you selected.

Build guide:

  • Prerequisite:

The scripts are written in Go, please setup Golang environment on your host machine: https://golang.org/doc/install or https://golang.google.cn/doc/install for China.

  • Download:

$./download.sh
Pls select a snapshot of code to download:
[1] manifest_1
[2] manifest_2

Type "1" to choose "manifest_1", it combines kernel 4.14.68 and xenomai 3.0.7; detailed branch and revision pls see: setup/manifest_1_.go; depends on your network, download code snapshot will take some time.

  • Build:

$cd snapshots/manifest_1/
$source poky/oe-init-build-env build  ### will jump to build/ automaticly
$bitbake -k core-image-xfce-sdk
# or target without build facilities:
$bitbake -k core-image-xfce
# or kernel only:
$bitbake virtual/kernel
  • Make bootable USB disk:

Output images under: build/tmp/deploy/images/intel-corei7-64/

Assume a USB disk is plugged in and enum as: /dev/sdb

Liveboot USB disk creation for UEFI BIOS:

   $ sudo dd if=core-image-xfce-sdk-intel-corei7-64.rootfs.wic of=/dev/sdb bs=4M status=progress oflag=sync

Liveboot USB disk creation for legacy BIOS:

   $ sudo dd if=core-image-xfce-sdk-intel-corei7-64.hddimg of=/dev/sdb bs=4M status=progress oflag=sync

xenomai's People

Contributors

finomeng avatar kshithijiyer avatar rdower avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

xenomai's Issues

Xenomai latency fails to create threads

In summary, the Xenomai latency fails in the Intel Xenomai intel-corei7-64 image, when run with QEMU.

The problem may be reproduced from a Ubuntu 18.04 host by following these steps:

  • In a terminal, install Go:

    wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz
    sudo tar -C /usr/local -xzf go1.14.2.linux-amd64.tar.gz
    rm go1.14.2.linux-amd64.tar.gz
    PATH=$PATH:/usr/local/go/bin
    
  • Install the Yocto Project dependencies:

    sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
         build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
         xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
         pylint3 xterm
    
  • Clone Intel Xenomai and run the download script (when prompted, type "1"):

    git clone [email protected]:intel/xenomai.git
    cd xenomai
    chmod 755 download.sh
    ./download.sh
    
  • Bake the XFCE image:

    cd snapshots/manifest_1/
    source poky/oe-init-build-env build
    bitbake -k core-image-xfce-sdk
    
  • Run the image in QEMU (when prompted for login, type "root"):

    runqemu intel-corei7-64 qemuparams="-m 2048 -smp 4" slirp nographic
    
  • Check the Xenomai install:

    dmesg | grep -i Xenomai
    cat /proc/xenomai/sched/threads
    
  • Export the LD_LIBRARY_PATH and PATH:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/xenomai/lib
    export PATH=$PATH:/usr/xenomai/bin
    
  • Make sure we are root and our real-time priority soft limit is not too restrictive:

    whoami
    ulimit -r unlimited
    
  • Add root to the allowed group:

    cat /sys/module/xenomai/parameters/allowed_group
    ls -l /sys/module/xenomai/parameters/allowed_group 
    chmod 744 /sys/module/xenomai/parameters/allowed_group
    echo "0" >> /sys/module/xenomai/parameters/allowed_group
    cat /sys/module/xenomai/parameters/allowed_group
    
  • Run the Xenomai latency:

    latency -p 1000
    

Actual result:

  • latency return code is 1.
  • latency fails with the following log:
    == Sampling period: 1000 us
    == Test mode: periodic user-mode task
    == All results in microseconds
    latency: pthread_create(latency): Operation not permitted
    

Expected result: The latency test should display a message every second with minimum, maximum and average latency values.

PS: Xenomai is new to me, so I am certainly missing something fairly obvious, but I cannot figure this out. Any help would be very much appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.