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