Difference between revisions of "Kernels/Compilation/Script"

From ArchWiki
Jump to: navigation, search
(i18n)
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Kernel (English)]]
+
[[Category:Kernel]]
{{i18n|Kernel Compilation/Script}}
+
[[it:Kernels/Compilation/Script]]
'''NEW, and still more to come:''' A thoroughly tested BASH script is available which automates the entire manual compiling process listed below and encourages the "bleeding edge" philosophy when it comes to the latest Linux Kernel. This script allows a safe, easy, and alternative method to using makepkg. It includes an easy-to-use option for patching a MAINLINE(RC) Kernel release. Recent testing of the mainline kernel with patch linux-3.1-rc3-git1 (August 24, 2011) resulted in successful compiling, and installing. (<code>uname -a:  Linux Galicja 3.1.0-rc3-git1-ARCHMOD #1 PREEMPT Wed Aug 24 03:08:37 CEST 2011 x86_64 Genuine Intel(R) CPU 575 @ 2.00GHz GenuineIntel GNU/Linux</code>).
+
[[tr:Elle_çekirdek_derleme]]
 +
'''NEW, and still more to come:''' A thoroughly tested BASH script is available which automates the entire manual compiling process listed below and encourages the "bleeding edge" philosophy when it comes to the latest Linux Kernel. This script allows a safe, easy, and alternative method to using makepkg. It includes an easy-to-use option for patching a MAINLINE(RC) Kernel release. Recent testing of the mainline kernel with patch linux-3.1-rc3-git1 (August 24, 2011) resulted in successful compiling, and installing. ({{ic|uname -a:  Linux Galicja 3.1.0-rc3-git1-ARCHMOD #1 PREEMPT Wed Aug 24 03:08:37 CEST 2011 x86_64 Genuine Intel(R) CPU 575 @ 2.00GHz GenuineIntel GNU/Linux|}}).
  
 
'''Procedures:'''
 
'''Procedures:'''
Line 7: Line 8:
 
* Download the script (See link below procedures).
 
* Download the script (See link below procedures).
  
* Prior to initially opening or running the file {{filename|linux_kernel.sh}}, go into root (#) and use chmod to give it appropriate execution permissions (755):
+
* Prior to initially opening or running the file {{ic|linux_kernel.sh}}, go into root (#) and use chmod to give it appropriate execution permissions (755):
 
  # chmod 755 linux_kernel.sh
 
  # chmod 755 linux_kernel.sh
  
* Download the kernel source for stable, mainline (rc), and snapshot (git/patch) from [http://www.kernel.org the Linux Kernel website] placing the files into the appropriate directory ({{filename|/usr/src}}).
+
* Download the kernel source for stable, mainline (rc), and snapshot (git/patch) from [http://www.kernel.org the Linux Kernel website] placing the files into the appropriate directory ({{ic|/usr/src}}).
  
* Open up {{filename|linux_kernel.sh}} and carefully enter values for '''only 5 variables''' which are required for the script to run, then save the file (See sample input area below procedures).
+
* Open up {{ic|linux_kernel.sh}} and carefully enter values for '''only 5 variables''' which are required for the script to run, then save the file (See sample input area below procedures).
  
 
* Once values have been entered and source files downloaded, run the script in root (#):
 
* Once values have been entered and source files downloaded, run the script in root (#):
 
  # ./linux_kernel.sh
 
  # ./linux_kernel.sh
  
* While running, one or two pauses which require brief user intervention are necessary, and this occurs at the very beginning (first minute). The current kernel {{filename|.config}} file will be extracted and copied from {{filename|/proc/config.gz}} to the new kernel directory, 'menuconfig' will be automatically invoked, and the CONFIG_LOCALVERSION value from {{filename|.config}} will be obtained and utilized. Keep in mind, this script will '''never''' override or delete any original files (soft-link only) without a warning first, or automatic termination. There are numerous checks and controls built into it to ensure safe execution. The script works VERY well, so enjoy it!
+
* While running, one or two pauses which require brief user intervention are necessary, and this occurs at the very beginning (first minute). The current kernel {{ic|.config}} file will be extracted and copied from {{ic|/proc/config.gz}} to the new kernel directory, 'menuconfig' will be automatically invoked, and the CONFIG_LOCALVERSION value from {{ic|.config}} will be obtained and utilized. Keep in mind, this script will '''never''' override or delete any original files (soft-link only) without a warning first, or automatic termination. There are numerous checks and controls built into it to ensure safe execution. The script works VERY well, so enjoy it!
  
 
Note: NVIDIA users, please make additional NECESSARY adjustments after script is completed, PRIOR to rebooting. Feel free to contact the author for any assistance and/or suggestions.
 
Note: NVIDIA users, please make additional NECESSARY adjustments after script is completed, PRIOR to rebooting. Feel free to contact the author for any assistance and/or suggestions.
Line 23: Line 24:
 
'''Script Download'''
 
'''Script Download'''
 
     '''[https://docs.google.com/leaf?id=0B8L9kuJ0hMgaYzU5NTYyMWYtNTNmZC00NTM2LThkNjQtODBjYWYxZDk0OTQ3&hl=en_US linux_kernel.sh]''' at Google Docs (Last Updated: Wednesday, August 24, 2011, 10:53 CET)
 
     '''[https://docs.google.com/leaf?id=0B8L9kuJ0hMgaYzU5NTYyMWYtNTNmZC00NTM2LThkNjQtODBjYWYxZDk0OTQ3&hl=en_US linux_kernel.sh]''' at Google Docs (Last Updated: Wednesday, August 24, 2011, 10:53 CET)
 
  
 
'''Sample linux_kernel.sh BASH script Input Area for 5 required variables:'''
 
'''Sample linux_kernel.sh BASH script Input Area for 5 required variables:'''

Revision as of 15:43, 13 June 2012

NEW, and still more to come: A thoroughly tested BASH script is available which automates the entire manual compiling process listed below and encourages the "bleeding edge" philosophy when it comes to the latest Linux Kernel. This script allows a safe, easy, and alternative method to using makepkg. It includes an easy-to-use option for patching a MAINLINE(RC) Kernel release. Recent testing of the mainline kernel with patch linux-3.1-rc3-git1 (August 24, 2011) resulted in successful compiling, and installing. (uname -a: Linux Galicja 3.1.0-rc3-git1-ARCHMOD #1 PREEMPT Wed Aug 24 03:08:37 CEST 2011 x86_64 Genuine Intel(R) CPU 575 @ 2.00GHz GenuineIntel GNU/Linux).

Procedures:

  • Download the script (See link below procedures).
  • Prior to initially opening or running the file linux_kernel.sh, go into root (#) and use chmod to give it appropriate execution permissions (755):
# chmod 755 linux_kernel.sh
  • Download the kernel source for stable, mainline (rc), and snapshot (git/patch) from the Linux Kernel website placing the files into the appropriate directory (/usr/src).
  • Open up linux_kernel.sh and carefully enter values for only 5 variables which are required for the script to run, then save the file (See sample input area below procedures).
  • Once values have been entered and source files downloaded, run the script in root (#):
# ./linux_kernel.sh
  • While running, one or two pauses which require brief user intervention are necessary, and this occurs at the very beginning (first minute). The current kernel .config file will be extracted and copied from /proc/config.gz to the new kernel directory, 'menuconfig' will be automatically invoked, and the CONFIG_LOCALVERSION value from .config will be obtained and utilized. Keep in mind, this script will never override or delete any original files (soft-link only) without a warning first, or automatic termination. There are numerous checks and controls built into it to ensure safe execution. The script works VERY well, so enjoy it!

Note: NVIDIA users, please make additional NECESSARY adjustments after script is completed, PRIOR to rebooting. Feel free to contact the author for any assistance and/or suggestions.

Script Download

   linux_kernel.sh at Google Docs (Last Updated: Wednesday, August 24, 2011, 10:53 CET)

Sample linux_kernel.sh BASH script Input Area for 5 required variables:

#==========================================================================
# Enter 5 Kernel Variable Values Here (You MUST fill in ALL values after "="):

# Directory Name holding "mainline", "stable" and/or "snapshot"(patch) source files from kernel.org
# Must end with "/"
kern_src_dir=/usr/src/

# File Name of "mainline" or "stable" Linux Kernel (Must be downloaded and reside in the "kern_src_dir" (/usr/src/)
kern_file_name=linux-3.1-rc3.tar.bz2

# Is a Patch file involved? YES or NO (Must be CAPITALIZED Letters)
patch=YES

# If patch=YES, File Name of "snapshot" patch (Ex. patch-2.6.37-rc1-git12.bz2) residing in "kern_src_dir" (/usr/src/)
# If patch=NO, then this value does NOT matter. If you wish, enter NONE (patch=NONE)
patch_file_name=patch-3.1-rc3-git1.bz2

# To build the kernel in a multithreaded (faster) way, the -j option is used with the 'make' program
# It is BEST to give a number to the -j option that corresponds to TWICE the number of processors in the system
# ( Ex. Machine with 1 processor: jval=2, Machine with 2 processors: jval=4, etc.)
# To disable this option, enter the value zero ("0"): ( Ex. jval=0 )
jval=0
#==========================================================================

Sample Output at End of Script:

                            *Summary of Changes - File(s) Created and/or Deleted*

                               8 File(s) Created:

                               /usr/src/linux-3.1-rc3-git1-KNL/
                               /boot/vmlinuz-3.1-rc3-git1-ARCHMOD
                               /boot/kernel30-3.1-rc3-git1-ARCHMOD.img
                               /lib/modules/3.1.0-rc3-git1-ARCHMOD/
                               /usr/src/linux
                               /usr/src/linux-3.0
                               /boot/System.map-3.1-rc3-git1
                               /boot/System.map

                               3 File(s) Deleted:

                               /boot/System.map
                               /usr/src/linux
                               /usr/src/linux-3.0


                                   *SUCCESS - Main Processes COMPLETE*

                      *NVIDIA users, please make additional NECESSARY adjustments*

          *Please Configure /boot/grub/menu.lst accordingly and you are done. Then REBOOT & TEST!*