Kernel Linux (per sysadm)



Documenti analoghi
Compilazione del Kernel Linux 2.6.x

Laboratorio di Sistemi Operativi

Compilazione Kernel 2.6x con supporto BootSplash

Virtualizzazione di macchine Linux tramite XEN

Ricompilazione del Kernel a modo mio :

Seminari Acmesystems. NerInformatica. Relatore : Luciano Neri. Ingegnere libero professionista Ordine degli Ingegneri di Vicenza

Applicativi distribuiti in forma sorgente

SquashFS HOWTO. Artemiy I. Pavlov. Sinevibes ( Marco Cecchetti. mrc (dot) ildp (at) gmail (dot) com

Acronis Universal Restore

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

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

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

Sistemi embedded un dispositivo incapsulato progettato per una determinata applicazione

Il Software. Il software del PC. Il BIOS

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

Linux su FPGA Xilinx

Acronis Backup & Recovery 10 Server for Linux. Guida introduttiva

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

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11

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

MODEM USB MDC525UP Guida Rapida LINUX

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

Software di base. Corso di Fondamenti di Informatica

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Hardware di un Computer

Il web server Apache Lezione n. 3. Introduzione

Makefile. Un target in generale e' un file. Usando.PHONY: target specifichiamo a make che il target non e' un file

Protezione del Kernel Tramite Macchine Virtuali

FoLUG Forlì Linux User Group. Partizionamento

Il File System di Linux

Linux Terminal Server Project (LTSP)

Scheda di Notifica Manuale d'uso

SquashFS, AuFS ed i segreti delle distribuzioni live

Gentoo GNU/Linux on usb device

Istruzioni di installazione di Intel Utilities

Risolvere i problemi di avvio di Windows XP


Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Architettura di un sistema operativo


PIT 2012:

I.S.I.S. J.M.Keynes. Castel Maggiore (BO) Progetto TSERVER. Il software libero per il riutilizzo di hardware obsoleto. S cuol a Bologna

Setup e installazione

PROGRAMMA DEL CORSO AMMINISTRATORE DI SISTEMI LINUX

Acronis License Server. Manuale utente

Installazione dell'adattatore di IBM SPSS Modeler Server

1. opzione 1, ubuntu accanto a windows

Riferimento rapido per l'installazione SUSE Linux Enterprise Desktop 11

Due laboratori scolastici rimessi a nuovo

- Guida a VMware - Guida a VMware. Questa guida vi aiuterà passo passo nell installazione e la configurazione di VMware.

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Sistema operativo: Gestione della memoria

SATA-RAID con chipset ICH5R e kernel

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

Il comando Make: : uno strumento per la compilazione ed esecuzione di software applicativo. A. Murli - Cacolo Scientifico a.a.

Terza lezione: Directory e File system di Linux

Fiery Driver Configurator

Laboratorio di Reti Esercitazione N 2-DNS Gruppo 9. Laboratorio di Reti Relazione N 2. Mattia Vettorato Alberto Mesin

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

Portable Ubuntu for Windows mini howto (diavoleria argentina)

Nozioni di Informatica di base. dott. Andrea Mazzini

DESKTOP Internal Drive. Guida all installazione

Installazione LINUX 10.0

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

RTAI: un po di storia

Studi di Settore. Nota Operativa 22/4/2013

Controllo di processi

CREAZIONE DI UN SOTTOSITO

Corso di Linux. Dott. Paolo PAVAN

Corso di Informatica

Database & FreeBSD. Come configurare il sistema operativo ottimizzando le prestazioni sul DB. GufiCon#3 Milano, 12 Ottobre 2002

LPIC-1 Junior Level Linux Certification

ENTRATEL - Installazione

SERVIZIO TELEMATICO ENTRATEL. Applicazione Autentica-Apri Multifile

Uso di Norton Ghost Come si usa Norton Ghost 2003 per il backup di sistema

Naming nei Sistemi Distribuiti

Naming nei Sistemi Distribuiti

Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

Installare Ubuntu su macchina virtuale

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Transcript:

Kernel Linux (per sysadm)

Kernel Linux distribuzione un po' di numeri (per i kernel della famiglia 2.6.x) mole: ~ 320 Mb di sorgenti per ~ 4'500'000 LOC costo dello sviluppo: ~ 4'500 anni/uomo, ~ 600'000'000 $ (fonte: http://www.dwheeler.com/essays/linux-kernel-cost.html) distribuito su http://www.kernel.org tarball da 30 Mb contenenti sorgenti C (portabili su almeno 16 architetture ad oggi) e Assembly (architecture specific) interamente (up to firmware...) rilasciato sotto licenza GPL compilabile utilizzando utility GNU (GCC, Make, Binutils)

Kernel Linux installazione è un kernel monolitico (i.e. non microkernel), ma modulare l'installazione consta di: 1.parte monolitica 2.moduli 3.symbol table riferimenti: appunti, capp. 48 50 The Linux Kernel HOWTO (vecchio) http://www.digitalhermit.com/linux/kernel-build-howto.html Linux Loadable Kernel Module HOWTO The System.map file http://www.dirac.org/linux/system.map/

Kernel Linux parte monolitica non risiede necessariamente sul filesystem, ma deve essere nota al boot loader (e.g. lilo, grub, yaboot,...) il boot loader è l'applicazione che si preoccupa di installare il kernel in modo che la procedura di bootstrap della macchina (tipicamente implementata nel BIOS) sia in grado di accedervi è fortemente dipendente dall'architettura esempi: lilo & grub (i386), yaboot (powerpc) quando risiede sul filesystem è tipicamente un unico file /boot/vmlinu{x,z}-<kernel-version> (e.g. /boot/vmlinux-2.6.8) viene caricata in memoria al boot e mai scaricata

Kernel Linux moduli parti di kernel caricati/scaricati on demand, manualmente dall'utente o da demoni preposti (kerneld/kmod) devono essere accessibili a runtime, pertanto risiedono all'interno del filesystem un albero di file oggetto (.o/.ko) radicato in /lib/modules/<kernel-version>/ (e.g. /lib/modules/2.6.8/) flessibilità dei moduli name aliasing ed opzioni (/etc/modules.conf) dipendenze inter-modulo (/lib/modules/.../modules.dep)

Kernel Linux gestione dei moduli caricamento on demand insmod (full path, non gestisce alias e dipendenze) modprobe (nome modulo, gestisce alias e dipendenze) rimozione: rmmod, modprobe (gestisce dipendenze) ispezione: lsmod calcolo delle dipendenze: depmod informazioni su: modinfo manutenzione opzioni ed alias: update-modules (vecchio da module-init-tools in poi)

Kernel Linux symbol table /boot/system.map-<kernel-version> contiene la lista dei simboli associata al kernel, nel formato di nm: <symbol value, symbol type, symbol name> viene utilizzata da alcuni programmi di sistema (e.g. klogd, ps, lsof) per la risoluzione da symbol value a symbol name e.g. in caso di kernel oops ( segfault in kernel space), il kernel dispone solamente del valore corrente dell'eip (instruction pointer). klogd intercetta l'oops ed utilizza System.map per ottenere il symbol name corrispondente all'eip e loggarlo via syslog comandi: nm

Kernel Linux configurazione configurazione, compilazione ed installazione del kernel sono gestite dal Makefile distribuito assieme al kernel configurazione target del Makefile: config, xconfig, menuconfig, oldconfig, gconfig (solo 2.6.x) ogni componente del kernel può essere: compilata ed inclusa nella parte monolitica compilata come modulo non compilata vengono gestite dipendenze inter-componente risiede nel file.config all'interno dell'albero dei sorgenti

Kernel Linux compilazione & installazione compilazione target del Makefile pulizia: clean, mrproper compilazione parte monolitica: bzimage compilazione moduli: modules risultati della compilazione arch/<architecture>/boot/bzimage + file (.o/.ko) per i moduli installazione su disco: fortemente dipendente dal bootloader su floppy: dd if=.../bzimage of=/dev/fd0 moduli: target modules_install del Makefile

initrd INITial Ram Disk (1/2) nel caso che parti del kernel necessarie al boot siano necessarie al boot (e.g. supporto scsi, filesystem, RAID) e' possibile utilizzare un initrd ogni initrd e' una immagine (compressa, tipicamente in formato cpio + gzip) di un filesystem minimale contenente: moduli necessari al boot del sistema tool per il boot del filesystem reale (post caricamento dei moduli)

initrd INITial Ram Disk (2/2) procedura (semplificata) di boot con initrd: 1.loading del kernel e del ramdisk -> boot loader 2.mounting del ramdisk come root filesystem -> kernel 3.esecuzione di un prog. predefinito (e.g. /init, /linuxrc) -> kernel 4.loading di moduli necessari -> /init 5.mounting del filesystem reale -> /init 6.pivot_root -> /init 7.procedura usuale di boot la configurazione di initrd e' bootloader-dependent comandi: mkinitrd (vecchio), yaird riferimenti: http://www.tldp.org/ldp/linux-filesystem-hierarchy/html/initrd.htm

UML User Mode Linux UML è una macchina virtuale che implementa il kernel linux in user space su una macchina host linux motivazioni: sandboxing, kernel hacking, insegnamento attualmente supporta i kernel della famiglia 2.4.x (con patch) e 2.6.x (vanilla) su macchine host i386 riferimenti: http://user-mode-linux.sourceforge.net User Mode Linux Wiki: http://uml.harlowhill.com/ User Mode Linux HOWTO A user-mode port of the Linux kernel, Jeff Dike, http://user-mode-linux.sourceforge.net/als2000/index.html