Compilazione del Kernel Linux 2.6.x



Documenti analoghi
Kernel Linux (per sysadm)

KERNEL LINUX. Ricompilazione ed Ottimizzazione. Relatore: Mirco Chinelli Linux Day Torino 2009

Compilazione Kernel 2.6x con supporto BootSplash

Ricompilazione del Kernel a modo mio :

Introduzione ai Moduli del Kernel di Linux. E.Mumolo, DEEI

MODEM USB MDC525UP Guida Rapida LINUX

Prima Esercitazione. Unix e GNU/Linux. GNU/Linux e linguaggio C. Stefano Monti smonti@deis.unibo.it

Istruzioni per l uso del servizio VPN su sistemi Linux

Indice. Indice V. Introduzione... XI

Acronis Universal Restore

Virtualizzazione di macchine Linux tramite XEN

Corso base GNU/Linux Latina Linux Group. Sito web: Mailing list:

Sistemi embedded un dispositivo incapsulato progettato per una determinata applicazione

Gentoo GNU/Linux on usb device

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

Riferimento rapido per l'installazione SUSE Linux Enterprise Desktop 11

Linux Embedded un pinguino piccolo così

Questa guida è scritta per distribuzioni Debian/Ubuntu-like con l'attuale kernel : 2.6.xx. Per verificare l'attuale kernel linux, digitare

Il computer: primi elementi

Laboratory for Advanced Planning and Simulation Project. Installazione di Debian 3.0 su Workstation HP x4000. Gianstefano Monni, e Gabriella Pusceddu

Guida di Installazione GCC

Note Tecniche Installazione ed Aggiornamento EasyTelematico 1.3.x

PIT 2012:

Guida ai collegamenti

GNU/Linux Concetti di base

SATA-RAID con chipset ICH5R e kernel

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 SP1

By E.M. Comandi fondamentali per LINUX

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

CHIAVETTA INTERNET ONDA MT503HSA

1. opzione 1, ubuntu accanto a windows

Corso avanzato di Reti e sicurezza informatica

Installazione del software Fiery per Windows e Macintosh

Motorola Phone Tools. Guida rapida

Il Sistema Operativo Linux

Installazione LINUX 10.0

Procedura di installazione Linux Red Hat

Installazione e caratteristiche generali 1

INSTALLAZIONE DMS - DENTAL MANAGEMENT SYSTEM... 2 INSTALLAZIONE AGGIORNAMENTO... 4 CAMBIO COMPUTER SERVER... 6

Corso amministratore di sistema Linux. Corso amministratore di sistema Linux Programma

Hardening di un sistema GNU/Linux

CONFIGURAZIONE E GESTIONE DEI DATABASE (rev. 1.1)

CONFIGURARE SAMBA 3 SU SUSE LINUX 9.1/9.2

Processo di boot Linux su un PC x86 : il Bootstrap.

SquashFS, AuFS ed i segreti delle distribuzioni live

Corso Amministratore di Sistema Linux Programma

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

MANUALE EDICOLA 04.05

Dynamic 07 -Software per la lettura ottica e data capture. G.Q.S. Srl Global Quality Service Via Bernini, 5/7 Corsico (MILANO)

Abilitazione e uso del protocollo EtherTalk

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

Il File System di Linux

Tiesse Software Upgrade NOS. Pubblicazione a cura di: Tiesse s.p.a. via Asti, Area Industriale S. Bernardo Ivrea (TO) Italy

REQUISITI TECNICI HR INFINITY ZUCCHETTI

PROGRAMMA DEL CORSO AMMINISTRATORE DI SISTEMI LINUX

Robotica di servizio su piattaforma Linux. relatore: Alessandro Budai con la collaborazione dello SmartLab (

Guida di installazione per Fedora 7

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza di rete)

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

BMSO1001. Orchestrator. Istruzioni d uso 02/10-01 PC

Due laboratori scolastici rimessi a nuovo

Setup dell ambiente virtuale

Il tuo manuale d'uso. ACRONIS BACKUP AND RECOVERY 10

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito)

NAL DI STAGING. Versione 1.0

Schedulatore per la comunicazione con le Porte di Dominio

Ubuntu e la sua Installazione

IBM SPSS Statistics - Essentials for Python- Istruzioni di installazione per Linux

Manuale Utente. Linux Fedora, Debian e Ubuntu

SHELL GNU/Linux Bash. Conoscere e configurare il proprio ambiente bash. Kernel speaks: dmesg

LE DISTRIBUZIONI di GNU/LINUX

Creare e ripristinare immagine di sistema con Windows 8

