Support OpenKore:
Learn about
the Fund Pool

How to run OpenKore on Linux/Unix

English | Deutsch

Contents


(Un)supported Linux distributions and operating systems

OpenKore is known to not work on some live CD distributions, because they do not ship enough software. Distributions on which OpenKore does not work include:

On the other hand, OpenKore is guaranteed to work on at least:

Preparation

You must first make sure that you have several things installed before you can run OpenKore.

C/C++ compiler

You must have a C and C++ compiler installed. GCC is installed by default on many Linux distributions, but apparently some people install Linux without GCC.

To check whether you have a C++ compiler installed, open a terminal and type:

g++ -v

If you don't get an error, then you have a C++ compiler, and you can skip to the next paragraph. If not, read the table below.

OS/distribution Instructions
Fedora/RHEL/CentOS Open a terminal and type type:
su -c 'yum install gcc-c++'
Ubuntu Open a terminal and type:
sudo apt-get install build-essential g++
Debian Open a terminal and type:
su -c 'apt-get install g++'
(Open)Suse Open a terminal and type:
su -c 'yast -i gcc-c++'
Other Linux distributions Look in your distribution's CD for packages called gcc, and gcc-c++ or g++.
MacOS X Read http://www.tech-recipes.com/mac_system_administration_tips726.html

Perl

You must have Perl 5.8.2 or newer installed. 5.8.1 or earlier are not supported! To check whether you have Perl installed (and whether it is the correct version), type:

perl -v | grep perl

If you see the Perl version number, then it is installed. If you get an error, then it is not installed, and you should read the following table.

OS/distribution Instructions
Fedora/RHEL/CentOS Open a terminal and type:
su -c 'yum install perl'
Ubuntu Open a terminal and type:
sudo apt-get install perl
Debian Open a terminal and type:
su -c 'apt-get install perl-base'
Other Linux distributions Download it from http://www.perl.org/
FreeBSD Open a terminal and type:
cd /usr/ports/lang/perl5.8
su -c 'make install'
MacOS X Read http://developer.apple.com/internet/opensource/perl.html

Perl module: Time::HiRes

You need the Time::HiRes Perl module. You can check whether you already have it by typing

perl -e 'use Time::HiRes;'

If nothing happens, then it is installed, and you can skip to the next paragraph. If you get an error, then it is not installed, and you should read the following table.

OS/distribution Instructions
Fedora/RHEL/CentOS Open a terminal and type:
su -c 'yum install perl-Time-HiRes'
Debian Open a terminal and type:
su -c 'apt-get install libtime-hires-perl'
FreeBSD Open a terminal and type:
cd /usr/ports/devel/p5-Time-HiRes
su -c 'make install'
Other operating systems or Linux distributions Download the Time::HiRes source code from CPAN and compile and install it.

Perl module: Compress::Zlib

You need the Compress::Zlib Perl module. You can check whether you already have it by typing

perl -e 'use Compress::Zlib;'

If nothing happens, then it is installed, and you can skip to the next paragraph. If you get an error, then it is not installed, and you should read the following table.

OS/distribution Instructions
Ubuntu Open a terminal and type:
sudo apt-get install libcompress-zlib-perl
FreeBSD Open a terminal and type:
cd /usr/ports/archivers/p5-Compress-Zlib
su -c 'make install'
Other operating systems or Linux distributions Download the Compress::Zlib source code from CPAN and compile and install it.

GNU readline

GNU readline and its associated development package must be installed. You need at least version 5.0. To check whether you have a recent enough version of GNU readline, follow the following instructions:

  1. Copy and past the following text into a text editor:
    #include <stdio.h>
    #include <readline/readline.h>
    #if !defined(RL_READLINE_VERSION)
    	#error "You do not have the GNU readline development headers installed!"
    #elif RL_READLINE_VERSION < 0x0500
    	#error "Your version of GNU readline is too old. Please install version 5.0 or higher."
    #endif
    
    
    
    (note that the file must end with an empty line)
  2. Save the file as readlinetest.c in your home folder.
  3. Open a terminal and type:
    gcc -c ~/readlinetest.c

If you do not see any output, then that means you have GNU readline correctly installed, and you can skip to the next paragraph. If you do see an error message, then read the following table.

OS/distribution Instructions
Fedora/RHEL/CentOS Open a terminal and type:
su -c 'yum install readline-devel'
Ubuntu Open a terminal and type:
sudo apt-get install libreadline5-dev
Debian Open a terminal and type:
su -c 'apt-get install libreadline5-dev'
Other operating systems or Linux distributions You must compile readline and install readline from source.
  1. Download the readline source code from the GNU FTP. You should download the latest version (at the time this page is written, the latest version is readline-5.1.tar.gz). Save the file to your home folder.
  2. Open a terminal, and type:
    tar xzvf readline-X.X.tar.gz && cd readline-X.X
    (where X.X is the version of the file you downloaded)
  3. Type:
    ./configure && make && su -c 'make install'

