Kernels/Compilation/Script (Italiano)
NUOVO ed altro ancora in arrivo: è disponibile uno script bash testato a fondo che automatizza l'intero processo di compilazione manuale elencato di seguito e che incoraggia la filosofia "bleeding edge" quando si tratta dell'ultimo kernel Linux. Questo script permette di usare makepkg con un metodo alternativo, facile e sicuro. Include un'opzione facile da usare per patchare un rilascio MAINLINE(RC) del Kernel. Test recenti del kernel mainline con patch linux-3.1-rc3-git1 (24 Agosto 2011) dimostrano la riuscita della compilazione e dell'installazione. (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).
Procedure:
- Scaricare lo script (vedere link dopo Procedure).
- Prima di aprire o eseguire inizialmente il file
linux_kernel.sh, accedere a root (#) ed usare chmod per dare i permessi di esecuzione appropriati (755):
# chmod 755 linux_kernel.sh
- Scaricare i sorgenti del kernel stabile, mainline (rc) e gli snapshot (git/patch) dal sito del Kernel Linux ponendo i file nella cartella opportuna (
/usr/src).
- Aprire
linux_kernel.shed inserire con attenzione di soltanto 5 variabili che sono richieste per eseguire lo script, quindi salvare il file (Vedere esempi di area input dopo Procedure).
- Una volta inseriti i valori e scaricati i sorgenti, eseguire lo script da root (#):
# ./linux_kernel.sh
- Durante l'esecuzione saranno necessarie una o due pause in cui si richiede un breve intervento dell'utente, le quali si verificheranno all'inizio (primo minuto). L'attuale fiel
.configdel kernel verrà estratto e copiato da/proc/config.gzalla cartella del nuovo kernel, 'menuconfig' sarà invocato automaticamente e il valore CONFIG_LOCALVERSION in.configsarà riutilizzato. Si tenga presente che questo script non sovrascriverà o eliminerà mai alcun file originale (solo soft-link) senza prima avvertire o terminare automaticamente. Ci sono diversi controlli e verifiche presenti in esso per garantire un'esecuzione sicura. Lo script funziona MOLTO bene, quindi, buon divertimento!
Scaricare lo scipt
linux_kernel.sh su Google Docs (ultimo aggiornamento: Mercoledì 24 Agosto 2011, 10:53 CET)
Esempio di input area dello script BASH linux_kernel.sh per le 5 variabili richieste:
#==========================================================================
# 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
#==========================================================================
Esempio di output al termine dello 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!*