Da anni ormai Linus Torvalds  segue lo sviluppo del kernel Linux insieme a molti sviluppatori in tutto il mondo, grazie a un VCS, ovvero un sistema di controllo versione chiamato Git, che permette al developer di modificare il codice sorgente di un programma e inviarne le modifiche committandole, ovvero dando una motivazione delle modifiche apportate al codice, i miglioramenti (ecc ecc…) è possibile accedere al repository Git di Linux da qui o qui . (Git è il VCS più utilizzato al mondo per progetti open source : vedi CyanogenMod, AOSP, Google Engine, Facebook, e altro…).

Linus, ha infatti chiesto ai suoi fan su Google+ se preferivano continuare con la numerazione 3.x(3.20) o 4.x, la maggior parte ha votato per 4.0, e come promesso ecco che Linus in persona annuncia lo sviluppo di Linux 4.0

linux_40rc1

Perchè si da tanta importanza a un software come un “kernel”?

Il canale Telegram di InTheBit con le migliori offerte techle migliori offerte tech

Un kernel, spiegato in parole povere è un software che gestisce le risorse hardware e software di una macchina, è il cuore del sistema operativo, costituisce quindi una delle componenti fondamentali di un sistema operativo, senza il quale un SO non riuscirebbe a gestire correttamente le risorse. Linux è probabilmente il kernel più famoso.

Linux è un sistema operativo?

NO E NO! Linux è la componente di un Sistema Operativo open source che è GNU!

GNU è un insieme di software che include il kernel Linux, è quindi sbagliato definire “Debian/Arch/Fedora sistemi operativi basati su sistema operativo Linux”, è invece corretto dire che sono basati su sistema operativo GNU/Linux o che sono basati su kernel Linux

Linux sta quindi per giungere alla versione 4.0, che è attualmente in sviluppo (4.0-rc1 : 22/02/2015)

L’ultima versione di 3.x è 3.19.x

Mailing List: LKML – 4.0-rc1 out! (Firmato da Linus)

Codice sorgente: Linux 4.0-rc1 (tarball)

Archivio Linux Kernel: The Linux Kernel Archives

Come si installa un kernel da codice sorgente?

è possibile utilizzare l’utility make (presente in tutti i sistemi operativi UNIX-like, tra i quali GNU)per buildare un software da codice sorgente, sconsigliamo l’utilizzo a chi non “se n’intende”. Tuttavia, i comandi per compilare un immagine sono:

$ make mrproper #si prepara l'ambiente
$ make gconfig #avvia un programma che permette di costruire un file .config [GUI - GTK] (Salvare il .config cliccando su "Save" nella barra delle utils. [Attenzione alla prima voce, deselezionare se l'architettura desiderata/necessaria/supportata NON è 64 bit ]
$ make -jX #avvia la compilazione - argomento j: indica i core che verranno impiegati nella compilazione (consiglio 3 = due core, tempo impiegato con due core: 15 minuti , tempo impiegato con 1 core: 2 ore)
$ cd arch/(architettura)/boot
# make modules_install #installa i moduli del kernel 4.0.0-rc1 ( /lib/modules ,o, /usr/lib/modules)
# cp bzImage /boot/vmlinuz-4.0.0-rc1 #copia il kernel in /boot (la cartella dei kernels, bootloader e ramdisk)

poi è necessario utilizzare un builder per le initramfs (ovvero la ramdisk, che viene eseguita dal bootloader prima di caricare il kernel), ci sono tools differenti per ogni distro (ad esempio per Arch Linux esiste

mkinitcpio

), search the web! Quindi l’immagine ottenuta ( estensione *.img) dovrà essere copiata in /boot (#)

in fine, dopo aver copiato la ramdisk in /boot, è necessario aggiornare il bootloader (è possibile aggiornare il bootloader GRUB con il seguente comando)

# grub-mkconfig -o /boot/grub/grub.cfg

se dual-boot [Non necessario se non dual-boot e/o il bootloader è GRUB]

# grub-install /dev/sdX #dove X è la lettera finale del vostro HDD/SSD dove verrà installato GRUB

dopo, rieseguite l’aggiornamento del file grub.cfg come descritto sopra.

Quando Linux 4.0 uscirà?

Questo non è possibile saperlo, probabilmente dalle 3 alle 6 settimane si parla di Giugno-Luglio 2015

Non sono un developer o comunque non sono esperto… tempi di aggiornamento per le varie distribuzioni?

Partendo dal fatto che ogni distro GNU/Linux ha un suo kernel non-vanilla/stock, bensì un kernel modificato per le varie distribuzioni i tempi di attesa (secondo me) saranno:

  1. Arch Linux/derivate: nel giro di qualche settimana ( o addirittura giorni)
  2. Red Hat/derivate: nel giro di due – massimo tre settimane
  3. Ubuntu/derivate: nel giro di due – quattro settimane
  4. Debian/derivate: non saprei. Debian = stabilità (basta vedere che Debian 7.8 esegue 3.16/3.14/3.13 (non ricordo da quando sono passato a Arch)

Come vedete ho separato Ubuntu da Debian, non perchè Ubuntu non sia basato su Debian, bensì perchè Ubuntu segue un rilascio diciamo più veloce dei kernel rispetto a Debian.

*Versione più recente per OS Android: 3.4.x (spero che Google si decida ad aggiornare a questa major release del kernel…)*