sabato 30 ottobre 2010

Benchmarking Debian System

Dopo avere installato Debian Squeeze su un PC ho avuto la netta impressione che il boot fosse molto più veloce rispetto a quello di Lenny quindi ho deciso di fare qualche test più preciso.
Beh per fare dei test precisi dovrei utilizzare la stessa macchina fresca di installazione cosa che non ho fatto per cui riepilogo le condizioni del test.
Il computer usato è un vecchio portatile Prostar 8500V con 512MB di ram, processore P3 Coppermine a 1GHZ, scheda madrea Apollo Pro 133X. Il portatile in questione ha l'interessante caratteristica di racchiudere il disco fisso all'interno di un cassettino che può essere  estratto agendo su un interruttore a slitta, caratteristica che ho sfruttato acquistando negli anni su eBay dei cassettini per questo modello.
Detto questo sul primo cassetto c'è un disco Toshiba da 20GB con l'installazione di Lenny mentre nel secondo un disco SSD Trascend da 32GB con Squeeze. Lenny usa WindowMaker come ambiente grafico e Slim come logi manager mentre Squeeze usa Gnome come da installazione di default .... giusto un pelo più pesante.
Prima di tutto ho fatto un test con il comando hdparm -tT per vedere se la differenza di prestazioni tra i due dischi fosse troppo elevata.

              TIMING CACHED READ - TIMING BUFFERED DISK READ
TOSHIBA              164 MB/s                           16MB/s
TRASCEND           178 MB/s                           28MB/s

Quasi un 50% di incremento con il disco TRASCEND SSD .... non male.
Questo può deporre che la maggiore velocità di boot non sia dipesa da Squeeze ma dal disco.
Ho installato bootchart su Lenny e misurato le prestazioni che si sono attestate su circa 52 secondi per il boot. Purtroppo non è stato possibile fare lo stesso test con Squeeze in quanto il pacchetto bootchart è disponibile solo per le versioni stable di Debian.
Cronometro alla mano dal boot al desktop, quindi dopo aver fatto il login, ci ha impiegato 45 secondi circa per Squeeze e 79 per Lenny ..... considerando i margini d'errore visto che non sono un cronometrista.
Purtroppo come già detto la differenza di prestazioni fra i due dischi non permette di valutare gli eventuali miglioramenti in prestazione introdotti con Squeeze.

Il prossimo test che andrò a eseguire sarà condotto su un portatile Pentium 4 a 2,53GHZ con disco Toshiba da 80GB e 1 giga di ram. Benché questo computer abbia problemi con la batteria CMOS che spesso e volentieri perde la carica per cui al boot bisogna reimpostare data e ora può andare bene comunque per il test.
Il comando hdparm riporta 368MB/s e 34MB/s per i timing.
Attualmente è installata Lenny con kernel 2.6.26-2 e bootchart riporta 45 secondi per il boot.
Abilitando il repository per i backports ho installato il kernel 2.6.32-5 e eseguito il boot con questo kernel, anche in questo caso i tempi si sono attestati sui 45 secondi per cui non sembrerebberò esserci differenze tra un kernel e l'altro.
Il prossimo step sarà quello di eseguire l'upgrade da Lenny a Squeeze e vedere se e come migliorano le cose.

Per la cronaca riporto i valori ottenuti sul mio portatile che uso per lavoro e dove è installata Lenny ( MSI GX600 Intel Core2 Duo T7500 2,2GHZ, 4GB di RAM, disco WD 250GB, grafica NVIDIA GeForse 8600M GT ).

Per hdparm siamo su 2,5GB/s e 53MB/s, il disco è un SATA Western Digital da 250GB, il bootchart riporta 67 secondi.
Quindi, lasciando perdere il fatto che su questo portatile vengano attivati alcuni servizi in più rispetto agli altri due, i tempi sono decisamente alti rispetto alle potenzialità dell'hardware messe in campo.

Vediamo gli esiti dell'upgrade sul Pentium 4 e poi .... aspettiamo che Squeeze diventi la nuova stable, sperando di non dovere aspettare troppo.

