Bene, ho appena finito di lottare, avendola vinta, con un IBM Xseries 306m, installando (o meglio, ora posso installare) una Debian GNU/Linux Etch sui suoi dischi SATA con controller Adaptec AIC-9405W (lspci restituisce Serial Attached SCSI controller: Adaptec AIC-9405W SAS (Razor-Lite ASIC non-RAID)=20 (rev 08)).
La cosa non e’ stata banale, almeno non per me, un po’ perche’ il CD di installazione (l’ultima immagine disponibile) ha il kernel 2.6.18 che non supporta proprio la scheda, un po’ perche’ e’ necessario caricare un firmware proprietario (maledetti…), ed un altro po’ perche’ in pochi paiono avere risolto la questione o se lo hanno fatto non l’hanno pubblicizzato, per cui anche cercando con Google non si trovano molte info, e quelle che ci sono sono incomplete o errate.
Come ho proceduto ? Intanto quando ci sono questi casi e’ obbligatorio usare un disco EIDE standard, in modo da slegarsi da quelli che sono i problemi del controller, si installa sopra di esso la propria distribuzione e poi si procede lavorando da li.
Una volta installata la Debian GNU/Linux Etch sul disco EIDE, quindi, si procede a scaricare il kernel vanilla, ovvero il kernel originale di www.kernel.org, lo si configura (qui il mio config BASE), e si compila alla maniera di debian, quindi con il comando fakeroot make-kpkg –append-to-version -306m –revision=1 –initrd kernel_image. E’ necessario usare initrd, perche’ dobbiamo caricare il supporto per il controller. Una volta compilato lo installiamo con un bel dpkg -i linux-image-2.6.20-306m_1_i386.deb (lo potete scaricare da QUI).
A questo e’ necessario scaricare il firmware, e questo lo trovate QUI, lo copiate nella directory /usr/lib/hotplug/firmware/ in modo che poi venga preso alla costruzione di initrd, e poi copiate questo script in /usr/share/initramfs-tools/hooks, ricordandovi di renderlo eseguibile con un chmod a+x firmware_aic94xx.
A questo punto dovete far ricreare l’initrd.img, e questo si ottiene dando il comando dpkg-reconfigure linux-image-2.6.20-306m.
Ora non resta che un bel reboot per vedere, finalmente, un bel SCSI device sda: 143374000 512-byte hdwr sectors (73407 MB) e SCSI device sdb: 143374000 512-byte hdwr sectors (73407 MB), e procedere cosi’ all’installazione della nostra distribuzione su questi dischi.
Ah…ovviamente poi il disco EIDE lo possiamo togliere, ma prima siate sicuri di fare il boot correttamente dai dischi SATA.
Nota: il file di configurazione del kernel e’ estremamente essenziale, perche’ mi serviva compilarlo in fretta, per cui non avete il supporto per quasi nulla, per cui ricontrollatevelo per adattarlo alle vostre esigenze.
Aggiornamento
Oggi ho fatto partire tutto il sistema sui dischi SATA, pero’ un altro paio di consigli, che possono essere utili.
Prima di tutto per installare il sistema vi consiglio di farlo usando il raid software visto che quello della scheda non e’ supportato (si’, ho provato e non va), usando come dispositivi sdaX e sdbX dopo averli opportunamente partizionati. Ora diciamo che avete i vostri /dev/mdX per cui, montate la root, diciamo /dev/md0, in /mnt, caricategli il sitema con debootstrap etch /mnt, a questo punto avete un’installazione pulita sul disco in raid. Entrate dentro questo disco in chroot, quindi chroot /mnt, modificate tutti i parametri, in particolare schede di rete, etc, installate i vari soft necessari come il lilo (non amo grub). Ora riavviate, sempre tenendo il disco EIDE come boot, ma quando sta per partire, premete lo shift sinistro e scrivete linux root=/dev/md0, cosi’ parte il sistema ma usando come disco quello in raid. Il suggerimento ora e’ quello di rifare con il firmware quello che abbiamo fatto in precedenza, ma un po’ cambiato (chissa’ perche’…). Copiate il firmare in /lib/firmware e lo script che va in /usr/share/initramfs-tools/hooks, ridate il comando dpkg-reconfigure linux-image-2.6.20-306m e provate a riavviare staccando il disco EIDE.

