{"id":72,"date":"2007-09-04T14:37:48","date_gmt":"2007-09-04T12:37:48","guid":{"rendered":"http:\/\/freebox.blogdns.com\/index.php\/2007\/09\/04\/proviamo-gnuhurd-su-qemu\/"},"modified":"2007-12-26T12:29:39","modified_gmt":"2007-12-26T11:29:39","slug":"proviamo-gnuhurd-su-qemu","status":"publish","type":"post","link":"https:\/\/www.lorenzobraghetto.com\/index.php\/2007\/09\/04\/proviamo-gnuhurd-su-qemu\/","title":{"rendered":"Proviamo Gnu\/Hurd su qemu"},"content":{"rendered":"<p>Qualche settimana fa mi sono imbattuto in un <a href=\"http:\/\/eyeside.net\/hurd\/Hurd-on-QEMU.html\" target=\"_blank\">howto<\/a> un p\u00f2 scarno e non del tutto aggiornato che spiegava come installare Gnu\/Hurd in un&#8217;immagine virtuale con qemu.  \u00c8 stata un&#8217;occasione per imparare un paio di cose riguardo questo software di virtualizzazione e di scrivere un <a href=\"http:\/\/freebox.blogdns.com\/index.php\/2007\/08\/17\/virtualizzare-con-qemu\/\">articolo<\/a>. Se non siete pratici di qemu consiglio prima di leggere quell&#8217;articolo per capire un p\u00f2 meglio quello che faremo.<\/p>\n<p><strong>INFO GNU\/HURD<\/strong><br \/>\n<a href=\"http:\/\/picasaweb.google.it\/racing.inside\/Varie_blog\/photo#5106328318987194674\"><\/a><\/p>\n<p style=\"text-align: center\"><a href=\"http:\/\/picasaweb.google.it\/racing.inside\/Varie_blog\/photo#5106328318987194674\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/lh6.google.it\/racing.inside\/Rt1SjTe_0TI\/AAAAAAAAANI\/IZcaTLbEyd0\/s800\/debian-gnu-hurd-oct-2001.jpg\" height=\"331\" width=\"667\" \/><\/a><\/p>\n<p>Da <a href=\"http:\/\/www.gnu.org\" target=\"_blank\">gnu.org<\/a><\/p>\n<blockquote><p>GNU Hurd sostituisce, all&#8217;interno del progetto GNU, il kernel Unix. Hurd \u00e8 un insieme di server che vengono eseguiti sul microkernel  Mach per implementare file system, protocolli di rete, controlli di  accesso ai file, e altre caratteristiche che sono implementate nel  kernel Unix o in altri kernel simili (come Linux).<\/p><\/blockquote>\n<p>Il nome \u00e8 tutto un programma, \u00e8 un acronimo ricorsivo di un acronimo ricorsivo e sta per: &#8220;Hird of Unix-Replacing Daemons&#8217;.  Mentre, &#8220;Hird&#8221; significa &#8220;Hurd of Interfaces Representing Depth&#8221;.<\/p>\n<p><!--more--><\/p>\n<p>In sostanza Hurd \u00e8 un kernel, Gnu\/Hurd \u00e8 il nostro Gnu\/Linux ma senza Linux. Hurd pu\u00f2 dare l&#8217;idea di essere un progetto portato avanti dalla Free Software Foundation per un semplice motivo etico ideologico. Probabilmente senza Linus e il suo kernel il progetto Gnu ci avrebbe messo molto pi\u00f9 tempo per decollare, ma c&#8217;\u00e8 chi pensa che sarebbe stato molto meglio.<\/p>\n<p>A noi ce ne frega relativamente&#8230;le motivazioni ideologiche (seppur forti) le lascio a voi&#8230;pensiamo a farlo funzionare per ora! \ud83d\ude00<\/p>\n<p align=\"center\"><a href=\"http:\/\/picasaweb.google.it\/racing.inside\/Varie_blog\/photo#5106321382615011618\"><img decoding=\"async\" src=\"http:\/\/lh3.google.it\/racing.inside\/Rt1MPje_0SI\/AAAAAAAAANA\/ma00hzHp33g\/s800\/screenshot9.png\" \/><\/a><\/p>\n<p align=\"center\"><em>Il nostro obbiettivo sar\u00f2 ottenere questo \ud83d\ude09<\/em><\/p>\n<p><strong>INSTALLAZIONE<\/strong><\/p>\n<p>Abbiamo bisogno di:<\/p>\n<ul>\n<li>Qemu + kqemu (oppure kvm)<\/li>\n<li>2GB di spazio libero<\/li>\n<li> L&#8217;iso di <a href=\"http:\/\/ftp.gnuab.org\/pub\/debian-cd\/current\/hurd-i386\/debian-K14-hurd-i386-CD1.iso\" target=\"_blank\">Debian\/Hurd<\/a> (si useremo debian! Attualmente l&#8217;ultima versione disponibile \u00e8 la k14)<\/li>\n<li>Un&#8217;immagine floppy di <a href=\"ftp:\/\/alpha.gnu.org\/gnu\/grub\/grub-0.97-i386-pc.ext2fs\" target=\"_blank\">Grub<\/a><\/li>\n<li>La nostraGnu\/Linux box funzionante (non sia mai che qualche winzozziano pensi che Hurd sia un nuovo antivirus che gli salva il sedere&#8230;o chiss\u00e0 quale altra diavoleria) \ud83d\ude09<\/li>\n<\/ul>\n<p>Procediamo:<\/p>\n<p><em>1) Prima creiamo l&#8217;immagine con qemu-img<\/em><\/p>\n<p class=\"code\">qemu-img create hurd.img 2G<\/p>\n<p><em> 2) Ora installiamo il sistema con l&#8217;installer classico di debian.<\/em><\/p>\n<p>Avviamo qemu cos\u00ec:<\/p>\n<p class=\"code\">qemu -boot d -hda hurd.img -cdrom debian-K10-hurd-i386-CD1.iso<\/p>\n<p> Ci troveremo davanti all&#8217;installer<\/p>\n<p align=\"center\"><a href=\"http:\/\/picasaweb.google.it\/racing.inside\/Varie_blog\/photo#5106269903137001698\"><img decoding=\"async\" src=\"http:\/\/lh5.google.it\/racing.inside\/Rt0dbDe_0OI\/AAAAAAAAAMc\/beq_WCj_mBw\/s800\/Schermata-QEMU.png\" \/><\/a><\/p>\n<p align=\"left\">Ora facciamo i punti 1 2 4 6 7:<\/p>\n<ul>\n<li>Configuriamo la tastiera (anche se sembra inutile purtroppo).<\/li>\n<li>Partizioniamo l&#8217;hard disk in un&#8217;unica partizioneprimaria da 2GB.<\/li>\n<li>Inizializziamo una partizione Gnu\/Hurd.<\/li>\n<li>Installiamo il sistema base, per ora limitiamoci a usare il cd come fonte dei pacchetti. (ci pu\u00f2 mettere un bel p\u00f2)<\/li>\n<li>Riavviamo e chiudiamo qemu con Ctrl-C nel terminale.<\/li>\n<\/ul>\n<p><em>3) Configuriamo grub<\/em><\/p>\n<p>Ora montiamo l&#8217;immagine del floppy di grub per poterla modificare:<\/p>\n<p class=\"code\">mkdir grub<br \/>\nmount -o loop grub-0.97-i386-pc.ext2fs grub<br \/>\nnano grub\/boot\/grub\/menu.lst<\/p>\n<p>Nel file menu.lst di grub mettiamo <a href=\"http:\/\/freebox.blogdns.com\/grub_menu_hurd.lst\">questo<\/a> (scarica il file e rinominalo, wordpress storpia alcuni caratteri meglio non rischiare senn\u00f2 non parte niente)<\/p>\n<p>Smontiamo l&#8217;immagine di grub prima di far ripartire qemu<\/p>\n<p><em>4)Avviamo GNU\/Hurd per la prima volta<\/em><\/p>\n<p class=\"code\">qemu -boot a -hda hurd.img -fda grub-0.97-i386-pc.ext2fs -M isapc<\/p>\n<p><center><a href=\"http:\/\/picasaweb.google.it\/racing.inside\/Varie_blog\/photo#5106311826312778002\"><img decoding=\"async\" src=\"http:\/\/lh6.google.it\/racing.inside\/Rt1DjTe_0RI\/AAAAAAAAAM4\/sjJC6f5NY3M\/s800\/Schermata-QEMU-2.png\" \/><\/a><br \/>\n<\/center><\/p>\n<p align=\"center\"><em>Prima schermata di grub con la scritta GNU\/Hurd&#8230;la soddisfazione inizia a salire.<\/em><\/p>\n<p><center> <\/center>Prima di poter dire di essere riusciti ad installare Hurd bisogna eseguire 2 volte uno script che troviamo appena effettuto il boot.Nota: la tastiera sar\u00e0 configurata come tastiera americana (immagino) bisogner\u00e0 arrangiarsi con alcuni simboli ma non \u00e8 impossibile.<\/p>\n<p class=\"code\"> .\/native-install<br \/>\nreboot<br \/>\n.\/native-install<\/p>\n<p><a href=\"http:\/\/picasaweb.google.it\/racing.inside\/Varie_blog\/photo#5106269903137001714\"><\/a><\/p>\n<p style=\"text-align: center\"><a href=\"http:\/\/picasaweb.google.it\/racing.inside\/Varie_blog\/photo#5106269903137001714\"><img decoding=\"async\" src=\"http:\/\/lh5.google.it\/racing.inside\/Rt0dbDe_0PI\/AAAAAAAAAMk\/tOesWn-cYdA\/s800\/Schermata-QEMU-1.png\" \/><\/a><br \/>\n<em> Se fino ad ora vi eravate spaventati, ora c&#8217;\u00e8 qualcosa di famigliare \ud83d\ude09<\/em><\/p>\n<p>Dopo il secondo native-install chiudete hurd e qemu.<\/p>\n<p><em>5) Configuriamo la console<\/em><\/p>\n<p>Bisogna fare un paio di accorgimenti per far partire di default la console vera e propria.<\/p>\n<p>Rimontiamo l&#8217;immagine di grub e apriamo con nano il file menu.lst; la terza riga la trasformiamo cos\u00ec:<\/p>\n<p class=\"code\">kernel (hd0,0)\/boot\/gnumach.gz root=device:hd0s1 -s<\/p>\n<p> In pratica aggiungiamo &#8220;-s&#8221; alla fine.<\/p>\n<p>Smontiamol&#8217;immagine di grub e riavviamo qemu<\/p>\n<p>Finito il boot digitiamo:<\/p>\n<p class=\"code\">mount \/ -o remount,rw<br \/>\nexport TERM=mach<br \/>\nnano \/etc\/default\/hurd-console<\/p>\n<p>Cambiamo il valore di ENABLE da false in true<\/p>\n<p class=\"code\">mount \/ -o remount,ro<\/p>\n<p> Chiudiamo Hurd e qemu, ora rimontiamo l&#8217;immagine di grub e togliamo il &#8220;-s&#8221; da dove l&#8217;avevamo messo prima.<\/p>\n<p>Riavviamo qemu ma questa volta togliamo il &#8220;-M isapc&#8221; finale:<\/p>\n<p class=\"code\">qemu -boot a -hda hurd.img -fda grub-0.97-i386-pc.ext2fs<\/p>\n<p>Per loggarsi diamo un &#8220;login root&#8221; \ud83d\ude09<\/p>\n<p>Ora abbiamo GNU\/Hurd installato configurato e funzionante, si spera \ud83d\ude09<\/p>\n<p><em>6) Configuriamo la rete e aggiorniamo il sistema<\/em><\/p>\n<p>Per configurare la rete diamo questi comandi (i valori si riferiscono alla scheda di rete che emula qemu)<\/p>\n<p class=\"code\">settrans -fgap \/servers\/socket\/2 \/hurd\/pfinet -i eth0 -a 10.0.2.16 -g 10.0.2.2 -m 255.255.0.0<br \/>\nnameserver 10.0.2.3<br \/>\nnano \/etc\/apt\/sources.list<\/p>\n<p>Nel sources.list mettiamo questi repository<\/p>\n<p class=\"note\">deb http:\/\/ftp.gnuab.org\/debian unreleased main<br \/>\ndeb http:\/\/ftp.de.debian.org\/debian unstable main<\/p>\n<p>E via con apt-get update e dist-upgrade!! \ud83d\ude00<\/p>\n<p>A questo punto io ho avuto parecchi problemi con i pacchetti, non mi metto a scrivere come ho risolto perch\u00e8 alla fine \u00e8 semplice ma soprattutto probabilmente \u00e8 un problema momentaneo. Ora avete Gnu\/Hurd installato funzionante e aggiornato, io ho installato anche il server grafico xorg e un paio di DE minori (da quello che so mancano alcuni porting quindi kde\/gnome ce li sognamo) per\u00f2 non sono mai andato oltre al login grafico. \u00c8 comunque interessante pensare che alla fin fine pur essendo un kernel diverso ci si senta comunque a casa, questo grazie a tutti i tool Gnu che abbiamo a disposizione ma che a volte diamo per scontato pensando solo al kernel Linux<\/p>\n<p>Auguri \ud83d\ude09<\/p>\n<p>Ah&#8230;la lista italiana di Hurd <a href=\"http:\/\/hurd-it.sourceforge.net\/newindex.php\" target=\"_blank\">hurd-it.sourceforge.net<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Qualche settimana fa mi sono imbattuto in un howto un p\u00f2 scarno e non del tutto aggiornato che spiegava come installare Gnu\/Hurd in un&#8217;immagine virtuale con qemu. \u00c8 stata un&#8217;occasione per imparare un paio di cose riguardo questo software di virtualizzazione e di scrivere un articolo. Se non siete pratici di qemu consiglio prima di [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,24,10,9,30,39,42,8],"tags":[],"class_list":["post-72","post","type-post","status-publish","format-standard","hentry","category-informatica","category-debian","category-distribuzioni","category-etica","category-hurd","category-open-sourcefree-software","category-smanettamenti","category-software"],"_links":{"self":[{"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/posts\/72","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/comments?post=72"}],"version-history":[{"count":0,"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/posts\/72\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/media?parent=72"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/categories?post=72"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lorenzobraghetto.com\/index.php\/wp-json\/wp\/v2\/tags?post=72"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}