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

Mount ext2fs filesystems da Debian GNU/kFreeBSD

 

 

Oramai è un po di tempo che sto seguendo lo sviluppo di Debian GNU/kFreeBSD, con la speranza che vengano fatti velocemente un po di passi avanti, dato che credo di essere arrivato ad un bivio, e cioè, mi sta succedendo quello che un bel po di anni fa mi ha portato ad abbandonare windows per Linux, e ad innamorarmi. Questa insoddisfazione che mi attanaglia, mi sta portando, forse, dal mondo Linux a quello BSD, ma questo è un discorso che forse… non affronterò mai. Tornando in tema, vediamo come accedere alle partizioni Linux da Debian GNU/kFreeBSD. Diciamo subito che non ci sono magheggi da fare dato che il supporto ext2fs è gia presente nel kernel, quindi, per conoscere tutte le nostre partizioni:

$ ls /dev/|grep ^ad

nel mio caso:

edmond@DebianGNUkFreeBSD:~$ ls /dev/|grep ^ad
ad0
ad0s1
ad0s2
ad0s3
ad0s5
ad0s6
ad0s7
ad0s8
ad0s9
ad3
ad3s1
ad3s2
ad3s5

una volta identificata la partizione che vogliamo montare, basta un:

# mount -t ext2fs /dev/ad0s6 /mnt

Catturare il desktop in modo velocissimo

 

 

Sotto Gnu/Linux ci sono vari strumenti per la cattura del desktop, uno su tutti gnome-screenshot ,che ti da la possibilità di scegliere se catturare tutta la finestra oppure una porzione. Io per rendere ancora più veloce la cattura di una porzione di desktop uso il seguente script:

#!/bin/bash
date=`date +%d_%m_%Y-%M%S`
import -pause 2 /home/edmond/Immagini/immagine_$date.jpg

oppure:

#!/bin/bash
date=`date +%d_%m_%Y-%T`
import -pause 2 /home/edmond/Immagini/immagine_$date.jpg

da copiare e salvare, come ad esempio grab.sh,  dopo averlo modificato cambiando il percorso dove salvare le immagini o altro. Rendiamolo eseguibile:

sudo chmod a+x grab.sh

a questo punto basta creare sul nostro pannello il nostro lanciatore, ed il gioco è fatto.

Provare per credere 😉

Webcam virtuale con Webcamstudio

 

 

WebcamStudio è un ottima applicazione rilasciata sotto licenza GPL, che tra le tante caratteristiche ne ha una molto particolare, e cioè la possibilità di simulare una webcam, e quindi,  può riuscire ad ingannare la persona con cui stiamo interloquendo tramite amsn o skype, facendogli vedere un filmato ed ingannandola di conseguenza,  in quanto crede che quello che sta vedendo avviene in diretta. Sul sito si può scaricare il pacchetto .deb per chi usa Ubuntu, per gli altri, che usano distro diverse compreso me che sono su Debian Sid, bisogna prima verificare se sia presente il modulo vloopback, altrimenti compilarlo:

debianbox:/home/edmond# lsmod | grep vloopback
vloopback               9678  0
videodev               25211  4 vloopback,tuner,saa7134,v4l2_common

in caso negativo lo compiliamo con module-assistant:

# apt-get install module-assistant vloopback-source

# m-a prepare

# m-a a-i vloopback-source

# reboot

a questo punto verifichiamo che il modulo sia presente e poi avviamo WebcamStudio:

tar zxvf WebcamStudio_0.53.tar.gz

cd webcamstudio

java -jar "WebcamStudio.jar"

(Update) Installare Debian GNU/kFreeBSD

 

 

Questa guida è un aggiornamento a Installare Debian GNU/kFreeBSD step by step fatta precedentemente, poichè mi sono accorto che alcune cose che con me hanno funzionato adesso non funzionano più, e quindi questo aggiornamento serve a quelle persone che si sono cimentate nell'installazione senza riuscirci, per colpa di vari errori con il debian-installer. Quindi sommando queste due guide cercherò di farne almeno una buona :). La base da cui partire è sempre questa guida, ma quando si arriva al punto di scegliere tra Stable-Squeeze-Sid, bisogna scegliere Squeeze, poiche se si sceglie Sid si incorre in un errore già nell'installazione base. Proseguiamo fino al punto in cui ci viene chiesto cosa installare, e scegliamo solo il Sistema Standard:

quindi niente interfaccia grafica per il momento altrimenti incorriamo in dei problemi legati a mono-runtime. Una volta finita l'installazione avviamo dalla nostra distribuzione abituale e montiamo la partizione con Debian GNU/kFreeBSD:

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

entriamo quindi in /mnt/boot/grub ed andiamo a copiare il menuentry che si trova in grub.cfg e lo incolliamo nel nostro /etc/grub.d/40_custom, quindi subito dopo update-grub. A questo punto siamo pronti a riavviare ed accedere su Debian GNU/kFreeBSD. Dopo il logini dato che non abbiamo interfaccia grafica siamo pronti ad installarla con:

# apt-get install gnome-desktop-environment

così facendo non abbiamo problemi con mono, dato che non lo installiamo. Adesso dobbiamo creare e configurare Xorg.

# X -configure

# mv /root/xorg.conf.new /etc/X11/xorg.conf

ma questo solamente non basta:

# nano /etc/X11/xorg.conf

ed aggiungiamo alla fine questo:

Section "ServerFlags"
        Option "AllowEmptyInput" "No"
        Option "AutoAddDevices" "No"
EndSection