MacOS X note: do not install Readline from Fink! That won't work.

FreeBSD Open a terminal and type:
cd /usr/ports/devel/readline
su -c 'make install'

GNU make (only for OpenKore 1.6.x and 1.9.0)

gmake (GNU make) must be installed. To check whether you have gmake installed, open a terminal and type:

gmake -v

If it displays the gmake version, then you have gmake installed, and you can proceed to the next paragraph. If you get a "command not found" error, then gmake is not installed, and you should follow the following table.

OS/distribution Instructions
Fedora/RHEL/CentOS Open a terminal and type:
su -c 'yum install make'
Ubuntu Open a terminal and type:
sudo apt-get install build-essential
sudo ln -sf /usr/bin/make /usr/bin/gmake
Debian Open a terminal and type:
su
apt-get install make
ln -sf /usr/bin/make /usr/bin/gmake
FreeBSD Open a terminal and type:
cd /usr/ports/devel/gmake
su -c 'make install'
(Open)Suse Open a terminal and type:
su -c 'yast2 -i make'
Other operating systems or Linux distributions You must compile readline and install GNU make from source.
  1. Download the GNU make source code from the GNU FTP. You should download the latest version (at the time this page is written, the latest version is make-3.81.tar.gz). Save the file to your home folder.
  2. Open a terminal, and type:
    tar xzvf make-X.X.tar.gz && cd make-3.81
    (where X.X is the version of the file you downloaded)
  3. Type:
    ./configure && make && su -c 'make install'

Python (only for OpenKore 1.9.1 and later)

Python must be installed. To check whether you have it, type:

echo 'print "Python is installed"' | python

If you get the message "Python is installed", then Python is installed, and you can skip to the next paragraph. If Python is not installed, then read the following table.

OS/distribution Instructions
Fedora/RHEL/CentOS Open a terminal and type:
su -c 'yum install python'
Ubuntu Open a terminal and type:
sudo apt-get install python
Debian Open a terminal and type:
su -c 'apt-get install python'
FreeBSD Open a terminal and type
cd /usr/ports/lang/python
su -c 'make install'
MacOS X Download Python here.

Curl development libraries (only for OpenKore 1.9.1 or later)

The Curl development libraries are needed to compile OpenKore. To check whether you have it, type:

curl-config --version

If you get "command not found" as error message, you need to install libcurl:

OS/distribution Instructions
Fedora/RHEL/CentOS Open a terminal and type:
su -c 'yum install curl-devel'
Ubuntu First, search for the libcurl package using the package manager. Open a terminal and type:
apt-cache search libcurl
Then install the latest version with this command:
sudo apt-get install libcurlx-dev

where 'x' is the version number as found by the 'apt-cache search' command.

Debian First, search for the libcurl package using the package manager. Open a terminal and type:
apt-cache search libcurl
Then install the latest version with this command:
su -c 'apt-get install libcurlx-dev'

where 'x' is the version number as found by the 'apt-cache search' command.

FreeBSD Open a terminal and type:
cd /usr/ports/ftp/curl
su -c 'make install'
Other operating systems or Linux distributions Install libcurl from source by downloading it from the Curl homepage.

Running OpenKore

Download

First, download the OpenKore source code. You may also want to download the default configuration/table files and the field pack if you haven't done so already.

Extract

Extract the archives as instructed on the download page.

Run

Open a terminal. Go the OpenKore folder. Type:

perl ./openkore.pl

And you're done. OpenKore will automatically try to compile XSTools.so, an internally used library. If compilation fails, please check the Common problems. If you still cannot, report the error on our forum.

Common problems

ld: cannot find -ltermcap

This problem can only occur in OpenKore 1.6, not 1.9 or later. Some distros don't support termcap anymore. Open up 'src/auto/XSTools/Makefile.in' with a text editor.

Change

LIBS=-lreadline -L/usr/lib/termcap -ltermcap -pthread `curl-config --libs`

to

LIBS=-lreadline -lncurses -pthread `curl-config --libs`

Missing headers

Another common reason why compilation fails is because of missing headers. Look in the compilation messages. Do you see a message somewhere that looks like this?

foo.h: No such file or directory

If so, then that means you didn't install all the libraries that OpenKore needs! Please go through Preparation again.