Another OS/2 Synchronet BBS

It’s always cool to see them pop up in the wild.  So here is the quick writeup on gabucino.be going over some of the trials of setting up bbs.gabucino.be ..

And apparently he’s had far better luck getting the modems to operate well more like modems.  So no cheating as I did by using passive mode FTP to transfer QWK packets in & out of the system.  Its all very cool, and of course powered by OS/2 on Qemu so that makes me happy!

There isn’t a flash/java based page, so I’d recommend using syncterm.

cloning an IDE Linux machine with netcat

I’ve ran into some weird instance of this old RedHat Linux machine that is starting to die.. The old 30GB disk is clicking rather loudly…!

To make matters worse, the computer is not only in another country but on another continent.  And no the users won’t let me take it down, ship it or let local techs work on it, they want it virtualized, and they want it to be done without taking it down…

All I have to work with is an old Windows 2003 server with a big external USB disk, and I don’t even have administrator privileges on the 2003 server so I can’t install anything ‘fun’ like VMWare, VirtualPC, VirtualBOX or anything else.

So I thought I’d go old school with this and use netcat.

Thankfully there is a win32 version of netcat, and the Linux PC already had it installed.  So it really was trivial I must say knowing what to do once all the bits are in place.  From the Windows machine I just ran:

nc -p 2222 -l |gzip -dc > disk0.raw

And on the Linux PC I ran:

cat /dev/hda | gzip -c | netcat 10.0.1.10 2222

So on the Windows side, netcat will listen on TCP port 2222 and then decompress the stream with gzip and save that into the file disk0.raw.  On the Linux side, it’ll read the harddisk, compress the data with gzip and then using netcat redirect the stream to the Windows host.

It took about 30 minutes, I suppose if the disk wasn’t in a questionable state I’d have cleared out the empty space to speed it along, however I felt that doing a large amount of writing to a questionable disk is just asking for trouble.

Once the transfer was complete I was able to then fire up Qemu 0.15.0, and have it mount the raw disk image, and it worked perfectly!  I added the modules for the AMDPCNet card (pcnet32) and I was able to use the user mode NAT via Qemu, and redirect a local TCP port into the VM’s sshd …. Something like this:

qemu -L pc-bios -m 256 -net nic,model=pcnet -net user -hda disk0.raw -no-reboot -redir tcp:3333::22

And that was that.  Now we have a perfect copy of the machine!

Linux turns 20 today….

Wow 1991 was so long ago.  I didn’t get pulled into Linux until the summer of 1992 (0.12 I think?), but wow I’ve sure had my ups & downs with Linux but it certainly had a major impact on everything we do.  Even if it is ‘kind of fringe’ it is in all kinds of things all around us all over the place.  No doubt the whole 20 year thing has been covered pretty much everywhere.

You would be kidding yourself if you have used anything on the internet and not had any interaction with a Linux machine in some manner.  Heck even this blog runs on a Linux VM.

While Linux 0.10 may have been the first ‘usable’ version to many, 0.11 is the first version that has been preserved.  I had even did a Qemu bundle of 0.11 that oldlinux.org had put together as I find Qemu runs Linux better, and of course faster than Bochs.

So here we are and I thought I’d update the Qemu and add in a personal favorite this time…

Download it from sourceforge.

Neko screen saver via QEMU

A while back I found this post on IBM of all places on making a Windows screen saver out of Qemu.

I’ve always wanted to play with this but never really got around to it.  So I figured I’d give it a shot today, and whoa what a LOT of work.  First of all back then they were using Qemu 0.72 which… sucks compared to 0.14.1!

Next things have changed a *LOT* so it did take a bit of work to get this thing to go.  I’m not terribly happy with this but the upshot is that I did manage to create a CD-ROM ISO image that can:

Boot up, load the windows 3.0 demo which then kicks off Neko!

After exiting the demo, it’ll do an APM shutdown of the VM killing Qemu and returning you back to Windows.