dopo di chè controllare anche la parte riguardante il mouse poichè bisogna inserire il Device esatto, nel mio caso il mouse Logitech, Inc. MX-1000 Cordless Mouse Receiver è identificato come /dev/ums0:

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/ums0"
    Option        "ZAxisMapping" "4 5 6 7"

per caricare il modulo per la mia scheda audio intel:

# kldload snd_hda

Adesso siamo pronti a provare Debian GNU/kFreeBSD e a modificarla a nostro piacimento, tenendo presente che siamo solo all'inizio e quindi tante cose ancora non funzionano, o non sono presenti.

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 🙂

Installare Debian GNU/kFreeBSD step by step

 

 

Questa guida può essere utile a chi vuole provare Debian GNU/kFreeBSD, ovvero "un port che consiste di uno spazio utente GNU che usa la libreria C GNU e un kernel FreeBSD sottostante, abbinati con il normale insieme di pacchetti Debian". Sinceramente ho fatto molte prove d'installazione, sia su VirtualBox che su hard disk, e dopo molteplici tentativi sono riuscito ad avere una box con DebianGNU/kFreeBSD funzionante. I problemi principalmente derivano dal debian-installer che nel mio caso falliva spesso e volentieri, poi con la mini.iso del 20100210-11:20 è andato tutto ok, di seguito i link per il download   kfreebsd-amd64 e kfreebsd-i386. Di seguito indicherò solamente i passi secondo me importanti, dato che comunque il debian-installer è semplice ed intuitivo.

Installazione:

Una volta avviata l'installazione ci appare questa immagine:

premere Go Back, per tornare alla pagina principale e selezioniamo Change debconf priority

e selezioniamo medium:

a questo punto proseguiamo con l'installazione, e quindi con la configurazione della rete non facendo caso alla voce em0 (eth0) interfaccia sconosciuta, poichè la riconosce, e quando ci chiede di scegliere un mirror, scegliamo Sid:

l'installazione prosegue fino a quando ci chiede quale kernel installare, e naturalmente scegliamo quello più recente. Se tutto è andato a buon fine si arriva all'installazione di Grub, e qui bisogna fare alcune considerazioni, a secondo di quale strada scegliamo, o meglio di quale versione di Grub abbiamo gia installato nel nostro sistema. Nel mio caso avendo Debian Sid la versione è Grub-pc_1.98~20100128-1.1_i386 e quindi va benissimo, per chi usa un altra distribuzione che ha la versione di Grub inferiore, gli conviene aggiornare in quanto in un dual boot, non riesce a volte ad avviare il kernel freebsd (a me è successo questo). Chiaramente quanto scritto sopra è valido se il debian-installer non riesce ad installare Grub, oppure nell'eventualità che bisogna ripristinarlo da un livecd., quindi di conseguenza la versione di Grub è quella precedente. Comunque manualmente  per un dual boot da inserire sulla propria Distro in /etc/grub.d/40_custom la seguente stringa seguita da un update-grub:

menuentry "Debian GNU/kFreeBSD" {
    insmod ufs2
    set root=(hd0,8)
    echo            Loading kernel of FreeBSD 8.0-1-686 ...
    kfreebsd        /boot/kfreebsd-8.0-1-686.gz
    set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ad0s8
    set kFreeBSD.vfs.root.mountfrom.options=rw
}

considerando che la mia installazione e  nella partizione /dev/sda8.

Una volta avviato il sistema non dovrebbero esserci problemi, ma nel caso non funzionasse il mouse, premere Ctrl-alt-F1:

cd /root

X -configure

e poi:

cp xorg.conf.new /etc/X11/xorg.conf

Per montare il filesystem ufs da linux:

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

stringa eventualmente da inserire in /etc/fstab:

/dev/sda8 /mnt      ufs auto,ro,ufstype=ufs2,nodev,nosuid   0 0

 

Installazione su VirtualBox:

Per quanto riguarda l'installazione su VirtualBox non ci sono problemi, l'unica cosa a cui bisogna prestare attenzione è su un paio di cosette. Nella creazione di una nuova macchina virtuale scegliamo come sistema operativo BSD e come versione FreeBSD. Nella configurazione della rete scegliamo come scheda la Intel PRO/1000 MT Desktop o la  PCnet-FAST III connessa con bridge. Durante l'installazione scegliere come kernel il 486.

Guida in continuo aggiornamento 🙂

  1. update

Super GRUB2 Disk 1.30

E' stato rilasciato Super Grub2 Disk 1.30 il tool che permette con facilità di avviare la nostra Linuxbox in caso di problemi con Grub2. Le novità rispetto alla versione precedente sono le seguenti:

* Updated for the latest stable grub release, 1.97.2
* Option to find and load grub.cfg
* Option to find and load a grub2 installation ( works even with clobbered mbr )
* Options to enable grub's lvm and raid support
* Option to switch to serial terminal for easier debugging / logging of output
* Miscellaneous bug fixes

Per il downolad dell'iso o del codice sorgente fare riferimento a questa pagina.

Mount partizioni senza password

Questo è un piccolo trucco per quelli che come me si sono stancati di inserire la password per il montaggio delle partizioni. Quello che bisogna fare è molto semplice e si tratta di modificare una stringa presente in un file:

con il proprio editor di testo:

sudo nano /usr/share/polkit-1/actions/org.freedesktop.devicekit.disks.policy

trovare la seguente stringa:

<allow_active>auth_admin_keep</allow_active>

e modificarla in questo modo:

<allow_active>yes</allow_active>