lunedì 25 ottobre 2010

Qemu e Sparc

Beh questa è una cosa che mi è dispiaciuta non poco.
Qemu dovrebbe supportare sia sparc che sparc64 ma a me non è riuscito di installare nessuna versione di debian.
Il comando qemu-system-sparc supporta le versioni a 32 bit del processore sparc ma sia debian 3 che 4 non sono arrivate alla conclusione del setup.
In entrambi i casi la macchina virtuale si è bloccata verso la fine della procedura di installazione.
Per la debian 3 nella fase finale di memorizzazione della lingua, mentre per la 4 al 5% dell'installazione dei pacchetti.
Debian 5 e 6 supportano solo sparc64 ma con qemu-system-sparc64 si riesce appena a fare il boot è poi si blocca.
Le prove sono state fatte con qemu versione 0.13 ,l'ultima uscita al momento in cui scrivo.
Prove fatte con altre distribuzioni per sparc non hanno dato migliore esito.
Ho testato anche Fedora e Gentoo, entrambe sembrano supportare solo sparc64 ma il boot si blocca subito dopo questa scritta :

console [tty0] enabled, bootconsole disabled


Cosa vorrà dire ? ho provato a eseguire qemu con l'opzione -serial`tty` ma non ho ottenuto nessun risultato.
Se qualcuno è riuscito, e cercando con Google sembrerebbe di si, a installare una qualche distribuzione linux per sparc con qemu mi faccia sapere come.
Grazie.

domenica 24 ottobre 2010

Debian Squeeze

Squeeze é il nome che avrà Debian 6 ed é ormai in testing da parecchio tempo. Quando uscirà ? Probabilmente nel 2011, tanto ormai mancano poco più di 2 mesi. 
Comunque preso dalla curiosità ho deciso di fare un'installazione via rete su un vecchio Pentium 3 a 1GHZ con 512 mega di RAM e devo dire che ne sono rimasto piacevolmente impressionato. I tempi di boot sono molto veloci considerando l'hardware di prova e anche utilizzando Gnome il computer non andava proprio malaccio. Certo non può essere un missile e andrò a sostituire Gnome con Fluxbox ma in ogni caso mi sembra un netto miglioramento. 
Ora il mio PC "ufficiale" utilizza Lenny e purtroppo mi sembra abbastanza impiccato. E' un Core2 Duo a 2.2GHZ con 4 giga di RAM, ambiente grafico Openbox ma i tempi di boot sono veramente lunghi ..... troppo lunghi ed inoltre non mi sembra proprio il massimo della stabilità. Infatti mi è capitato più di una volta di trovarmi con il PC bloccato ..... certo forse è un problema della macchina, anche perché onestamente in tanti anni che uso Debian non ho mai avuto i problemi che ho incontrato con questo PC che é il primo con Debian a 64 bit ma non penso che la versione a 64 bit sia così instabile ... spero.
Purtroppo é il PC che uso anche per lavoro per cui pensare di passare alla testing e vedere se le cose migliorano non mi sembra il massimo .... è pur sempre in testing.
Giusto per curiosità uno di questi giorni rimetto Lenny sul vecchio PC e mi cimento nell'aggiornamento a Squeeze così mi faccio un'idea di che morte morire il giorno che ci sarà il rilascio ufficiale e decidero di aggiornare la mia macchina.


giovedì 14 ottobre 2010

Debian su MIPS con Qemu

Continuano le mie prove con l'emulatore Qemu.
Questa volta tocca al processore MIPS.

Da qui è possibile scaricare i file vmlinux e initrd che ci servono per l'installazione, mentre la iso per l'installazione via rete la si può scaricare dal solito www.debian.org.

Una voltra creato il disco virtuale con il solito qemu-img sarà sufficente eseguire il comando :

qemu-system-mipsel -m 256 -kernel vmlinux-2.6.26-2-4kc-malta -initrd initrd.gz -hda debian-mips.qhd -append "root=/dev/ram console=ttyS0" -nographic -cdrom debian-506-mipsel-netinst.iso

terminata l'installazione si potrà eseguire la macchina virtuale con :

