Robert Millan recently made available an image [link temporarily removed] allowing a person to run the GNU/Hurd under the Bochs x86 emulator [earlier story about Bochs]. With very minimal effort, I launched the GNU/Hurd image with Bochs v0.4 and was then able to use the Hurd from within my Linux server. [screenshot]
As Bochs compiles on many platforms, this even allows non-x86 users to run the Hurd. Of course, the emulation is slow...
Update: (5/13/2) The link to the Hurd image for Bochs has been removed at this time. This was done at Robert's request, as the images are a work in progress, and not yet fully stable. Once ready, the image should be found here.
I added the following lines to a bochsrc file to get the GNU/Hurd image running (the only real change being the 'diskc:' line):
romimage: file=bios/BIOS-bochs-latest, address=0xf0000
megs: 256 #adjust this to your machine
vgaromimage: bios/VGABIOS-elpin-2.40
diskc: file="gnu-0.2+20020512.hd0", cyl=1024, heads=16, spt=63
boot: c
log: bochs.out
I suggest starting with another configuration file from one of the sample images, then modifying it for use with the Hurd image.
Inside the Hurd, at first glance things look and feel very familiar. I logged in as root, added myself as a user with 'useradd', set my password with 'passwd', created my home directory with 'mkdir', set permissions with 'chown', then relogged in as myself. From there, I started looking around:
jandrews@hurd:/home/jandrews$ ls /
bin doc games info local native-install servers usr
boot dpkg-hurd home initrd lost+found opt share var
cdrom etc hurd lib man root src
dev floppy include libexec mnt sbin tmp
jandrews@hurd:/home/jandrews$ ls /etc
adduser.conf deluser.conf issue protocols services
adjtime dpkg issue.net rc.boot shells
alternatives fstab localtime rc0.d skel
apt group login rc1.d syslog.conf
bash.bashrc host.conf login.defs rc2.d terminfo
bash_completion hostname motd rc3.d timezone
bash_completion.d hosts nanorc rc4.d ttys
cron.daily hosts.allow nsswitch.conf rc5.d updatedb.conf
cron.weekly hosts.deny opt rc6.d
debconf.conf inetd.conf passwd rcS.d
debian_version init.d passwd- resolv.conf
default inputrc profile rmt
jandrews@hurd:/home/jandrews$ tail -5 /etc/passwd
irc:*:39:39:ircd:/var:/bin/sh
gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:*:65534:65534:nobody:/home:/bin/sh
login:!:100:65534:Not logged in,,,:/etc/login:/bin/bash
jandrews:kqwtr8uxXd.gU:1000:100::/home/jandrews:/bin/bash
jandrews@hurd:/home/jandrews$
You can see a jpg screenshot of Bochs running the Hurd here.
Has anyone had any success at getting Hurd installed under a Bochs
emulator?
From: Robert Millan
Subject: Re: Hurd under Bochs
Date: Wed, 8 May 2002 10:41:29 +0200
On Wed, May 08, 2002 at 01:58:21PM +0100, Neil Levine wrote:
> Has anyone had any success at getting Hurd installed under a Bochs
> emulator?
yes, the GNU system works fine in Bochs.
Alfred Szmidt made a tutorial about it
(ftp://walfield.org/pub/people/ams/hurd/creating_bochs_image_for_gnu.txt)
hmm.. maybe I can send a libc0.3-based preinstalled image for
http://bochs.sourceforge.net/diskimages.html tomorrow
cheers,
--
Robert Millan
From: Marcus Brinkmann
Subject: Re: Hurd under Bochs
Date: Wed, 8 May 2002 15:50:42 +0200
On Wed, May 08, 2002 at 10:41:29AM +0200, Robert Millan wrote:
> hmm.. maybe I can send a libc0.3-based preinstalled image for
> http://bochs.sourceforge.net/diskimages.html tomorrow
That would be cool. The tar file, with native-install already run, and
maybe evn with some additional software, like man, and other standard stuff
(except tex and emacs, probably because of size). Something like the Debian
image you made?
This would be nice to announce on the web page, so people can try it out
(and blame us for the incredible slowness ;)
Thanks,
Marcus
From: Robert Millan
Subject: Re: Hurd under Bochs
Date: Wed, 8 May 2002 10:55:26 +0200
On Wed, May 08, 2002 at 03:50:42PM +0200, Marcus Brinkmann wrote:
>
> This would be nice to announce on the web page, so people can try it out
> (and blame us for the incredible slowness ;)
yeah sure, and save some bandwidth by exporting downloads ;)
btw, i can't find the J0 CD set. where is it?
--
Robert Millan
From: Neil Levine
Subject: Re: Hurd under Bochs
Date: Wed, 8 May 2002 16:36:02 +0100
On Wed, May 08, 2002 at 03:50:42PM +0200, Marcus Brinkmann a ecrit:
Was hoping to beat Robert to producing the image but Bochs is dying on
a VGA error:
Message: [VGA ] io read from address 000003c0, len=2
Does this with both the VGABIOS-cbothamy-0.2a image and the elpin
version.
Have you got further than this Robert?
N
From: Robert Millan
Subject: Re: Hurd under Bochs
Date: Wed, 8 May 2002 14:45:06 +0200
On Wed, May 08, 2002 at 04:36:02PM +0100, Neil Levine wrote:
>
> Was hoping to beat Robert to producing the image but Bochs is dying on
> a VGA error:
You should have asked before to produce an image, it's not nice to
spend ~12h in front of bochs when the work is being done already :)
> Message: [VGA ] io read from address 000003c0, len=2
>
> Does this with both the VGABIOS-cbothamy-0.2a image and the elpin
> version.
There's been lots of bugfixes from 0.2a, take a look at the package,
we have the latest:
$ dpkg -s vgabios | grep Version
Version: 0.3a-2
> Have you got further than this Robert?
I'm going for first native-install now, please wait untill tomorrow.
cheers,
--
Robert Millan
From: Neil Levine
Subject: Re: Hurd under Bochs
Date: Wed, 8 May 2002 18:51:24 +0100
On Wed, May 08, 2002 at 02:45:06PM +0200, Robert Millan a ecrit:
>
> You should have asked before to produce an image, it's not nice to
> spend ~12h in front of bochs when the work is being done already :)
12 hours...what are you running it on? A 286? :-)
> There's been lots of bugfixes from 0.2a, take a look at the package,
> we have the latest:
>
> $ dpkg -s vgabios | grep Version
> Version: 0.3a-2
Hmm. Tried the bochs package on unstable and I only have version 0.3a-1
of vgabios.
levine@harpo[~]$ dpkg -s vgabios | grep Version
Version: 0.3a-1
> > Have you got further than this Robert?
>
> I'm going for first native-install now, please wait untill tomorrow.
Ok, I'll wait. Good luck.
Neil
From: Robert Millan
Subject: Re: Hurd under Bochs
Date: Sat, 11 May 2002 21:44:52 +0200
On Wed, May 08, 2002 at 06:51:24PM +0100, Neil Levine wrote:
>
> 12 hours...what are you running it on? A 286? :-)
After a few days I got an installed GNU system in my Bochs :)
the reason for the delay is that it's crashed me a big bunch of times,
and for some weird reason e2fsck refused to work so i had to reboot into
GNU/Linux to fsck.
Image can be found at:
The following problems have got into the way:
(Bochs has been given 64MB for RAM and 128MB for swap)
Booting:
ppa support in mach crashes bochs by reading 0x3c0 (i'm looking into this)
General:
can't handle more than 64 translators in /dev (crashing on 65th). note that
most of /dev/{p,t}ty{p,q}* devices aren't there (btw, they aren't critical
are they?)
Single-user:
random crashes setting up pakages, specialy ext2fsprogs and inetutils
random crashes setting up /dev/console
native-install: `fsysopts / | perl -ne 'm!^/hurd/(.*?).static.*?([^s]+)s*?$!; print $2;'` returns device:hdXsY which MAKEDEV doesn't understand
Multi-user (with swap):
unpacking gnumach or hurd crashes (likely any big package would crash it)
cheers,
--
Robert Millan
"5 years from now everyone will be running
free GNU on their 200 MIPS, 64M SPARCstation-5"
Andrew S. Tanenbaum, 30 Jan 1992
From: Marcus Brinkmann
Subject: Re: Hurd under Bochs
Date: Sun, 12 May 2002 03:24:47 +0200
On Sat, May 11, 2002 at 09:44:52PM +0200, Robert Millan wrote:
> After a few days I got an installed GNU system in my Bochs :)
Cool, you rock.
> Booting:
> ppa support in mach crashes bochs by reading 0x3c0 (i'm looking into this)
ppa support in Mach might not be sober anyway. I would suggest you focus on
oskit-mach, if you want to go into serious debugging (unless you are
interested in fixing Boch bugs, of course).
> General:
> can't handle more than 64 translators in /dev (crashing on 65th). note that
> most of /dev/{p,t}ty{p,q}* devices aren't there (btw, they aren't critical
> are they?)
Well, the pty's are used by screen etc. You will notice when they run out.
> Single-user:
> random crashes setting up pakages, specialy ext2fsprogs and inetutils
> random crashes setting up /dev/console
Those look like genuine Boch bugs.
> native-install: `fsysopts / | perl -ne 'm!^/hurd/(.*?).static.*?([^s]+)s*?$!; print $2;'` returns device:hdXsY which MAKEDEV doesn't understand
This is a bug in native-install. It would be nice if someone could fix it
to work with the oldOiAx the new syntax.
Thanks,
Marcus
Experimental image
This image is in experimental stage, as explained here:
http://lists.debian.org/debian-hurd/2002/debian-hurd-200205/msg00161.html
Its installation is not even complete and has a lot of problems. Please wait a few days untill we fix the problems and release a working image, thanks.
Oh man, I can't wait to try
Oh man, I can't wait to try this out! :)
Oh man, I can't wait to try
Oh man, I can't wait to try this out! :)
Oh man, I can't wait to try
Oh man, I can't wait to try this out! :)