Difference between revisions of "Build TomElliott Kernel"

From FOG Project
Jump to: navigation, search
(Created page with "'''PRE BUILD ENVIRONMENT IS ASSUMED ALREADY INSTALLED ON THE SYSTEM YOU'RE BUILDING''' NOTE: It is assumed you have root access to the system you're building this on. It also...")
 
Line 1: Line 1:
 
'''PRE BUILD ENVIRONMENT IS ASSUMED ALREADY INSTALLED ON THE SYSTEM YOU'RE BUILDING'''
 
'''PRE BUILD ENVIRONMENT IS ASSUMED ALREADY INSTALLED ON THE SYSTEM YOU'RE BUILDING'''
 
NOTE: It is assumed you have root access to the system you're building this on.  It also assumes you know your CWD (Current Working Directory).
 
NOTE: It is assumed you have root access to the system you're building this on.  It also assumes you know your CWD (Current Working Directory).
= Build TomElliott Kernel =
+
= Build TomElliott Kernel for FOG 0.32 and earlier=
 
The below instructions are to build the TomElliott kernel.  There is an extra step involved compared to the normal kernel build as there are firmware's built directly into the kernels now.
 
The below instructions are to build the TomElliott kernel.  There is an extra step involved compared to the normal kernel build as there are firmware's built directly into the kernels now.
 
== Download the Kernel ==
 
== Download the Kernel ==
Line 12: Line 12:
 
== Go into uncompressed linux kernel directory ==
 
== Go into uncompressed linux kernel directory ==
 
<pre>cd linux-3.13</pre>
 
<pre>cd linux-3.13</pre>
 +
 +
== Get the config file ==
 +
<pre>wget https://svn.code.sf.net/p/freeghost/code/trunk/kernel/TomElliott.config.32 -O .config</pre>
  
 
== Download the prerequisite package '''(THE EXTRA STEP IS HERE)''' ==
 
== Download the prerequisite package '''(THE EXTRA STEP IS HERE)''' ==
Line 27: Line 30:
 
This will take a while.  Once successful, it will say bzImage created.
 
This will take a while.  Once successful, it will say bzImage created.
  
== Copy the built firmware to your FOG Server's kernel directory. ==
+
== Copy the built kernel to your FOG Server's kernel directory. ==
 
NOTE: In my example, the FOG Server is the same as my build system.
 
NOTE: In my example, the FOG Server is the same as my build system.
 
NOTE: Recommend to make a backup of the original /tftpboot/fog/kernel/bzImage before continuing just in case.
 
NOTE: Recommend to make a backup of the original /tftpboot/fog/kernel/bzImage before continuing just in case.
 
<pre>cp arch/x86/boot/bzImage /tftpboot/fog/kernel/bzImage</pre>
 
<pre>cp arch/x86/boot/bzImage /tftpboot/fog/kernel/bzImage</pre>
 +
= Build TomElliott Kernel for FOG 0.33b and newer=
 +
The below instructions are to build the TomElliott kernel.  There is an extra step involved compared to the normal kernel build as there are firmware's built directly into the kernels now.
 +
== Download the Kernel ==
 +
As of the time of this writing kernel 3.13 is the latest.  You can use previous, or future kernels as well though.
 +
<pre>wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.13.tar.xz</pre>
 +
 +
== Uncompress the kernel ==
 +
<pre>tar -xf linux-3.13.tar.xz</pre>
 +
 +
== Go into uncompressed linux kernel directory ==
 +
<pre>cd linux-3.13</pre>
 +
 +
== Get the config file ==
 +
===To Build 32 bit Kernel===
 +
<pre>wget https://svn.code.sf.net/p/freeghost/code/trunk/kernel/TomElliott.config.32 -O .config</pre>
 +
===To Build 64 bit Kernel===
 +
<pre>wget https://svn.code.sf.net/p/freeghost/code/trunk/kernel/TomElliott.config.64 -O .config</pre>
 +
== Download the prerequisite package '''(THE EXTRA STEP IS HERE)''' ==
 +
<pre>git clone https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git</pre>
 +
 +
== Prepare the build ==
 +
===To Build 32 bit Kernel===
 +
<pre>make ARCH=i386 menuconfig</pre>
 +
===To Build 64 bit Kernel===
 +
'''NOTE: MUST BE ON A 64 BIT OS'''
 +
<pre>make menuconfig</pre>
 +
