Version 1 (modified by cv, 8 years ago) (diff)

First pass

Building a Kernel for Barrett Products and Ubuntu 14.04

Notice - Pre-release instructions

This software has not been fully tested. It is meant for use with external PC's only (not the WAM's internal PC/104). We recommend using a standard OS and Kernel that ship with Barrett's products.

Version Info

Ubuntu Version: 14.04.1

Kernel Version: 3.14.17

Xenomai Version: 2.6.4

Building Xenomai Packages

Install Prereq's:

sudo apt-get update
sudo apt-get install devscripts debhelper dh-kpatches findutils autotools-dev autoconf automake libtool

Get and unpack the tar.bz2 archive:

wget http://download.gna.org/xenomai/stable/xenomai-2.6.4.tar.bz2
tar -jxf xenomai-2.6.4.tar.bz2
cd xenomai-2.6.4
debuild -uc -us

Install the packages

cd
sudo dpkg -i *.deb

Patching the Kernel

Install Prereq's:

sudo apt-get install kernel-package libncurses-dev fakeroot zlib1g-dev

Locate and copy the correct ipipe patch from Xenomai:

cp /usr/src/xenomai-kernel-source/ksrc/arch/x86/patches/ipipe-core-3.14.17-x86-4.patch ~/ipipe-core-3.14.17-x86-4.patch

Download the kernel source archive and extract:

wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.17.tar.xz
tar -xf linux-3.14.17.tar.xz
cd linux-3.14.17

Patch the Kernel!! :D

/usr/src/xenomai-kernel-source/scripts/prepare-kernel.sh --arch=amd64 --linux=. --adeos=../ipipe-core-3.14.17-x86-4.patch

Update kernel config for Realtime

Update config as follows...

make menuconfig

-> General setup

-> Auditing support

-> Enable system-call auditing support - DISABLE

-> Real-time sub-system

-> Nucleus

-> Size of the system heap (Kb) - Set to 16384 -> Shared interrupts - ENABLE

-> Drivers

-> Serial Drivers

-> 16550A UART driver - ENABLE

-> CAN drivers

-> RT-Socket-CAN, CAN raw socket interface - ENABLE

-> Phillips SJA1000 CAN controller - ENABLE

-> Standard ISA controllers - ENABLE for PC/104 only -> PEAK PCI Card - ENABLE for external PC only

-> Real-time IPC drivers

-> RTIPC protocol family - LEAVE ALONE (DISABLE for non-IPC)

-> Processor type and features

-> Intel Low Power Subsystem Support - DISABLE -> Linux guest support - DISABLE -> Memtest - DISABLE -> Processor family - Set to Core 2/newer Xeon

-> Power management and ACPI options

-> Power Management Debug Support

-> Test suspend/resume and wakealarm during bootup - ENABLE

-> Enable workqueue power-efficient mode by default - DISABLE -> ACPI (Advanced Configuration and Power Interface) Support

-> Processor - DISABLE -> PCI slot detection driver - DISABLE -> Memory Hotplug - DISABLE -> Boottime Graphics Resource Table support - DISABLE -> ACPI Platform Error Interface (APEI)

-> APEI Error Record Serialization Table (ERST) Debug Support - MODULE

-> Extended Error Log support - DISABLE

-> CPU Frequency scaling

-> CPU Frequency scaling - DISABLE

-> CPU Idle

-> CPU idle PM support - DISABLE

-> Bus options (PCI etc.)

-> PCI support

-> PCI Express Port Bus support

-> PCI Express ASPM control

-> Debug PCI Express ASPM - DISABLE

-> Enable PCI resource re-allocation detection - DISABLE

-> Support for PCI Hotplug

-> ACPI PCI Hotplug driver - DISABLE

-> Device Drivers

-> Input device support

-> Miscellaneous devices

-> PC Speaker support - DISABLE

Build the Kernel

CONCURRENCY_LEVEL=8 fakeroot make-kpkg --initrd --append-to-version -xenomai-2.6.4 kernel_image kernel_headers

Image and Headers will be in the home directory. Follow the steps at http://support.barrett.com/wiki/BuildingAPC/14-04-1_64_Install to complete the PC installation.