ZFS on Linux su Debian Squeeze

 

 

Negli ultimi giorni si è parlato molto di ZFS on Linux, ed io lo sto seguendo anche per l'interesse che nutro verso Debian GNU/kFreeBSD. Quindi ho deciso di provare questo modulo su Debian Squeeze, dopo aver provato anche zfs-fuse. Sul sito previa registrazione si possono scaricare i pacchetti deb-rpm per Fedora-Ubuntu-Rhel 6, altrimenti seguire questi passi:

Requisiti:

# apt-get install build-essential gawk alien fakeroot libz-dev uuid-dev libblkid-dev linux-headers-$(uname -r)

Download ed installazione SPL (Solaris Porting Layer)

$ git clone git://github.com/behlendorf/spl.git

$ cd spl

$ ./configure

$ make deb

dpkg -i *_amd64.deb

Download ed installazione ZFS

$ git clone git://github.com/behlendorf/zfs.git

$ cd zfs

$ ./configure

$ make deb

# dpkg -i *_amd64.deb

# modprobe zfs

facciamo un controllo dei moduli:

root@debianbox:/home/edmond# lsmod |grep zfs
zfs                   649794  0
zcommon                26409  1 zfs
znvpair                24225  2 zfs,zcommon
zavl                    4092  1 zfs
zlib_deflate           17650  1 zfs
zunicode              316550  1 zfs
spl                    76140  6 splat,zfs,zcommon,znvpair,zavl,zunicode
 

root@debianbox:/home/edmond# dpkg -l |grep zfs
ii  zfs                                  0.5.2-2                              ZFS Library and Utils
ii  zfs-devel                            0.5.2-2                              ZFS File System User Headers
ii  zfs-modules                          0.5.2-2                              ZFS File System
ii  zfs-modules-devel                    0.5.2-2                              ZFS File System Headers and Symbols
ii  zfs-test                             0.5.2-2                              ZFS File System Test Infrastructure
 

Deb kernel 2.6.36_i386_amd64 con patch Kolivas per Debian

 

 

Ho deciso di condividere oltre i kernel "normali" di qualche settimana fà, anche due nuovi kernel 2.6.36-ck2 per architettura i 386 ed amd64 per Debian. Tutto questo, dopo che in queste ultime due settimane non si è fatto altro che discutere sulla patch delle meraviglie ed i suoi vantaggi su un sistema a pieno carico. Questi kernel sono pachati Con Kolivas a 1000Mhz. Per tutti i fans di Kolivas e per chiunque voglia provarli 😉

Kernel amd64:

Download

Kernel i386:

Download

 

enjoy 😉

Deb per Kernel 2.6.36_i386_amd64 Debian

 

 

Voglio condividere con chi è interessato ed ha fiducia i deb del kernel 2.6.36 per Debian, sia arch i386 che amd64. Mi sono deliziato anche a compilarne uno più snello, dato che questo fine settimana non avevo un ca$$o da fare 🙂 ma quella è un'altra storia. Spero di aver fatto cosa gradita 😉

Download:

kernel 2.6.36_i386

Download:

kernel 2.6.36_amd64

enjoy 😉

Debian GNU/kFreeBSD compilare il kernel

 

Come compilare il kernel in Debian GNU/kFreeBSD?, col metodo Debian o con quello FreeBsd? Diciamo che per quelli come me che usano prevalentemente Debian, all'inizio si trovano un pò spaesati, forse per la troppa facilità 🙂 ,ma questo è normale quando ci si avvicina ad un qualcosa che non conosci bene e devi imparare. Comunque il mio sistema è:

edmond@GnuKfreeBsd:~$ uname -a
GNU/kFreeBSD GnuKfreeBsd 8.1-1-686-smp #0 Tue Aug 17 23:24:32 CEST 2010 i686 i386 Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz GNU/kFreeBSD

per iniziare la compilazione dobbiamo avere un pò di strumenti quindi:

# apt-get build-dep kfreebsd-8

poi:

# apt-get source kfreebsd-8

# cd kfreebsd-8-8.1

andare nel percorso del file .config della nostra architettura:

esempio:

/home/edmond/kfreebsd-8-8.1/debian/arch/i386/686-smp.config

ed effettuare i cambiamenti.

step finale:

# dpkg-buildpackage opzione_di_compilazione