Add any choices, or don't but when you exit, it will ask you to save the config, '''NEEDED'''.
 +
 +
NOTE: If it doesn't ask you to save the configuration, the easiest method to ensure all will work fine is to deselect an small item and reselect it.
 +
 +
After you've saved the config.
 +
 +
== Build the bzImage ==
 +
===To Build 32 bit Kernel===
 +
<pre>make ARCH=i386 bzImage</pre>
 +
===To Build 64 bit Kernel===
 +
<pre>make bzImage</pre>
 +
 +
This will take a while.  Once successful, it will say bzImage created.
 +
 +
== Copy the built kernel to your FOG Server's kernel directory. ==
 +
NOTE: In my example, the FOG Server is the same as my build system.
 +
NOTE: Recommend to make a backup of the original /var/www/{html/fog,fog}/service/ipxe/bzImage before continuing just in case.
 +
<pre>cp arch/x86/boot/bzImage /var/www/html/fog/service/ipxe/bzImage</pre>

Revision as of 07:22, 12 March 2014

PRE BUILD ENVIRONMENT IS ASSUMED ALREADY INSTALLED ON THE SYSTEM YOU'RE BUILDING NOTE: It is assumed you have root access to the system you're building this on. It also assumes you know your CWD (Current Working Directory).

Build TomElliott Kernel for FOG 0.32 and earlier

The below instructions are to build the TomElliott kernel. There is an extra step involved compared to the normal kernel build as there are firmware's built directly into the kernels now.

Download the Kernel

As of the time of this writing kernel 3.13 is the latest. You can use previous, or future kernels as well though.

wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.13.tar.xz

Uncompress the kernel

tar -xf linux-3.13.tar.xz

Go into uncompressed linux kernel directory

cd linux-3.13

Get the config file

wget https://svn.code.sf.net/p/freeghost/code/trunk/kernel/TomElliott.config.32 -O .config

Download the prerequisite package (THE EXTRA STEP IS HERE)

git clone https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git

Prepare the build

make ARCH=i386 menuconfig

Add any choices, or don't but when you exit, it will ask you to save the config, NEEDED.

After you've saved the config.

Build the bzImage

make ARCH=i386 bzImage

This will take a while. Once successful, it will say bzImage created.

Copy the built kernel to your FOG Server's kernel directory.

NOTE: In my example, the FOG Server is the same as my build system. NOTE: Recommend to make a backup of the original /tftpboot/fog/kernel/bzImage before continuing just in case.

cp arch/x86/boot/bzImage /tftpboot/fog/kernel/bzImage

Build TomElliott Kernel for FOG 0.33b and newer

The below instructions are to build the TomElliott kernel. There is an extra step involved compared to the normal kernel build as there are firmware's built directly into the kernels now.

Download the Kernel

As of the time of this writing kernel 3.13 is the latest. You can use previous, or future kernels as well though.

wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.13.tar.xz

Uncompress the kernel

tar -xf linux-3.13.tar.xz

Go into uncompressed linux kernel directory

cd linux-3.13

Get the config file

To Build 32 bit Kernel

wget https://svn.code.sf.net/p/freeghost/code/trunk/kernel/TomElliott.config.32 -O .config

To Build 64 bit Kernel

wget https://svn.code.sf.net/p/freeghost/code/trunk/kernel/TomElliott.config.64 -O .config

Download the prerequisite package (THE EXTRA STEP IS HERE)

git clone https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git

Prepare the build

To Build 32 bit Kernel

make ARCH=i386 menuconfig

To Build 64 bit Kernel

NOTE: MUST BE ON A 64 BIT OS

make menuconfig

Add any choices, or don't but when you exit, it will ask you to save the config, NEEDED.

NOTE: If it doesn't ask you to save the configuration, the easiest method to ensure all will work fine is to deselect an small item and reselect it.

After you've saved the config.

Build the bzImage

To Build 32 bit Kernel

make ARCH=i386 bzImage

To Build 64 bit Kernel

make bzImage

This will take a while. Once successful, it will say bzImage created.

Copy the built kernel to your FOG Server's kernel directory.

NOTE: In my example, the FOG Server is the same as my build system. NOTE: Recommend to make a backup of the original /var/www/{html/fog,fog}/service/ipxe/bzImage before continuing just in case.

cp arch/x86/boot/bzImage /var/www/html/fog/service/ipxe/bzImage