Preparazione di una immagine di Windows XP per la distribuzione

Intel One Boot Flash Update Utility Guida dell utente

Guida di installazione per Fedora core 4

Come esportare una distribuzione Live di Linux per un laboratorio

Transcript:

Linux Day 2004, 27 Novembre 2004 Compilazione del Kernel Linux 2.6.x Relatore : Ermanno Novali presentazione creata con OpenOffice.org 1.1.3 Slackware 10.0 kernel Linux 2.6.9

Compilazione del Kernel Linux 2.6.x Introduzione al kernel,perche' compilarlo e requisiti Compilazione del kernel Gestione del kernel e dei moduli e tool di sistema

Compilazione del Kernel Linux 2.6.x Gnu/Linux? Linux? Progetto Gnu, 1984 Kernel Linux, 1991 Gnu/Linux Os

Introduzione al kernel,perche' compilarlo e requisiti Versioni e numerazione kernel 2.6.4 ramo principale progressivo numero pari : kernel di produzione numero dispari : kernel di sviluppo

Uname informazioni sul sistema uname -r (versione kernel) -cfr variabili script 'uname -r' - uname -a (tutte le informazioni)

Introduzione al kernel,perche' compilarlo e requisiti Di cosa si occupa il kernel?

da Linux Pro

User mode e Kernel mode 1 da www.bertolinux.com

Architetture supportate 32-bit x86 PCs (386 o sup.) Compaq Alpha AXP, Sun SPARC and UltraSPARC, Motorola 68000, PowerPC, PowerPC64, ARM, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64 CRIS

Overview funzioni del kernel Processore e features principali Tipo processore Smp Preemptible Bus di sistema PCI PCMCIA ISA etc... Power management (Acpi/Apm) Kmod e caricamento moduli

Overview funzioni del kernel File Systems principali supportati Ext2 Ext3 ReiserFs Jfs Xfs Cd-rom Fs Dos/Fat/NTFS Fs vari ( Apple -BeOs - Amiga) Fs virtuali : /proc - /dev Network fs : NFS SMB - AFS Acl e Quote

Overview funzioni del kernel Device Drivers Ata/Atapi Scsi Raid / Lvm IEEE 1394 Usb - Parallello/seriale Multimedia (Video -Audio)

Overview funzioni del kernel Networking Hw (eth wan -pcmcia irda bluetooth - wlan) PPP e sue opzioni TCP/IP e opzioni IP Netfilter --> Iptables in user space(packet filtering)

Perche' ricompilare? Esigenza di nuovo supporto Hw Bug scoperti nei kernel precedenti Nuove funzionalita' da testare Configurazione particolare (no moduli etc...) Differenze tra i kernel delle distribuzioni gnu/linux e il kernel vanilla

Reperire i sorgenti del kernel "vanilla" www.kernel.org Scompattare la tarball e applicare una patch tar xzvf ( xvjf ) tarball-kernel ( in /usr/src/linux ) symlink alla dir sorgenti kernel in uso (compilazione del software punta di default alla dir /usr/src/linux per sorgenti) patch -p0 < nome-file-patch

Tool necessari Gnu C 2.95.3 # gcc --version Gnu make 3.79.1 # make --version binutils 2.12 # ld -v util-linux 2.10o # fdformat --version module-init-tools 0.9.10 # depmod -V e2fsprogs 1.29 # tune2fs jfsutils 1.1.3 # fsck.jfs -V reiserfsprogs 3.6.3 # reiserfsck -V 2>&1 grep reiserfsprogs xfsprogs 2.6.0 # xfs_db -V pcmcia-cs 3.1.21 # cardmgr -V quota-tools 3.09 # quota -V PPP 2.4.0 # pppd --version isdn4k-utils 3.1pre1 # isdnctrl 2>&1 grep version nfs-utils 1.0.5 # showmount --version procps 3.2.0 # ps --version oprofile 0.5.3 # oprofiled --version Opp. installazione pacchetti Devel (RH Fedora Mandrake etc..) Debian kernel-package per i tool specifici

Compilazione del kernel

Backup del sistema Ricompilazione medesima versione kernel modificare EXTRAVERSION con termine a scelta

Compilazione del kernel # make mrproper prepara un ambiente pulito (rimuove file generati,.config, e file di backup) att.ne RIMUOVE.CONFIG # make clean come sopra ma mantiene il.config

Compilazione del kernel Necessaria conoscenza approfondita dell'hw # lspci -v (-vv)

Compilazione del kernel Per periferiche usb informazioni: # lsusb -v Leggere i docs in /usr/src/linux/documentation in particolare ~/Documentation/Changes per le novita' e i requisiti minimi per la compilazione