esempio:

# dpkg-buildpackage -B -uc

fare riferimento al man dpkg-buildpackage

USB 3.0 e Linux una scheggia

 

Oggi sono andato alla fiera dell'elettronica di Busto Arsizio (VA), per curiosare e vedere se ci fossero delle novità o qualcosa che attirasse la mia attenzione. Io queste fiere le seguo sempre, di solito frequento anche quelle di Erba (CO) Novegro (MI) e Cremona. Comunque curiosando di quà e di là ho acquistato qualcosa, alla fine me la sono cavata fortunatamente con una spesa di circa 120€ in totale. Il pezzo pregiato dei miei acquisti è stata una pen drive da 16g con standard USB 3.0 al prezzo di 39€, mentre quella USB 2.0 costava 26€. Una volta arrivato a casa mi sono messo subito a testarla, ed a questo proposito, bisogna ricordare che Linux per primo ha il supporto nativo per questo standard, fin dal kernel 2.6.31. Comunque per far capire la velocità di questo standard ho fatto una prova sul mio pc che ha come hub:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Per prima cosa ho formattato la pen drive con dd, dato che gparted non riusciva a formattarla:

$ dd if=/dev/zero of=/dev/sdX

Test:

copia di un file video di 1g su una pen drive Sony da 2g:

Bus 001 Device 015: ID 054c:0243 Sony Corp. MicroVault Flash Drive

Risultato:

real    5m29.500s
user    0m0.008s
sys    0m2.512s

copia dello stesso file su ADATA Nobility Series N005 USB 3.0:

Bus 001 Device 016: ID 125f:105a A-DATA Technology Co., Ltd.

Risultato:

real    0m42.896s
user    0m0.024s
sys    0m2.740s

il risultato direi che è ottimo…una scheggia 🙂
 

Virtualbox su Debian Squeeze

 

                                                                   

                                                                                    VirtualBox su Debian in 5 passi:

 

# apt-get install virtualbox-ose virtualbox-ose-source module-assistant

# m-a prepare

# m-a a-i virtualbox-ose-source

# modprobe vboxdrv

# sh -c 'echo "vboxdrv" >> /etc/modules'

Debian GNU/Hurd su VirtualBox

 

Questa guida può aiutare tutti coloro che volessero provare Debian GNU/Hurd su VirtualBox, e senza volere entrare troppo sul tecnico, rimando al sito del progetto, ed in più segnalo una lettura veloce di questo post di Guiodic giusto per comprendere la differenza tra un kernel monolitico ( Linux ) ed un microkernel ( GNU Mach ).

Requisiti:

VirtualBox con su installata una distribuzione Gnu/Linux.

debian-L1-hurd-i386-mini.iso scaricabile da qua.

Installazione:

Avviare VirtualBox e come scheda di rete scegliere la PCnet-PCI II (Am79C970A), il resto a piacimento. L'installer è molto intuitivo, settare la tastiera, partizionare, attivare partizione di swap e partizione Gnu/Hurd ed installare il sistema base dopo di chè scegliere:

cdrom → continue → list → /instmnt/install

reboot the system

Avviare VirtualBox con la propria distribuzione Gnu/Linux installata ( es. Debian ), e digitare:

# sudo update-grub

dopo di chè riavviare ed accedere alle opzioni di Grub, per aggiungere l'opzione

-s

che indica di avviare come single-user.

e poi cancellare

--readonly

per non avviare con un file system in solo lettura.

sotto un esempio, con la partizione Gnu/Hurd in hd0s6:

insmod ext2
    set root=(hd0,6)
    multiboot /boot/gnumach.gz root=device:hd0s6 -s
    module /hurd/ext2fs.static ext2fs  \
            --multiboot-command-line='${kernel-command-line}' \
            --host-priv-port='${host-port}' \
            --device-master-port='${device-port}' \
            --exec-server-task='${exec-task}' -T typed '${root}' \
            '$(task-create)' '$(task-resume)'
    module /lib/ld.so.1 exec /hurd/exec '$(exec-task=task-create)'

a questo punto siamo pronti ad  avviare Gnu/Hurd, avendo un po di pazienza in quanto ci vorranno almeno 5 minuti poichè si bloccherà qui:

e nel caso il file system dovrebbe essere in readonly, ovviare al problema con:

# fsysopts / --writable

se tutto è andato bene ci apparirà una shell:

sh-4.0#

diventiamo root:

su

è lanciamo:

# ./native-install

che si occuperà di installare il sistema base:

dopo di che:

# reboot

adesso accedere come multi-user, quindi senza l'opzione -s, ed eseguire il login come:

login root

settare utente e password:

# adduser Utente

# passwd

aggiungere partizione di swap ( es: hd0s5 )

# cd ..

# cd /dev

# ./MAKEDEV hd0s5

correggere e decommentare fstab:

# nano /etc/fstab

/dev/hd0s5  none    swap    sw   0   0

# reboot

adesso abbiamo bisogno del sources.list e di una connessione di rete:

sources.list:

# nano /etc/apt/sources.list

deb https://ftp.it.debian.org/debian unstable main
deb https://ftp.debian-ports.org/debian unreleased main

connessione di rete:

per verificare se  la nostra scheda di rete viene riconosciuta:

# devprobe eth0

come output si avrà eth0.

per connettersi con ip statico:

# settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a 10.0.2.15 -g 10.0.2.255 -m 255.255.255.0

# reboot

aggiornare il sistema:

su

# apt-get update

# apt-get upgrade

si ottiene questo errore, che sinceramente mi ha fatto perdere non poco tempo, dato che non me l'aspettavo:

tanto è vero che:

# echo $PATH

mi restituiva questo:

mentre accedendo come root con:

su -

si risolve il problema, infatti:

In effetti,come viene spiegato qua, la differenza sta nel fatto che, usando su senza il trattino, si ottiene una shell interattiva normale, mentre con il trattino si ottiene una «shell di login». Dal lato pratico, la differenza sta nel fatto che nel secondo caso vengano eseguiti script che nel primo caso sono ignorati; dal punto di vista pratico, quello che conta è sapere che la differenza esiste e dipende dalla configurazione del sistema operativo. Arrivati a questo punto siamo in grado di installare qualche programma:

# apt-get install links

Per il momento mi fermo qua, ma credo di proseguire prossimamente, sperando che a qualcuno interessi 😉

Update:

Installazione Debian GNU/Hurd Video

 

Driver nouveau con kernel 2.6.33 e Debian

 

Il progetto nouveau mira alla creazione di driver di alta qualità per schede grafiche nvidia, e siccome era un po che volevo testarli, finalmente mi sono deciso. Inizio subito con il dire che per il momento il 3D non è supportato integralmente ,quindi per chi vuole compiz obbligatoriamente attivo e meglio che lasci perdere, mentre per chi vuole una Debian o altro con software open al 100%, forse è venuto il momento di provare questi driver nouveau, che a me sinceramente hanno stupito per velocità. Comunque per maggiori informazioni consiglio di visitare il sito. Per chi vuole testarli basta seguire i passi indicati di seguito, tenendo presente che io uso Debian Sid:

Inserire i repo experimental, dato che alcuni pacchetti li troviamo là:

deb https://ftp.it.debian.org/debian/ experimental main contrib non-free
deb-src https://ftp.it.debian.org/debian/ experimental main contrib non-free

a questo punto installiamo ciò che ci serve:

# apt-get update

# apt-get install linux-source-2.6.33 libdrm-nouveau1 libdrm2 xserver-xorg-video-nouveau

adesso dobbiamo ricompilare il kernel, perchè dobbiamo abilitare i nostri driver open nouveau, che troviamo nel percorso:

Device Drivers  —> Staging drivers  —>  Nouveau (nVidia) cards

una volta finita la compilazione ed installato il nuovo kernel, prima di riavviare ricordiamoci di modificare xorg.conf oppure XF86Config nella sezione device:

# nano /etc/X11/XF86Config

sostituire nvidia o nv con nouveau

Section "Device"
    Identifier     "Device0"
    Driver         "nouveau"
EndSection

una volta avviato il nuovo kernel non ci rimane altro che testare i nostri driver open:

$ lsmod | grep nouveau

Scrittura filesystem UFS con Debian

 

 

Questa guida nasce dopo l'installazione di Debian GNU/kFreeBSD, e quindi dalla necessità di dover scrivere dall'interno della mia Debian Sid il filesystem ufs. Al momento mi trovavo nella situazione solamente di lettura e montavo il filesystem ufs con il comando:

