Difference between revisions of "How to run OpenKore"

From OpenKore Wiki
Jump to: navigation, search
(Web archive, some edits)
 
((Un)supported Linux distributions and operating systems)
 
(29 intermediate revisions by 7 users not shown)
Line 1: Line 1:
=(Un)supported Linux distributions and operating systems=
+
== (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:
 
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:
  
Line 13: Line 12:
 
* MacOS X
 
* MacOS X
 
* Solaris 8  
 
* Solaris 8  
* Windows 2000, XP, 2003
+
* Windows 2000, XP, 2003, 7, 8, 8.1
  
=Requirements=
+
It also does work on 64bit linux systems, e.g. Arch 64.
  
You must first make sure that you have several things installed before you can run OpenKore.
+
== Quick start ==
 +
Guides in this section assume you have default OS installations.
  
==C/C++ compiler==
+
=== Windows ===
 +
* Run <code>start.exe</code>, <code>wxstart.exe</code> (starts with Wx GUI) or <code>openkore.pl</code> (requires [[How_to_run_OpenKore#Perl|perl interpreter]].
  
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.
+
=== OS X ===
 +
''Version 10.8.2''
 +
* [https://appleid.apple.com/ Get Apple ID] if you don't have one ''(only needed to download Command Line Tools for Xcode from Apple's own website)''.
 +
* Become [https://developer.apple.com/downloads/index.action Apple developer] ''(only needed to download Command Line Tools for Xcode from Apple's own website)''.
 +
* Install [https://developer.apple.com/downloads/ Command Line Tools for Xcode].
 +
* Install [https://github.com/Homebrew/brew/ Homebrew]. Run <code>brew doctor</code> etc if Homebrew asks for it and deal with it.
 +
* Install readline by running <code>brew install readline</code>.
 +
* Run <code>openkore.pl</code>.
 +
 
 +
== Requirements ==
 +
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 (this is only required to compile XSTools). 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:
 
To check whether you have a C++ compiler installed, open a terminal and type:
  
g++ -v
+
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.
 
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.
  
* Fedora/RHEL/CentOS
+
{|border="1" cellpadding="2" cellspacing="1"
    Open a terminal and type:
+
|- style=background-color:#F9F9F9;
    su -c 'yum install gcc-c++'
+
!OS/distribution
 +
!Instructions
 +
|-
 +
|align=center|Fedora/RHEL/CentOS
 +
|Open a terminal and type:
 +
su -c 'yum install gcc-c++'
 +
|-
 +
|align=center|Ubuntu
 +
|Open a terminal and type:
 +
sudo apt-get install build-essential g++
 +
|-
 +
|align=center|Debian
 +
|Open a terminal and type:
 +
su -c 'apt-get install build-essential g++'
 +
|-
 +
|align=center|(Open)Suse
 +
|Open a terminal and type:
 +
su -c 'yast -i gcc-c++'
 +
|-
 +
|align=center|Arch
 +
|On i686, open a terminal and type:
 +
su -c 'pacman -S base-devel'
 +
or, if you're on x86_64:
 +
su -c 'pacman -S multilib-devel'
 +
|-
 +
|align=center|Other Linux distributions
 +
|Look in your distribution's CD for packages called gcc, and gcc-c++ or g++.
 +
|-
 +
|align=center|MacOS X
 +
|Install [https://developer.apple.com/downloads/ Command Line Tools for Xcode]
  
* Ubuntu
+
Additional information: http://www.tech-recipes.com/mac_system_administration_tips726.html
    Open a terminal and type:
+
|}
    sudo apt-get install build-essential g++
+
  
* Debian
+
=== Perl ===
    Open a terminal and type:
+
----
    su -c 'apt-get install g++'
+
  
* (Open)Suse
+
You must have Perl '''5.10.1''' or newer installed (actually, 5.8.x may work, but kRO serverTypes and some other features won't work). Earlier versions might not be supported! To check whether you have Perl installed (and whether it is the correct version), type:
    Open a terminal and type:
+
    su -c 'yast -i gcc-c++'
+
  
* Other Linux distributions
+
perl -v | grep perl
    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.
 
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.
  
* Fedora/RHEL/CentOS
+
Thread support is needed for default interface to work (otherwise, use Console::Simple interface):
    Open a terminal and type:
+
perl -V | grep threads
    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
+
 
+
* Windows
+
    Install [http://www.activestate.com/activeperl/ ActivePerl]
+
  
==Perl module: Time::HiRes==
+
{|border="1" cellpadding="2" cellspacing="1"
 +
|- style=background-color:#F9F9F9;
 +
!OS/distribution
 +
!Instructions
 +
|-
 +
|align=center|Fedora/RHEL/CentOS
 +
|Open a terminal and type:
 +
su -c 'yum install perl'
 +
|-
 +
|align=center|Ubuntu
 +
|Open a terminal and type:
 +
sudo apt-get install perl
 +
|-
 +
|align=center|Debian
 +
|Open a terminal and type:
 +
su -c 'apt-get install perl-base'
 +
|-
 +
|align=center|Arch
 +
|Open a terminal and type:
 +
su -c 'pacman -S perl'
 +
|-
 +
|align=center|Other Linux distributions
 +
|Download it from http://www.perl.org/
 +
|-
 +
|align=center|FreeBSD
 +
| Perl 5.8 probably comes in default installation.
 +
Otherwise, open a terminal and type:
 +
su -c 'pkg_add -r perl5.8'
 +
|-
 +
|align=center|MacOS X
 +
|Read http://developer.apple.com/internet/opensource/perl.html
 +
|-
 +
|align=center|Windows
 +
|Install [http://strawberryperl.com/ Strawberry Perl] or [http://www.activestate.com/activeperl/ ActivePerl]
 +
|}
  
 +
=== Perl module: Time::HiRes ===
 +
----
 
You need the Time::HiRes Perl module. You can check whether you already have it by typing
 
You need the Time::HiRes Perl module. You can check whether you already have it by typing
  
perl -e 'use Time::HiRes;'
+
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.
 
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'
+
{|border="1" cellpadding="2" cellspacing="1"
 +
|- style=background-color:#F9F9F9;
 +
!OS/distribution
 +
!Instructions
 +
|-
 +
|align=center|Fedora/RHEL/CentOS
 +
|Open a terminal and type:
 +
su -c 'yum install perl-Time-HiRes'
 +
|-
 +
|align=center|Debian
 +
|Open a terminal and type:
 +
su -c 'apt-get install libtime-hires-perl'
 +
|-
 +
|align=center|FreeBSD
 +
|Open a terminal and type:
 +
su -c 'pkg_add -r p5-Time-HiRes'
 +
|-
 +
|align=center|Arch
 +
|Open a terminal and type:
 +
su -c 'pacman -S perl-time-hires'
 +
|-
 +
|align=center|Other operating systems or Linux distributions
 +
|Download the Time::HiRes source code from CPAN and compile and install it.
 +
If you have CPAN:
 +
cpan Time::HiRes
 +
|-
 +
|align=center|Windows with ActivePerl
 +
|Install via <code>ppm</code>.
 +
|}
  
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==
 
  
 +
=== Perl module: Compress::Zlib ===
 +
----
 
You need the Compress::Zlib Perl module. You can check whether you already have it by typing
 
You need the Compress::Zlib Perl module. You can check whether you already have it by typing
  
perl -e 'use Compress::Zlib;'
+
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.
 
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
+
{|border="1" cellpadding="2" cellspacing="1"
su -c 'make install'
+
|- style=background-color:#F9F9F9;
 +
!OS/distribution
 +
!Instructions
 +
|-
 +
|align=center|Ubuntu
 +
|Open a terminal and type:
 +
sudo apt-get install libcompress-zlib-perl
 +
|-
 +
|align=center|FreeBSD
 +
|Open a terminal and type:
 +
su -c 'pkg_add -r p5-Compress-Zlib
 +
|-
 +
|align=center|Arch
 +
|Install perl-io-compress from the [https://aur.archlinux.org/packages.php?ID=34517 Arch User Repository].
 +
|-
 +
|align=center|Other operating systems or Linux distributions
 +
|Download the Compress::Zlib source code from CPAN and compile and install it.
 +
If you have CPAN:
 +
cpan Compress::Zlib
 +
|-
 +
|align=center|Windows with ActivePerl
 +
|Install via <code>ppm</code>.
 +
|}
  
Other operating systems or Linux distributions Download the Compress::Zlib source code from CPAN and compile and install it.
 
  
==GNU readline==
+
=== GNU readline ===
 +
----
 +
* Required only for Console::Unix [[:Category:Interfaces|interface]].
 +
* Not required on Windows.
 +
* Use <code>--interface=Console::Simple</code>, Console::Curses or Wx if readline isn't available.
  
 
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:
 
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:
+
# Copy and past the following text into a text editor:
  
      #include <stdio.h>
+
#include <stdio.h>
      #include <readline/readline.h>
+
#include <readline/readline.h>
      #if !defined(RL_READLINE_VERSION)
+
#if !defined(RL_READLINE_VERSION)
      #error "You do not have the GNU readline development headers installed!"
+
      #error "You do not have the GNU readline development headers installed!"
      #elif RL_READLINE_VERSION < 0x0500
+
#elif RL_READLINE_VERSION < 0x0500
      #error "Your version of GNU readline is too old. Please install version 5.0 or higher."
+
      #error "Your version of GNU readline is too old. Please install version 5.0 or higher."
      #endif
+
#endif
  
 +
'''Note.''' The file must end with an empty line
  
 +
# Save the file as readlinetest.c in your home folder.
 +
# Open a terminal and type:
  
      (note that the file must end with an empty line)
+
gcc -c ~/readlinetest.c
  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.
 
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'
+
{|border="1" cellpadding="2" cellspacing="1"
 +
|- style=background-color:#F9F9F9;
 +
!OS/distribution
 +
!Instructions
 +
|-
 +
|align=center|Fedora/RHEL/CentOS
 +
|Open a terminal and type:
 +
su -c 'yum install readline-devel'
 +
|-
 +
|align=center|Debian / Ubuntu 12.04
 +
|Open a terminal and type:
 +
su -c 'apt-get install libreadline5-dev'
 +
|-
 +
|align=center|Ubuntu 14.04
 +
|Open a terminal and type:
 +
sudo apt-get install libreadline6-dev
 +
|-
 +
|align=center|Arch
 +
|Open a terminal and type:
 +
su -c 'pacman -S readline'
 +
|-
 +
|align=center|OS X
 +
|Install [http://braumeister.org/formula/readline readline] with [https://github.com/Homebrew/brew/ brew]:
 +
brew install readline
 +
|-
 +
|align=center|FreeBSD
 +
|...
 +
|-
 +
|align=center|Other operating systems or Linux distributions
 +
|You must compile readline and install readline from source.
 +
|}
  
Ubuntu Open a terminal and type:
 
  
sudo apt-get install libreadline5-dev
+
# 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.
 +
# Open a terminal, and type:
  
Debian Open a terminal and type:
+
tar xzvf readline-X.X.tar.gz && cd readline-X.X
  
su -c 'apt-get install libreadline5-dev'
+
Where X.X is the version of the file you downloaded/
  
Other operating systems or Linux distributions You must compile readline and install readline from source.
+
# Type:
 +
./configure && make && su -c 'make install'
  
  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.
+
'''MacOS X note.''' Do not install Readline from Fink! That won't work.
  2. Open a terminal, and type:
+
  
      tar xzvf readline-X.X.tar.gz && cd readline-X.X
+
=== Python ===
 +
----
 +
Python must be installed (this is only required to compile XSTools). To check whether you have it, type:
  
      (where X.X is the version of the file you downloaded)
+
echo 'print "Python is installed"' | python
  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'
+
 
+
==Python==
+
 
+
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.
 
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'
+
{|border="1" cellpadding="2" cellspacing="1"
 +
|- style=background-color:#F9F9F9;
 +
!OS/distribution
 +
!Instructions
 +
|-
 +
|align=center|Fedora/RHEL/CentOS
 +
|Open a terminal and type:
 +
su -c 'yum install python'
 +
|-
 +
|align=center|Ubuntu
 +
|Open a terminal and type:
 +
sudo apt-get install python
 +
|-
 +
|align=center|Debian
 +
|Open a terminal and type:
 +
su -c 'apt-get install python'
 +
|-
 +
|align=center|FreeBSD
 +
|Open a terminal and type
 +
su -c 'pkg_add -r python'
 +
|-
 +
|align=center|Arch
 +
|Open a terminal and type:
 +
su -c 'pacman -S python2'
 +
|-
 +
|align=center|MacOS X
 +
|[https://www.python.org/downloads/mac-osx/ Download Python here.]
 +
|-
 +
|align=center|Windows
 +
|Necessary only if you need to recompile XSTools for some reason. [https://www.python.org/downloads/windows/ Download Python here]
 +
|}
  
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==
 
  
 +
=== Curl development libraries ===
 +
----
 
The Curl development libraries are needed to compile OpenKore. To check whether you have it, type:
 
The Curl development libraries are needed to compile OpenKore. To check whether you have it, type:
  
curl-config --version
+
curl-config --version
  
 
If you get "command not found" as error message, you need to install libcurl:
 
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
 
  
 +
{|border="1" cellpadding="2" cellspacing="1"
 +
|- style=background-color:#F9F9F9;
 +
!OS/distribution
 +
!Instructions
 +
|-
 +
|align=center|Fedora/RHEL/CentOS
 +
|Open a terminal and type:
 +
su -c 'yum install curl-devel'
 +
|-
 +
|align=center|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:
 
Then install the latest version with this command:
 
+
sudo apt-get install libcurlx-dev
sudo apt-get install libcurlx-dev
+
Where 'x' is the version number as found by the 'apt-cache search' command.
 
+
|-
where 'x' is the version number as found by the 'apt-cache search' command.
+
|align=center|Debian
Debian First, search for the libcurl package using the package manager. Open a terminal and type:
+
|First, search for the libcurl package using the package manager.  
 
+
Open a terminal and type:
apt-cache search libcurl
+
apt-cache search libcurl
 
+
 
Then install the latest version with this command:
 
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.
 +
|-
 +
|align=center|FreeBSD
 +
|Open a terminal and type:
 +
su -c 'pkg_add -r curl'
 +
|-
 +
|align=center|Arch
 +
|Open a terminal and type:
 +
su -c 'pacman -S curl'
 +
|-
 +
|align=center|Other operating systems or Linux distributions
 +
|Install libcurl from source by downloading it from the [https://curl.haxx.se/ Curl homepage].
 +
|}
  
su -c 'apt-get install libcurlx-dev'
+
=== Perl module: Win32::Console ===
 +
''(only for Windows Console interface)''
  
where 'x' is the version number as found by the 'apt-cache search' command.
+
* ActivePerl: Install via <code>ppm</code>.
FreeBSD Open a terminal and type:
+
* Others: Install via your Perl's package manager or CPAN.
  
cd /usr/ports/ftp/curl
+
== Running OpenKore ==
su -c 'make install'
+
  
Other operating systems or Linux distributions Install libcurl from source by downloading it from the Curl homepage.
+
=== Download ===
 
+
----
=Running OpenKore=
+
First, download the OpenKore source code from [[Git|github.com]].
 
+
==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 ===
 +
----
 
Extract the archives as instructed on the download page.
 
Extract the archives as instructed on the download page.
  
==Run==
+
=== Run ===
 
+
----
 
Open a terminal. Go the OpenKore folder. Type:
 
Open a terminal. Go the OpenKore folder. Type:
  
perl ./openkore.pl
+
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.
 
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=
+
== [[Command Line Arguments]] ==
 +
{{:Command Line Arguments}}
  
==Missing headers==
+
== Common problems ==
  
 +
=== Missing headers ===
 +
----
 
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?
 
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
+
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.
 
If so, then that means you didn't install all the libraries that OpenKore needs! Please go through Preparation again.
  
==hash_fun.h==
+
==== hash_fun.h ====
 
+
----
 
In file included from src/auto/XSTools/utils/perl/Benchmark.xs:1:
 
In file included from src/auto/XSTools/utils/perl/Benchmark.xs:1:
 
src/auto/XSTools/utils/perl/../dense_hash_map.h:93:66: error: ext/hash_fun.h: No such file or directory
 
src/auto/XSTools/utils/perl/../dense_hash_map.h:93:66: error: ext/hash_fun.h: No such file or directory
Line 280: Line 403:
 
Open src/auto/XSTools/utils/sparseconfig.h, find:
 
Open src/auto/XSTools/utils/sparseconfig.h, find:
  
#define HASH_FUN_H <ext/hash_fun.h>
+
#define HASH_FUN_H <ext/hash_fun.h>
  
 
and replace with:
 
and replace with:
  
#define HASH_FUN_H <backward/hash_fun.h>
+
#define HASH_FUN_H <backward/hash_fun.h>
 +
 
 +
=== scons: *** SCons version 2.0.1 does not run under Python version 3.2.2. ===
 +
----
 +
Open the file called Makefile, and replace every
 +
python
 +
with
 +
python2
 +
Leave everything else as is. Make sure you have any python-2.x installed if you encounter errors (3.0 is current).
 +
 
 +
=== scons: *** [src/auto/XSTools/utils/perl/Benchmark.os] Error 1 ===
 +
----
  
=Precompiled binaries=
+
Open the file ''src/auto/XSTools/utils/densehashtable.h'' and look for
 +
#include "sparseconfig.h"
 +
After that, '''insert''' the following on a new line:
 +
#include <stddef.h>
 +
Openkore should compile now.
  
On Windows, you can use start.exe, which contains perl interpreter and modules.
+
== Precompiled binaries ==
 +
On Windows, you can use [http://misc.openkore.com precompiled binaries], which contain perl interpreter and all modules and libraries needed.

Latest revision as of 08:35, 22 August 2017

(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:

  • Knoppix
  • elxLinux

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

  • Fedora
  • Ubuntu
  • FreeBSD
  • MacOS X
  • Solaris 8
  • Windows 2000, XP, 2003, 7, 8, 8.1

It also does work on 64bit linux systems, e.g. Arch 64.

Quick start

Guides in this section assume you have default OS installations.

Windows

  • Run start.exe, wxstart.exe (starts with Wx GUI) or openkore.pl (requires perl interpreter.

OS X

Version 10.8.2

  • Get Apple ID if you don't have one (only needed to download Command Line Tools for Xcode from Apple's own website).
  • Become Apple developer (only needed to download Command Line Tools for Xcode from Apple's own website).
  • Install Command Line Tools for Xcode.
  • Install Homebrew. Run brew doctor etc if Homebrew asks for it and deal with it.
  • Install readline by running brew install readline.
  • Run openkore.pl.

Requirements

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 (this is only required to compile XSTools). 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:
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 build-essential g++'
(Open)Suse Open a terminal and type:
su -c 'yast -i gcc-c++'
Arch On i686, open a terminal and type:
su -c 'pacman -S base-devel'

or, if you're on x86_64:

su -c 'pacman -S multilib-devel'
Other Linux distributions Look in your distribution's CD for packages called gcc, and gcc-c++ or g++.
MacOS X Install Command Line Tools for Xcode

Additional information: http://www.tech-recipes.com/mac_system_administration_tips726.html

Perl


You must have Perl 5.10.1 or newer installed (actually, 5.8.x may work, but kRO serverTypes and some other features won't work). Earlier versions might not be 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.

Thread support is needed for default interface to work (otherwise, use Console::Simple interface):

perl -V | grep threads
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'
Arch Open a terminal and type:
su -c 'pacman -S perl'
Other Linux distributions Download it from http://www.perl.org/
FreeBSD Perl 5.8 probably comes in default installation.

Otherwise, open a terminal and type:

su -c 'pkg_add -r perl5.8'
MacOS X Read http://developer.apple.com/internet/opensource/perl.html
Windows Install Strawberry Perl or ActivePerl

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:
su -c 'pkg_add -r p5-Time-HiRes'
Arch Open a terminal and type:
su -c 'pacman -S perl-time-hires'
Other operating systems or Linux distributions Download the Time::HiRes source code from CPAN and compile and install it.

If you have CPAN:

cpan Time::HiRes
Windows with ActivePerl Install via ppm.


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:
su -c 'pkg_add -r p5-Compress-Zlib
Arch Install perl-io-compress from the Arch User Repository.
Other operating systems or Linux distributions Download the Compress::Zlib source code from CPAN and compile and install it.

If you have CPAN:

cpan Compress::Zlib
Windows with ActivePerl Install via ppm.


GNU readline


  • Required only for Console::Unix interface.
  • Not required on Windows.
  • Use --interface=Console::Simple, Console::Curses or Wx if readline isn't available.

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. The file must end with an empty line

  1. Save the file as readlinetest.c in your home folder.
  2. 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'
Debian / Ubuntu 12.04 Open a terminal and type:
su -c 'apt-get install libreadline5-dev'
Ubuntu 14.04 Open a terminal and type:
sudo apt-get install libreadline6-dev
Arch Open a terminal and type:
su -c 'pacman -S readline'
OS X Install readline with brew:
brew install readline
FreeBSD ...
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/

  1. Type:
./configure && make && su -c 'make install'

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

Python


Python must be installed (this is only required to compile XSTools). 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
su -c 'pkg_add -r python'
Arch Open a terminal and type:
su -c 'pacman -S python2'
MacOS X Download Python here.
Windows Necessary only if you need to recompile XSTools for some reason. Download Python here


Curl development libraries


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:
su -c 'pkg_add -r curl'
Arch Open a terminal and type:
su -c 'pacman -S curl'
Other operating systems or Linux distributions Install libcurl from source by downloading it from the Curl homepage.

Perl module: Win32::Console

(only for Windows Console interface)

  • ActivePerl: Install via ppm.
  • Others: Install via your Perl's package manager or CPAN.

Running OpenKore

Download


First, download the OpenKore source code from github.com.

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.

Command Line Arguments

--help

Display up to date information about command line arguments and exit.


Common problems

Missing headers


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.

hash_fun.h


In file included from src/auto/XSTools/utils/perl/Benchmark.xs:1: src/auto/XSTools/utils/perl/../dense_hash_map.h:93:66: error: ext/hash_fun.h: No such file or directory

Open src/auto/XSTools/utils/sparseconfig.h, find:

#define HASH_FUN_H <ext/hash_fun.h>

and replace with:

#define HASH_FUN_H <backward/hash_fun.h>

scons: *** SCons version 2.0.1 does not run under Python version 3.2.2.


Open the file called Makefile, and replace every

python 

with

python2

Leave everything else as is. Make sure you have any python-2.x installed if you encounter errors (3.0 is current).

scons: *** [src/auto/XSTools/utils/perl/Benchmark.os] Error 1


Open the file src/auto/XSTools/utils/densehashtable.h and look for

#include "sparseconfig.h"

After that, insert the following on a new line:

#include <stddef.h>

Openkore should compile now.

Precompiled binaries

On Windows, you can use precompiled binaries, which contain perl interpreter and all modules and libraries needed.