Configurazione Monolitico o modulare? cosa includere nel kernel cosa compilare come modulo

Configurazione.config Analisi del.config cat.config grep stringa y m not set commenti Ripristinare precedente.config utilizzare.config kernel precedente; /proc/config.gz e /proc/config_built_with # make oldconfig

Configurazione Compilazione minima Supporto processore Supporto Bus necessari (Pci etc...) Supporto Atapi / Scsi per hd di boot (o per periferica di boot richiesta) Supporto keyboard / mouse Fs (! fs del device di boot! ) --> opp. initrd!

Scelta dell'interfaccia per la compilazione make menuconfig (ncurses) make xconfig (tcl/tk) make gconfig (gtk)

Configurazione tramite menuconfig utilizzare l'help

Esempio pratico di compilazione

Per chi ha fretta... # make (bzimage & modules) # make install (installa il kernel e lancia lilo)

# make bzimage crea immagine compressa di vmlinuz # make help tutte opzioni possibili # make modules crea i moduli # make modules_install copia i moduli in /usr/lib/modules/ uname -r

The Debian way script post-configurazione per operazioni di make make-kpkg prepara un pacchetto.deb che installato con dpkg -i Compila il kernel Copia e linka + entry in Lilo Creazione di Floppy di Boot

Gestione del kernel e dei moduli e tool di sistema Copiare il kernel per il primo boot # cp /usr/src/linux/arch/i386/boot/bzimage /boot/vmlinuz sostituire i386 con architettura richiesta # cp /usr/src/linux/system.map /boot/system.map eventuale initrd inserita nel bootloader

Configurare bootloader Lilo/Grub Lilo the Linux Loader # vim /etc/lilo.conf aggiungere la nuova immagine del kernel e opzioni necessarie # lilo -v lanciare SEMPRE lilo! --->

# By default, boot the first entry. default 0 # Boot automatically after 30 secs. timeout 30 # Fallback to the second entry. fallback 1 # For booting GNU/Linux title GNU/Linux root (hd0,0) kernel /boot/vmlinuz ro root=/dev/hda1 initrd /initrd-2.4.9-21.img Grub

In breve... nella dir dei sorgenti del kernel (p.es. /usr/src/linux) lanciare la configurazione (#make menuconfig, make xconfig o altri) terminata la configurazione lanciare la compilazione del kernel con # make bzimage compilare i moduli con #make modules e installarli con #make modules_install copiare l'immagine del kernel compilata in arch/i386(o altra architettura)/ boot/bzimage e la System.map in /boot inserire la nuova entry nel bootloader (Lilo, Grub etc...)

Tool e operazioni utili # dmesg stampa a video il kernel ring buffer # tail -f /var/log/messages visualizza /var/log/messages (tail -f segue) in generale la dir /var/log

Tool e operazioni utili Il filesystem virtuale /proc Spazio per interagire con il kernel visualizzazione ( cat ) modifica (p.es. echo valore > /proc/[...] )

Gestione moduli # lsmod visualizza moduli caricati

Gestione moduli # modprobe (-r rimuove) nome_modulo carica moduli da /lib/module/ uname -r con relative dipendenze # insmod (-f forza) nome_modulo inserisce semplicemente modulo nel kernel # rmmod (-f forza) nome_modulo rimuove singolarmente modulo dal kernel # depmod (-a) genera modules.dep e aggiorna la mappatura dei moduli

Gestione moduli att.ne abilitare nel kernel!

Script di Avvio Avvio System-V maggioranza delle distro ---> serie di dir/script nella dir /etc/rc.d/ Avvio System-Bsd p.es. Slackware ---> script singolo per ogni runlevel

Per controllo moduli /etc/modules.conf (sostituisce il vecchio /etc/conf.modules) vd man modules.conf Per opzioni e script tramite modprobe /etc/modprobe.conf crea alias per modprobe carica moduli con particolari opzioni vd man modprobe.conf

Gestione ALSA dalla serie 2.6 Alsa inclusi nel kernel (sostituiscono OSS) # alsamixer regola volumi #alsactl store setta parametri #alsactl restore invocato al boot ricarica i parametri salvati

Links The Linux Kernel Archives www.kernel.org www.linuxhq.com www.pluto.linux.it

Links Debian Gnu/Linux www.debian.org Alessandro Rubini homepage http://www.linux.it/~rubini/ Google Linux www.google.it/linux

Domande? mumble mumble... Risposte!

Linus Torvalds, il padre di Linux :)

Grazie per l'attenzione www.bglug.it