mount -t ufs -o ro,ufstype=ufs2,nodev,nosuid /dev/sdaX /mnt

e quando cercavo di scrivere con il comando:

mount -t ufs -o rw,ufstype=ufs2,nodev,nosuid /dev/sdX /mnt

mi restituiva il seguente errore:

debianbox:/home/edmond# mount -t ufs -o rw,ufstype=ufs2,nodev,nosuid /dev/sda9 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/sda9,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog – try
       dmesg | tail  or so

debianbox:/home/edmond# dmesg | tail -n 1
[ 6931.531458] ufs was compiled with read-only support, can't be mounted as read-write

quindi non potevo scrivere il filesystem ufs in quanto il kernel era stato compilato con l'opzione di solo lettura. A questo punto ho deciso di ricompilare il kernel anche se è considerato “dangereous/experimental”:

sudo apt-get install build-essential bin86 kernel-package libncurses5 libncurses5-dev fakeroot module-init-tools

# cd /usr/src

# uname -r

# apt-get install linux-source-2.6.32

# bzip2 -dc linux-source-2.6.32.tar.bz2 |tar xf -

# ln -sf linux-source-2.6.32 linux

# cd linux

# cp /boot/config-2.6.32-trunk-686 .config

# make menuconfig

spostari nelle sezioni File systems  —> Miscellaneous filesystems  scegliere UFS file system write support (DANGEROUS) e poi salvare. A questo punto siamo pronti per compilare:

io ho due cpu, quindi:

# CONCURRENCY_LEVEL=2 make-kpkg --initrd --append-to-version=-ufs kernel-image kernel-headers

al completamento siamo pronti ad installare il kernel-header ed il kernel-image creati con:

# dpkg -i tutti_e_due_i_kernel

riavviamo e proviamo il nuovo kernel, se nel caso ci troviamo di fronte ad un kernel panic, il motivo è legato al fatto che non trova l'initrd, quindi risolviamo con:

# cd /usr/src

#  update-initramfs -c -k nome_kernel -t

 

Conclusioni:

Devo dire che sono due giorni che provo a scrivere nella partizione freebsd ed al momento non ho riscontrato nessun problema 🙂

Aspire One Linux e modem HSDPA-HSUPA Option-GTM380-GlobeTrotter

Ho da poco preso un Acer Aspire One A150X, con modem HSUPA embedded,  e diciamo che sono contento in quanto col pinguino, al momento non ho riscontrato problemi seri. Come distribuzione ho installato Debian, poi ho provato Kuki , ma non mi è piaciuta, del resto è ancora in alfa. Per ultimo ho provato  Linux4one, a cui faccio i miei complimenti a tutto lo staff. Usando proprio questa distro mi sono accorto del problema di connessione tramite questo modem, in quanto non è stato inserito il modulo hso, determinante per il corretto funzionamento. Problema noto come si evince dalle discussioni nel forum.

Dando il comando lsusb, io ottengo questo:

 

ID 0af0:7211 Option

ma col modulo hso funzionano anche tutti questi, come è scritto sul sito di riferimento.

{default_port_device(0x0af0, 0x6711)},
{default_port_device(0x0af0, 0x6731)},
{default_port_device(0x0af0, 0x6751)},
{default_port_device(0x0af0, 0x6771)},
{default_port_device(0x0af0, 0x6791)},
{default_port_device(0x0af0, 0x6811)},
{default_port_device(0x0af0, 0x6911)},
{default_port_device(0x0af0, 0x6951)},
{default_port_device(0x0af0, 0x6971)},
{default_port_device(0x0af0, 0x7011)},
{default_port_device(0x0af0, 0x7031)},
{default_port_device(0x0af0, 0x7051)},
{default_port_device(0x0af0, 0x7071)},
{default_port_device(0x0af0, 0x7111)},
{default_port_device(0x0af0, 0x7211)},
{default_port_device(0x0af0, 0x7251)},
{default_port_device(0x0af0, 0x7271)},
{default_port_device(0x0af0, 0x7311)},
{default_port_device(0x0af0, 0xc031)}, /* Icon-Edge */
{icon321_port_device(0x0af0, 0xd013)}, /* Module HSxPA */
{icon321_port_device(0x0af0, 0xd031)}, /* Icon-321 */
{icon321_port_device(0x0af0, 0xd033)}, /* Icon-322 */
{USB_DEVICE(0x0af0, 0x7301)}, /* GE40x */
{USB_DEVICE(0x0af0, 0x7361)}, /* GE40x */
{USB_DEVICE(0x0af0, 0x7401)}, /* GI 0401 */
{USB_DEVICE(0x0af0, 0x7501)}, /* GTM 382 */
{USB_DEVICE(0x0af0, 0x7601)}, /* GE40x */
{USB_DEVICE(0x0af0, 0x7701)},
{USB_DEVICE(0x0af0, 0x7801)},
{USB_DEVICE(0x0af0, 0x7901)},
{USB_DEVICE(0x0af0, 0x7361)},
{icon321_port_device(0x0af0, 0xd051)},