Strano a dirsi, ma dopo tutto questo discorrere sui DRM, major a favore, utenti contro, politici di destra che sostengono i primi, le sinistre che appoggiano i secondi, con in mezzo qualche associazione di difesa consumatori e una sparata di Steve Jobs che sostiene che Apple, in realta’, non vuole i DRM, ebbene, strano a dirsi ma io sono favorevole ai DRM.
Ovviamente non posso fermarmi qui, e devo proseguire mettendo in chiaro il mio pensiero, se ci riesco ๐Ÿ™‚
Il mio favore verso i DRM e’ relativamente al fatto di essere strumenti per tutelare il lavoro di coloro che intendono, in qualche modo, bloccarlo. Se l’autore di una canzone non vuole che questa si diffonda se non seguendo canoni predisposti (ad esempio il pagamento di una royalty, o per una sessione di tempo, ecc), ha il sacrosanto diritto di bloccarla, mettendo appunto i lucchetti digitali. Ha lo stesso diritto di noi che, per impedire che la nostra bicicletta venga presa dal primo che capita, mettiamo un lucchetto da 5 chili in acciaio temperato. Se invece il nostro animo cordiale dicesse che e’ giusto che chiunque possa usufruire del mio mezzo a pedali, allora la lascero’ senza fermi. Pero’ si capisce che non puo’ la legge impedirmi o obbligarmi a farlo.
Sui contenuti digitali vale, secondo il mio modesto parere, lo stesso principio, ovvero che se l’autore desidera che esso non si diffonda liberamente allora utilizzera’ i blocchi digitali. Dov’e’ lo scandalo ?
Lo scandalo e’ che su Internet c’e’ oramai l’abitudine di scaricare tutto e gratuitamente, e questo e’ un errore, sebbene chiunque lo abbia fatto e lo faccia (anche il figlio di un rappresentante delle major e’ stato pubblicamente affermato), per cui qualsiasi movimento atto a bloccare questa abitudine sembra un affronto, un po’ come in un epoca di biciclette libere, qualcuno volesse che la sua, che non e’ un rottame ma una bella bici da mountain bike, con forcelle, freni a disco e cosi’ via, rimanesse sua e mettesse un lucchetto. Tutti cercherebbero di aprire quel lucchetto, qualcuno alla fine ci riesce, ed e’ giusto ?
Quello su cui si deve lavorare, come comunita’, e’ far si’ che gli autori capiscano che bloccare i contenuti digitali, come ad esempio le canzoni, non serve, mentre renderle liberamente accessibili a chiunque e’ un vantaggio perche’ l’autore si fa conosceree puo’ usare altri metodi per guadagnare soldi, come i concerti. Immaginiamo un cantante semi sconosciuto che potesse rifare delle canzoni note senza dover pagare royalty e potesse immetterle in rete, facendosi cosi’ sentire e conoscere sganciandosi dalle major, se e’ in gamba io lo vedo qualche anno dopo con parolieri che gli propongono nuovi brani inediti, vedo feste in cui ci sono i suoi concerti in cui viene pagato per la sua prestazione d’opera, insomma, vedo lo sviluppo della musica.
Utopia ? E’ quello che e’ successo con il software libero ed open source, ottimi programmi, scritti bene a piu’ mani, dove ovunque puo’ collaborare per migliorare. E tu, Steve Jobs, che sei contrario ai DRM, perche’ non rilasci il codice di MacOS X ? Semplicemente perche’ e’ facile parlare, piu’ difficile agire.