So yes, in effect it is a neko screensaver using Windows 3.0 & Neko from 1991.  The installation is manual, the ISO has to live in C:\ .  There is no install program, and I don’t think it works on x86_64 machines.  Also, the neat Windows preview thing doesn’t work (in the small window OR full screen preview.. And full screen textmode in Qemu is broken so while it’s doing the MS-DOS shuffle you’ll get garbage until it comes up in its VGA glory.

I’m kind of hesitant to release this but it it’s been driving me mad.  Also the changes to vl.c are in the ISO for the 2 or 3 people that care about how to remove the madding CLI options from Qemu and perhaps either read a config file or hardcode it what to do.

So, for those of you who think you can handle it, it’s right here.

 Oh and the patch is like this in vl.c

    /* second pass of option parsing */
    optind = 1;
for(;;) {
        if (optind >= argc)
            break;
        if (argv[optind][0] != '-') {
                if(1==1){
              /* Going to run as a Windows screen saver */
              full_screen = 1 ;
                data_dir = ".";
              ram_size=16*1024*1024 ;
                no_reboot = 1;
                drive_add(IF_DEFAULT, 2, "c:\\neko.iso", CDROM_OPTS);

		argc--;
		optind--;       //turn off the 2nd uneeded flag...?
              rtc_utc = 0;
              optind += 1 ;
            }
                else {
            hda_opts = drive_add(IF_DEFAULT, 0, argv[optind++], HD_OPTS);

Running Qemu as a Windows service …

Long story short I’m doing some work with a network that suffers a lot of ‘you can’t get there from here’.  They’ve given me VPN access and yet even the VPN cannot get to a lot of stuff.

The solution for them is to use this old server and ssh out from there to the rest of everything.  Which for the most part works fine, but if more than 2 people need to leapfrog suddenly you are waiting in line, or constantly knocking people off.

So, I figured I’d do something different, install a QEMU virtual machine on the server during my allotted hour, and then launch it as a service so that I could leap in/out through the VM leaving the console free.

While I am going to add Qemu as a service, it is still somewhat stealthy as I don’t need device drivers, and I can run it nested as I know this machine is slated to be migrated to VMWare ESX.  And the best part of that is that it’ll continue to run.

So how do we set this kind of thing up?

The first thing you’ll need is srvany.exe instsrv.exe which both can be found in the Windows 2003 resource kit. (what it used to look like)

Installation is very straightforward, just remember to use complete paths for your Qemu, BIOS, and disk files.  Installation goes like this from the command line:

InstSrv qemu c:\qemu-0.15.0\srvany.exe

This will create a service entry named Qemu, which will in turn kick off the srvany executable from the resource kit.  Now I know what you are thinking, what about Qemu?  Well we have to specify that using regedit.  Also remember that because you are going to run this as a service you don’t want the SDL display popping up and scaring some poor hapless user.  So the first thing I’d recommend is to work out the flags that you want to start with.  Something like this:

c:\qemu-0.15.0\qemu -L c:\qemu-0.15.0\qemu\pc-bios -hda mydisk -net nic -net user -redir tcp:2222::22 -vnc w.x.y.z:2223

This will redirect tcp port 2222 into the VM for ssh, and sits the VNC display on port 2223 …

So we fire up regedit and navagate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Qemu

There we add a new key “Parameters”.  Then add an ASCII key of “Application” then just paste in all of the qemu flags as mentioned above (or changed as needed by you).

Then you can simply start/stop the thing using the net start/net stop.

I suppose this is a little subversive (lol) but sometimes you’ve got work to do and the best way through it to piggyback on someone else’s computer.  Also I really fail to see the ‘wisdom’ in creating ACLs that only permit you to access your routers/switches from your desktop when you could easily *NOT* be in the office.  Or this guy just likes the excuse of not being able to work from home.

Anyways not to ramble but that’s how I ‘fixed’ the issue without ruffling too many feathers.

Qemu 0.15.0 released!

Here is the changelog.

I haven’t had that much time to review it myself, but I did manage to get some binaries built!

For 99% of the people out there this is the i386 & x86_64 emulators.

I’ve moved the default NE2000 to 0x320 IRQ 10 (as always), and included support for my quick control-alt-delete & reset via control-alt-d & control-alt-r. I’ve also included the adlib emulation to go along with the SoundBlaster support (why is this left off by default?).

And for those who need the other CPU types (ARM/PowerPC/MIPS/M68k/S390) you can download it here.

All of these were built with MinGW, and are all Win32 exe’s.

Linux on Qemu’s s390x-softmmu

S390 Mainframe Linux

It’s getting there….!

With a bit of poking around in the latest Qemu 0.15.0 rc2 beta, the S390x now builds by default.  Finding something for it to run was a bit of a stretch but I should have figured that Debian would have something.

It does take a few seconds to boot up, and by default you’ll just be sitting at a blank screen until you toggle to the virtcon0 screen.

But it’s VERY snappy… I haven’t gotten it to install (unsupported NIC?!) but I’m pretty positive it’s 100% my fault.  I’m just happy I saw it boot.  And it runs the busybox stuff just fine so it’s tentatively working.

If anyone wants to give it a whirl, download my exe, and the kernel/init.rd I’ve found that at least boot up here.

I’m hoping this will spur someone to spell out how/what to install onto it, and maybe if things like MUSIC/SP and CMS will run on it… That’d be fantastic!

In the meantime I’d imagine this combined with KVM on people with accelerated configs will enjoy some SERIOUS competition to the IBM Mainframe monopoly!