Con Debian per esempio basta un semplice:

modprobe hso

Incominciamo installando un po di cose:

apt-get install build-essential bin86 kernel-package libncurses5 libncurses5-dev fakeroot module-init-tools

apt-get install libusb-dev libusb++-dev libusb++-0.1-4c2 python2.5-dev

Per ovviare a questo problema con Linux4one, ci sono 2 strade. La prima è quella di ricompilarsi il kernel, con il solito metodo, descritto qua. Una volta dato il comando make menuconfig, portarsi alla voce Device Drivers>Network device support>Usb Network Adapters ed andiamo a modularizzare Option Usb. Poi, giusto per non farsi mancare niente, sempre nella sezione Device drivers>Usb support>Usb Serial Converter, modularizzare Usb driver for Gsm. A questo punto salvare, e dopo la ricompilazione ci ritroveremo con i pacchetti linux-headers e linux-image. Una volta installati con dpkg e riavviato saremo pronti per connetterci con il nostro modem, non prima però di aver scaricato i tre pacchetti che ci servono hsolink , hsoconnect e Ozerocdoff . Quest’ultimo da installare con  il classico :

tar zxf udev.tar.gz

cd udev

sudo make

sudo make install

A questo punto inseriamo in /etc/modules

ppp_async

ppp_generic

pppoe

usbserial vendor=0x0af0 product=0x7211 (sostituire se il vostro è diverso)

poi ancora:

sudo gedit /etc/hso-suspend.conf

ed inserire NONE al posto di 5 seconds

reboot

Al momento della connessione con HSOconnect apparirà una finestra di debug dove all’interno se tutto va bene non dovranno apparire errori. Nella finestra di HSOconnect, andare in profile-edit, ed inserire l’ apn, nel mio caso ibox.tim.it, come username e password, mettere due parole a caso. A questo punto siamo pronti a testare il tutto con:

python -m  hsoc

La seconda strada  è quella di scaricare linux-headers e linux-image  ricompilati da me, ed installarli, per poi procedere con l’installazione di hsolink, hsoconnect e ozerocdoff ecc.ecc. il tutto scaricabile qua. Con questi semplici passi la connessione è andata ieri ed oggi senza mai disconnettersi per ore, ed ho scaricato anche un file da 150 mega, preciso questo perchè la ricompilazione l’ho eseguita su una installazione pulita di Linux4one, poichè in una precedente installazione, dove avevo scaricato e compilato Hso driver e fatto altri esperimenti e tentativi, la connessione era altalenante e s’impallava spesso, ero riuscito tramite un workaround a farla andare,ma mi sono accorto che il metodo migliore è quello che ho appena descritto su di una installazione pulita, insieme all’utilizzo di Hsoconnect

 

 

 

Importante:

Tenere presente che il led del 3g è funzionante, quindi la lucina deve essere verde, altrimenti il modem non viene trovato.

 

Problemi riscontrati:

Ho notato che ogni tanto il device ttyHS1 scompare, ma una volta riavviato tutto torna OK, quindi e meglio non cambiare nulla in /usr/share/HSOconnect. Ho notato anche dei problemi di stabilità, ma sto verificando alcune soluzioni tra cui la patch di Alan Cox.

 

Aggiornamento:

Va tutto alla grande, chiaramente più il segnale è forte più si naviga velocemente. Ho raggiunto la velocità di 5,9 mega

in download ed 1,3 in upload.

Un altro how-to particolareggiato scritto da me, lo trovate sul forum.