Ho necessita’ di avere due macchine ‘up and running’ nonostante abbia, fisicamente, una sola macchina. La soluzione ? Virtualizzazione. Io pero’ non sono come tanti che pensano che la virtualizzazione sia la panacea di tutti i mali, infatti se si hanno 10 macchine che occupano il 20% delle risorse, bene, in un server ce ne possono stare 5 virtualizzate (facendo finta che il server non occupi risorse), ma se io ho 10 macchine ognuna occupa il 100% delle risorse, beh, a meno che le macchine non siano dei PII e’ molto difficile farle stare in un ambiente virtuale. Non e’ il mio caso, comunque, in quanto devo solo far apparire un dns primario ed uno secondario, che realmente occupano poche risorse di sistema.
La prima idea era di provare ad usare qemu, che ho gia’ messo in funzione qualche tempo fa, ma alla fine ho preso l’occasione per provare il tanto decantato xen.
Armato della mia Debian etch e del mio fido apt-get vediamo un po’ cosa fare. Innanzitutto si installano i pacchetti necessari:
apt-get update; apt-get install xen-linux-system-2.6.18-3-xen-k7 xen-tools bridge-utils iproute debootstrap
Se avete il lilo, dovete toglierlo e installare grub perche’ questo viene usato da xen, per cui:
dpkg –purge lilo; apt-get install grub; grub-install /dev/XXX dove XXX e’ il disco su cui avete installato il sistema, ad esempio nel mio casoe’ /dev/hda.
Molto probabilmente, o meglio sicuramente, vi e’ stato cambiato il kernel con un linux-image…-xen-…, per cui e’ necessario riavviare in modo che venga usato questo. Dopo il boot io noto un sacco di messaggi a console del tipo Feb 2 18:50:55 server kernel: 4gb seg fixup, process sshd (pid 1928), cs:ip 73:b7c66c1c ma per ora non mi preoccupo, vedremo in seguito se riesco a toglierlo ๐Ÿ˜‰
A questo punto prendete una partizione del disco piuttosto ampia e createci una directory in cui andrete a create tutte le macchine virtuali. Io ne ho fatta una ad-hoc perche’ quelle che avevo sul sistema server erano tutte piuttosto piccole, ma se avete una partizione unica allora nessun problema, usate pure quella. Sempre per mantenere un po’ di ordine mi sono fatto una dir /virtual nella quale ho montato la partizione, voi vedete di fare quello che preferite ๐Ÿ™‚ La dir di default negli xen-tools e’ la /home/xen.
xen-tools e’ un insieme di script per aiutare a creare le macchine virtuali, ed e’ configurabile tramite il file conf in /etc/xen-tools/xen-tools.conf, eccone qui un mio estratto:
server:/etc/xen-tools# grep -v ^# xen-tools.conf | grep -v ^$
dir = /virtual
debootstrap = 1
size = 4Gb # Disk image size.
memory = 128Mb # Memory size
swap = 128Mb # Swap size
fs = ext3 # use the EXT3 filesystem for the disk image.
dist = etch # Default distribution to install.
image = sparse # Specify sparse vs. full disk images.
gateway = 192.168.1.1
netmask = 255.255.255.0
passwd = 1
kernel = /boot/vmlinuz-2.6.18-3-xen-k7
initrd = /boot/initrd.img-2.6.18-3-xen-k7
mirror = https://ftp.debian.org/
Tutto il resto e’ lasciato di default. Probabilmente alcune altre cose sono da cambiare, ma insomma, piu’ o meno dovrebbe essere corretto e dare un’idea di massima.
Siamo pronti ora a lanciare il comando per generare la macchina virtuale:
xen-create-image –hostname vm01 –ip 192.168.1.10
Alla fine, dopo avere creato i file immagine, averli formattati, riempiti con i file di sistema (una etch come si vede nella c onfigurazione) tramite bootstrap ed avere applicato alcune patch, mi chiede, come richiesto nella configurazione, la password di root, e per terminare con un rassicurante All done.
Funziona ? Non funziona ? Vediamo un po’…
Per cominciare vediamo se la macchina virtuale e’ vista dal sistema:
# xen-list-images Name: vm01 Memory: 128 IP: 192.168.1.10
…ed infatti in /etc/xen/ troviamo il file vm01.cfg. Lanciamo ora la macchina virtuale:
# xm create vm01.cfg -c
L’opzione -c e’ utile nel caso la macchina virtuale non parta e si voglia capire perche’, ma solitamente la si omette perche’ poi si usa ssh per connetersi. Per fermare la macchina virtual, si puo’ dare uno shutdown dall’interno della stessa, oppure dal server host dare il comando xm shutdown vm01.
Ovviamente qualcosa non va ๐Ÿ˜‰ Non viene trovato il bridge che viene cercato di default, e quindi la macchina virtuale non parte e poi…non parte in automatico (ma questo non so se sia dovuto a qualche impostazione in fase di creazione). Ovviamo a entrambe le cose, editando il file /etc/xen/xend-config.sxp, io ho tolto il commento alla configurazione indicante (network-script network-bridge) mentre ho commentato quella indicante (vif-script vif-bridge). Riavviate poi i demoni con:
# /etc/init.d/xend restart. /etc/init.d/xendomains restart
A questo punto per rendere automatico l’avvio, basta guardare in /etc/default/xendomains per capire che vengono lanciate in automatico le macchine virtuali la cui configurazione si trovi in /etc/xend/auto, per cui:
# cd /etc/xend; mkdir auto; cd auto; ln -s /etc/xend/vm01.cfg .
…e dovremmo esserci ๐Ÿ™‚
Aggiornamento:
Per riavviare le macchine virtuali, semplicemente entrate in ssh e date il comando reboot
Vi consiglio di installare, poiche’ debootstrap non li installa al momento della creazione dello spazio virtuale, i seguenti pacchetti: postfix vim locales, dopodiche’ date il comando dpkg-reconfigure locales e selezionate it_IT.UTF-8
Altro consiglio, per evitare l’errore 4gb seg fixup e’ quello di installare il pacchetto libc6-xen che, stranamente, non viene fatto in automatico durante la prima fase.