qemu-system-mipsel -m 256 -kernel vmlinux-2.6.26-2-4kc-malta -hda debian-mips.qhd -append "root=/dev/hda1 console=ttyS0" -nographic

Anche in questo caso non ho incontrato problemi di sorta.
Come sempre ho utilizzato la rete virtuale di qemu e mi sono limitato all'installazione base del sistema.

lunedì 11 ottobre 2010

Debian su ARM con Qemu

Continuano le mie prove con l'emulatore Qemu.
Questa volta tocca al processore ARM.

Da qui è possibile scaricare i file vmlinux e initrd che ci servono per l'installazione, mentre la iso per l'installazione via rete la si può scaricare dal solito www.debian.org.

Una voltra creato il disco virtuale con il solito qemu-img sarà sufficente eseguire il comando :

qemu-system-arm -M versatilepb -m 256 -kernel vmlinuz-2.6.26-2-versatile -initrd initrd.gz -hda debian-arm.qhd -append "root=/dev/ram" -cdrom debian-506-armel-netinst.iso

Terminata l'installazione, ignorate errori di boot loader, dovremo estrapolare dall'immagine creata il file initrd che ci serve per eseguire il boot della macchina virtuale.

Per montare un'immagine Qemu in formato qcow2 bisogna eseguire i seguenti comandi :

sudo modprobe nbd max_part=63
sudo qemu-nbd -c /dev/nbd0 debian-arm.qhd
sudo mount -t ext2 /dev/nbd0p1 /mnt/immagine

Ovviamente deve esistere la directory /mnt/immagine.
Ora copiate il file :

cp /mnt/immagine/boot/initrd.img-2.6.26-2-versatile .

smontate la cartella :

sudo umount /mnt/immagine

A questo punto con il seguente comando si avvia il sistema :

qemu-system-arm -M versatilepb -m 256 -kernel vmlinuz-2.6.26-2-versatile -initrd initrd.img-2.6.26-2-versatile -hda debian-arm.qhd -append "root=/dev/sda1" 

Anche in questo caso non ho incontrato problemi di sorta.
Come sempre ho utilizzato la rete virtuale di qemu e mi sono limitato all'installazione base del sistema.

giovedì 7 ottobre 2010

Debian su PowerPC con QEMU

Qemu è un ottimo emulatore che ha il pregio di supportare anche altre architetture oltre alla canonica x86.
Nello specifico volevo provare a installare debian sulle seguenti architetture :
arm
mips
ppc
sparc

arm e mips sono architetture comuni a molti sistemi embedded, ppc è l'architettura dei "vecchi" Mac oltre che di alcuni server IBM mentre sparc è l'architettura di SUN usata per il glorioso Solaris.

Dopo aver scaricato e compilato l'ultima versione ( 0.13.0-rc1) possiamo procedere con i nostri test.

Bene cominciamo con ppc andando a scaricare dal sito di Debian la netinst relativa all'architettura powerpc e, dopo aver creato un disco virtuale di 20 giga con il comando :

qemu-img create -f qcow2 debian-ppc.qhd 20G

eseguiamo il boot da CD con il seguente comando :

qemu-system-ppc -m 256 -hda debian-ppc.qhd -cdrom debian-506-powerpc-netinst.iso -boot d

a questo punto partirà la classica installazione di debian che non darà, almeno a me, problemi fino alla sua conclusione.

Alcune precisazioni.
Prima di compilare qemu accertarsi di avere installate le librerie di sviluppo per SDL altrimenti si dovrà accedere alla macchina virtuale con un client VNC, che a me non pare il massimo.
Ho fatto un'installazione base senza Xorg per cui non ho idea se sia possibile usare anche un ambiente grafico.
Provando a emulare un sistema PREP ( opzione -M prep ) qemu lamentava un problema di BIOS per cui non andava avanti.
Di default qemu simula un rete virtuale che permette alla macchina emulata di accedere ad internet ma non sarà possibile comunicare con il PC host.
Qemu supporta altre modalità per la gestione del networking che sono ampiamente documentate nella relativa documentazione.