Running HP-UX 11.11 on qemu-system-hppa

Last of the major commercial UNIX systems that I wanted to see emulated is the legendary HP-UX (Hewlett Packard Unix)  (more information on the Wikipedia https://en.wikipedia.org/wiki/HP-UX )  And since last week we had the Gregorian Calendar Easter and today we have the Julian Calendar Easter it is a symbolic Resurrection  of HP-UX

The emulated machine is a HP B160L desktop machine

It was quite a surprise when I noticed  Sven Schnelle (https://github.com/svenschnelle) mention that HP-UX now runs under qemu-system-hppa, so I wanted to test and try it of course.

https://parisc.wiki.kernel.org/index.php/Qemu

I am running all my emulation experiments solely on Linux x86_64 (Linux Mint 19.1) and all the networking support is strictly Linux only so if you wish to reproduce this on macOS or Windows you are on your own there.

I have git-cloned recent qemu from ( https://github.com/qemu/qemu)  and built only the  hppa emulation (you can build the whole thing of course)

$ mkdir -p $HOME/KVM/HPUX
$ cd $HOME/KVM/HPUX
$ git clone https://github.com/qemu/qemu.git
$ cd qemu 
$ ./configure --target-list=hppa-softmmu
$ make 

Copy the compiled qemu-system-hppa binary to your working directory

$ cd $HOME/KVM/HPUX
$./qemu-system-hppa --version 
QEMU emulator version 3.1.93 (v4.0.0-rc3-4-g13c24edaa7-dirty)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

So now we are almost ready with the installation, but before that we need to make sure a couple of per-requisites are met. Main thing is of course the installation media which was ( HP-UX B.11.11) found in the deep corners of the internet ..

CD1 https://drop.me/MY0mqq
CD2 https://drop.me/MzP4Ry
CD3 https://drop.me/opL13Z
CD4 https://drop.me/M0yxgZ

If the above does not work (drop.me sometimes does this) you can get the ISOs here

https://gopherproxy.meulie.net/xepb.org/1/unix/hpux/hpux_install/

Or you can grab the whole HP-UX treasure depot here https://archive.org/download/hpunix

For the conveniences sake I have called the HP-UX 11.11 ISOs as follows (place them in your working directory that holds qemu-system-hppa binary as well as the disk images, etc)

-rw-rw-r-- 1 user user 642865152 Apr 28 00:43 hpux11-01.iso
-rw-rw-r-- 1 user user 357793792 Apr 28 00:51 hpux11-02.iso
-rw-rw-r-- 1 user user 648380416 Apr 28 00:57 hpux11-03.iso
-rw-rw-r-- 1 user user 309100544 Apr 28 00:55 hpux11-04.iso

Next we need to make sure the qemu networking is setup (tun/tap and bridge)  Below is my network sharing script one needs to execute under root prior the emulation

#Setup tap and bridge 
tunctl -t tap0 -u user
ifconfig tap0 up
brctl addbr br0
brctl setfd br0 0
ifconfig br0 10.0.2.2 netmask 255.255.255.0 broadcast 10.0.2.255 up
brctl addif br0 tap0 
ifconfig tap0 0.0.0.0
sysctl net.ipv4.ip_forward=1
iptables --table nat -A POSTROUTING --out-interface wlan0 -j MASQUERADE

Note:Network support works with Tulip driver as of 30-October-2019 

  • Emulate  Tulip (DEC 21×40) network card in Qemu

Next make sure you have the following /etc/qemu-ifup  script in place

#! /bin/sh
# Script to bring a network (tap) device for qemu up.
# The idea is to add the tap device to the same bridge
# as we have default routing to.

# in order to be able to find brctl
PATH=$PATH:/sbin:/usr/sbin
ip=$(which ip)

if [ -n "$ip" ]; then
ip link set "$1" up
else
brctl=$(which brctl)
if [ ! "$ip" -o ! "$brctl" ]; then
echo "W: $0: not doing any bridge processing: neither ip nor brctl utility not found" >&2
exit 0
fi
ifconfig "$1" 0.0.0.0 up
fi

switch=$(ip route ls |
awk '/^default / {
for(i=0;i<NF;i++) { if ($i == "dev") { print $(i+1); next; } }
}'
)

switch=br0

# only add the interface to default-route bridge if we
# have such interface (with default route) and if that
# interface is actually a bridge.
# It is possible to have several default routes too
for br in $switch; do
if [ -d /sys/class/net/$br/bridge/. ]; then
if [ -n "$ip" ]; then
ip link set "$1" master "$br"
else
brctl addif $br "$1"
fi
exit # exit with status of the previous command
fi
done

echo "W: $0: no bridge for guest interface found" >&2

Next we need to define a disk image (HP-UX 11.11 will need a full raw disk image, default qemu-img create -f qcow2 hpux.img 8G will NOT WORK !)

$ cd $HOME/KVM/HPUX
$ dd if=/dev/zero of=hpux.img bs=1024 count=8M

Next we define the HP-UX installation loader script to make things easier

$ cd $HOME/KVM/HPUX
./qemu-system-hppa -boot d -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=./hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 512 -d nochain -cdrom ./hpux11-01.iso -D /tmp/foo -net nic,model=tulip  -net tap

OK So we are almost ready, but just one last thing before we fire up the installation (We all love green don’t we ?) get yourself the super cool retro-terminal from here https://github.com/Swordfish90/cool-retro-term  Im using it in my examples below in case you wonder from where the screenshots come from ( Remember the good old terminal days when things seemed simple ?)

So lets start the HP-UX 11.11 emulation now

root@panasonic:/home/user/KVM/HPUX/HP-UX-11.11# ./install.sh 
qemu-system-hppa: -serial telnet::4441,server: info: QEMU waiting for connection on: disconnected:telnet:0.0.0.0:4441,server
QEMU 3.1.93 monitor - type 'help' for more information
(qemu)

You need to connect to the qemu telnet server via a good terminal emulator (retro-terminal is quite good)

$ telnet localhost 4441

After a shor time you will get kicked into the installation menu if all went right

Select Additional Software what you want to get installed (mind we only created 8GB disk)

Now we need patiance, since it can take some time (1hr – 2 hrs depending on what we chose to install)  to finsh.

Eventually it will finish

We will need to provide a CD2 installation image now

(qemu) change scsi0-cd2 ./hpux11-02.iso

The installer will continue now

Sweet CDE installing now

Once the CD2 finishes we get instructed to insert CD3

(qemu) change scsi0-cd2 ./hpux11-03.is

And the installer will continue

Yet again we get promped for the last CD4

(qemu) change scsi0-cd2 ./hpux11-04.iso

And the installer will continue again

And finally it will FINISH !

We will need to change the loader script for qemu-system-hppa to tell it to boot the new disk instead of the CD

./qemu-system-hppa -boot c -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=./hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 512 -d nochain -cdrom ./hpux11-01.iso -D /tmp/foo -net nic -net tap

Now again this will take some time to get through first boot; populating /dev/; setting up post-installation scripts etc .. so be patient

Note that the setup-process will take long to process CIM Repository ( This is something that is observed by others on real HW HP-UXes ( https://community.hpe.com/t5/Server-Management-Systems/Why-does-it-take-so-long-to-build-the-CIM-repository-on-HPUX/td-p/4931711)   You can just CTRL+C if you don’t want to wait – I did

It will shortly go for shutdown procedure (with a nasty FAILURE message since we broke the CIM Repository setup) but it does not matter, just load the simulation again

./qemu-system-hppa -boot c -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=./hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 512 -d nochain -cdrom ./hpux11-01.iso -D /tmp/foo -net nic,model=tulip -net tap

This time it will start booting properly

And we will be greeted with System options menu to configure (GeoCustoms)

Finally we land up in network configuration menu

Press [y]

Choose [n] since we will setup networking manually

Choose [y]

Choose hostname : UNIX    (feel free to experiment here, but there are some pretty wild rules for defining 8char$  max hostname)

Setup your time zones, root password..

Next we setup our IP – I have used 10.0.2.12 and define subnet and gateway IP  (IT WILL FAIL TO VERIFY)

Setup other networking parts

NETWORK WILL FAIL TO VERIFY

And finally it will continue booting ….

I guess some work after login needs these to address (networking)

Configure LAN interfaces …………………………………….. FAIL *
Starting HP-UX Secure Shell ………………………………….. FAIL *

Finally we land up in a root shell

# uname -a
HP-UX UNIX B.11.11 U 9000/778 2006243326 unlimited-user license
# 

update 01.11.2019

With the tulip network driver support in qemu (build the latest qemu-system-hppa from git for this to work) the networking is just fine

# netstat -i
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
ni0* 0 none none 0 0 0 0 0
ni1* 0 none none 0 0 0 0 0
lo0 4608 loopback 127.0.0.1 250 0 250 0 0
lan0 1500 10.0.2 10.0.2.12 30725 0 24997 0 0

And it looks like networking is not yet supported under qemu-system-hppa
https://parisc.wiki.kernel.org/index.php/Qemu

Here are some notes I have gathered after the installation

To get rid of the annoying stuck message during boot process

NFS server (pid672@/net) not responding still trying

# /sbin/init.d/nfs.client stop
killing rpc.lockd
killing rpc.statd
killing biod
killing automount
# /sbin/init.d/nfs.server stop
# /sbin/init.d/nfs.core stop
stopping rpcbind

# cd /etc/rc.conf.d 
# ls -la nfs*
-r-xr--r-- 1 bin bin 2958 Apr 28 20:07 nfsconf
# 

Edit /etc/rc.confd.d/nfsconf  and change as follows

NFS_CLIENT=0
NFS_SERVER=0

Reboot

Here is a video demo of the HP-UX running under qemu

Advertisement

About astr0baby

Please run Adblock or similar... we have been told to do so since Carl Sagan wrote the Contact .
This entry was posted in Uncategorized. Bookmark the permalink.

173 Responses to Running HP-UX 11.11 on qemu-system-hppa

  1. MJ says:

    2019 is the year of PowerPC?
    Did you test CDE?

    • astr0baby says:

      I don’t think there is a working VGA framebuffer supported yet and I could not get the network up running yet (need to experiment more there) .. if network would work then CDE would be possible via remote X11

  2. Alexander Shukin says:

    But networking works in debian-10 in qemu-system-hppa out of the box (without qemu command-line parameters). Seems the problem is not in qemu itself. Ethernet interfaces get configured during HP-UX 11.11 boot, but lan configuration fails. In AIX 5.1 such an issue (ent0 available while en0 not) can be fixed via odmchange command (see A.Tarasenko How-To). I’m too new for HP-UX yet to find out).

    • astr0baby says:

      Networking works for me on all my qemu experiments (qemu-system-ppc/ppc64 and qemu-system-sparc) but not here with qemu-system-hppa – I suspect its because the not yet fully supported Lasi (i82596) and Tulip (DEC 21×40) network cards support in hppa, but Im not entirely sure.

  3. ChrisR says:

    Networking isn’t functioning because HPUX needs a driver for the interface.

    See how IOSCAN reports “unknown” for the network interface, which means that it cannot match a driver for this card.

    # ioscan
    H/W Path Class Description
    ==================================================
    bc
    8 bc Pseudo Bus Converter
    8/0 ba GSCtoPCI Bridge
    8/0/0/0 ext_bus SCSI C895 Fast Wide LVD
    8/0/0/0.2 target
    8/0/0/0.2.0 disk QEMU QEMU CD-ROM
    8/0/0/0.6 target
    8/0/0/0.6.0 disk QEMU QEMU HARDDISK
    8/0/0/0.7 target
    8/0/0/0.7.0 ctl Initiator
    8/0/1/0 unknown PCI Ethernet (8086100e)
    8/0/63 tty Built-in RS-232C
    48 processor Processor
    63 memory Memory

  4. Alexander Shukin says:

    I tried pcnet, rtl8139, e1000 and ne2k_pci& No luck.

    • astr0baby says:

      Qemu-system-hppa needs to emulate a network card that HPUX has drivers for, so hopefully the authors of the ehppa qemu will add it in the future.

  5. Gilberto Persico says:

    Trying HP/UX 11.11 on a core i7 3520m T430. Installer remains at 20 of 39 of 4th cd iso image for more than 12 hours. Qemu 4.0.0 “official” (not from gituhub, from the web site). Did you git clone a different trunk ? Have AIX 4 & 5 working, Solaris 2.6 & 9 working but all of them came up in a couple of hours at most.

    • astr0baby says:

      The installer takes some time, but 12hrs is a bit too long. I always build qemu from source from git.

    • Alexander Shukin says:

      My installation took about 2 hours. Core i5 2400.
      I think, if you downloaded a zip file from qemu.org, it may be a little older version than astrobaby (and me too) used (from git repo). May it make the difference?

      • Gilberto Persico says:

        Yes, it made. Just completed the install of HP/UX 11.11 on qemu-4.0.50 from git :-)
        Thanks
        Gilberto

  6. viktormadarasz says:

    Can it also run HP-UX 11i v3 ? I have the install ksl somewhere …. It d be nice to know as I am just about to buy an rx2660 just for HP UX for my Homelab ..

  7. raywjewhurst says:

    The link to CD number 3 is broken.

  8. Vincent says:

    All CDs have a broken link the CD link given to another persons appears to support a Series 700 system

      • Vincent says:

        I have a hard time trying to boot it regardless of recompiling Qemu on multiple versions. Qemu 4 does not seem to show the bios. Qemu 3 stays at HARD BOOT and goes no further, appears to be un-bootable. An older HPUX such as 10 fails with the Chassis fan although HPUX 9 kernel panics.

      • astr0baby says:

        What version of qemu are you running ? – It wont work on anything older that qemu-current from git.
        This is the version Im using which works for HP-UX 11.11 and HP-UX-10.20
        user@panasonic ~/KVM/HPPA/HP-UX-11.11 $ ./qemu-system-hppa –version
        QEMU emulator version 3.1.93 (v4.0.0-rc3-4-g13c24edaa7-dirty)
        Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

      • Vincent says:

        System version is
        qemu-system-hppa –version
        QEMU emulator version 3.0.1
        Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers

        The git version where no BIOS shows – Just blank
        QEMU emulator version 4.0.50 (v4.0.0-1481-g33d6099906-dirty)
        Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

        The older compiled version from downloads

        ./qemu-system-hppa –version
        QEMU emulator version 3.1.0

      • astr0baby says:

        It works only with relatively new versions https://parisc.wiki.kernel.org/index.php/Qemu
        This version works just fine (try and get a git snapshot of this)
        QEMU emulator version 3.1.93 (v4.0.0-rc3-4-g13c24edaa7-dirty)
        Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

  9. Vincent says:

    The problem with compiled Qemus, you need to include a firmware file. I have managed successfully booted HPUX on Qemu 3.1.93 after including -bios hppa-firmware.img to the command line.

    Lack of firmware is what caused it to go blank,

    • astr0baby says:

      No you don’t need to, its all in the qemu git.

      • Vincent says:

        I got this to work, regarding the firmware file, if you use a git version and don’t make install it. It is needed to be in same dir as the executable, otherwise nothing shows on telnet. -bios option is not needed as you said.

        I noticed the HPUX install process is very long which had to be stopped during the time I tried it as it was running over time,.

        The Host installed this on is FreeBSD so their files are installed in different places to Linux.

        That cool terminal screen really does make it look like an old system that a friend descibed with an amber screen.

      • astr0baby says:

        Glad you got it running :) I did not build this on FreeBSD so Im not sure how that is handled there with the ports …. but on Linux I dont really need any firmware files in the path to run this.

        ./qemu-system-hppa -boot c -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=./hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 512 -d nochain -cdrom ./hpux11-01.iso -D /tmp/foo -net nic -net tap

      • Vincent says:

        I managed to re-run tnstall. Took nearly 4 hours to install. I had it screen recording the whole install on that cool terminal program while I watched movies on 2nd PC. Not tried to boot it until that screen recording is rendered after editing.

        FreeBSDs port qemu wouldn’t boot the cd, this lead to downloading the git versions. It compiled nicely.

        However FreeBSD’s port qemu was able to boot AIX 7.2 but a modified qemu was needed to boot AIX 5.1 and 4.3 done pretty much same way as for HPUX.

      • astr0baby says:

        Yes for AIX 5.1 and 4.3 you need the patched PReP/40p version (not merged to upstream yet)
        On Linux the HP-UX install took me 2 hours probably (with taking screenshots and writing the article …)

  10. Sven Schnelle says:

    Graphics support is on it’s way – i’ve implemented the graphics card from the HP9000/712. Just need to clean it up and get it merged upstream.

    So if you want to have a nice and modern (haha!) CDE like this:

    …stay tuned :)

  11. peterblood850 says:

    I’ve installed HPUX 11iv1 under qemu from 2006 version CDs. I have those because I have a HP D320 system at home. Anyone can provide info on how to copy HP D320 firmware?

  12. Thanks again for another inspirational post.
    They abandoned qemu on my new favorite platform FreeBSD :(
    Looks like I am forced to try this on Linux. Nothing happens after “HARD BOOTED”.

    Firmware Version 6.1

    Duplex Console IO Dependent Code (IODC) revision 1

    Memory Test/Initialization Completed

    ——————————————————————————
    (c) Copyright 2017-2018 Helge Deller and SeaBIOS developers.
    ——————————————————————————

    Processor Speed State Coprocessor State Cache Size
    ——— ——– ——————— —————– ———-
    0 250 MHz Active Functional 0 KB

    Available memory: 512 MB
    Good memory required: 16 MB

    Primary boot path: FWSCSI.6.0
    Alternate boot path: LAN.0.0.0.0.0.0
    Console path: SERIAL_1.9600.8.none
    Keyboard path: PS2

    Available boot devices:
    1. DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]
    2. lsi 00:00.0 6:0 Drive QEMU QEMU HARDDISK 2.5+

    Booting from DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]

    Booting…
    Boot IO Dependent Code (IODC) revision 153

    HARD Booted.

    • astr0baby says:

      Hi you need to compile qemu from source for this to work – so get the fresh git clone from qemu github and build it.

      • Apparently I forgot to report back, so here goes:

        – Yes, building QEMU from source on FreeBSD worked great. However, in the absence of the kqemu.ko accelerator kernel module (which they dropped support for a while ago on FreeBSD), emulation speed is not exactly spectacular. And networking will indeed be welcome. There *may* be Intel NIC support for HPUX with this download available from HPE: HP-UX Networking Ethernet Drivers GigEther-01 (HP_UX_11.31_GigEther-01_B.11.31.1403_HP-UX_B.11.31_IA_PA.depot); will try it sometime.

        – Unrelated, but networking does work perfectly well with qemu’s Intel e1000 with Debian Bullseye parisc port (Alexander Shukin mentions this too for buster).

      • astr0baby says:

        Thanks for the feedback Supratim. Acceleration on qemu for HP-UX is not going to help in any ways (and won’t actually work) on non PA-RISC CPUs. It will be slow on all architectures I think since the PA-RISC CPU will get fully emulated.

  13. ariel navarro says:

    Hello guys,
    Thanks for the great info here. I managed to compile qemu, install the OS and run sam, etc under amd64 machine. Now got really exited and want to run it on a raspberry pi 4. I have an old HP terminal that I am planning to hook through serial port.
    I can compile qemu on the pi (same procedure and same code), but on the rpi4 it is asking me for the firmware file. I am passing the hppa-firmware.img file with the -bios param, but nothing happens.

    Have anyone tried this before?

    Thanks!

    • astr0baby says:

      Hi Ariel,
      there are no guys behind this blog, only me. I will check and build qemu on aarch64 on my Nvidia Jetson nano to see what the issue could be. I will let you know.

    • astr0baby says:

      Works on Nvidia Jetson Nano (aarch64 Ubuntu 18.04) – HP-UX 10.20

    • Tommaso says:

      I’m trying to mess with customized bios too.
      My aim is to have a qemu HP-UX system with a customized “uname -i” (machine ID) value.
      This value is processed on the CPUID and System Serial Number.
      Is there anyone who tried to customize that value before? Is it seabios or qemu related?

  14. ariel navarro says:

    Awesome!! Thanks for testing that.

  15. Ariel E NAVARRO says:

    FYI, got it working on the rpi4 too. Started from scratch with raspbian-lite. Same procedure and it worked.Now experimenting with some perfo improvements “-smp cpus=1,cores=4,maxcpus=4” seems to work, not sure about any improvements. BTW, I will be great to have the links for 10.20 isos…

    Thanks again!

  16. VRC says:

    Great article! The best of its kind.It ran smoothly.Thanks to the author

  17. Casey says:

    Hi, does anyone know if the network support has been added in recent qemu releases.

  18. ariel navarro says:

    cool-retro-term is good but have you tried running qemu hppa on a rpi4 connected to an HP2392A terminal?

    Loved it auto detected the term model and is programming the function keys with every question.
    Thanks!

  19. ariel navarro says:

    trying to post some pictures here, but getting removed let me try post the links:
    https://ibb.co/8gJHL01
    https://ibb.co/dp9405m
    https://ibb.co/rM320p7

      • Ariel NAVARRO says:

        Thanks for your help and great info posted here!

        BTW, the user space on the nvidia Jetson is 64bits, while the user space in the RPi4 is 32 (while kernel is 64). I think this lead to an assertion error on deposit64 function. Somehow it was trying to store a bitfiled of zero length so the function aborted on the assert line of bitops.h. To prevent this I added a line that checked if length filed was 0 and returned value . “if ( lenght == 0 ) return value;” I don’t think this is fixing anything, just preventing the crash.

      • astr0baby says:

        OK, thanks for the info, Im sure this can help others if they try to run this on the Raspi3. How is the performance on it with qemu-system-hppa ?

  20. Ariel E NAVARRO says:

    Running hp-ux 11 is very slow, but 10.20 is acceptable for interactive console tasks like elm, sam etc. I haven’t tested any CDE, X server or networking capabilities (no working driver yet).
    I also did some assembler and c compiling and it was pretty good for 1996 standards. I am planning to run a few more formal benchmarks to compare against x64.
    The qemu process runs on a single thread, so only one core is at 100% all the time. The other 3 cores are pretty idle as I disabled most of the raspbian lite 10 services. I guess this could run much better by enabling the multi accel, but still need to work on this.
    I installed the 3 heat sinks on the main chips and a fan for the Pi4 as it tends to run hotter than than the RPi3. Temperature remained within 50- 55 C which is good (need to keep it under 85, but objective is to use all cores). I tried with a fast uhs-I internal SD card and an uhs-ii card with an external usb3 card reader. Performance was a bit better with the external card but much hotter and bulkier, so I switched back to the internal card. The 4GB RAM on the pi are more than enough to run hpux 10.20. It is interesting that the guest OS is able to control the baud speed on the host OS (using qemu -serial flag). To summarize, the objective was to recreate the experience of using this OS from a real terminal as it was back in the day and the result is pretty close to it.

    • Adding “-accel tcg,thread=multi -smp cpus=4” to the qemu command line seems to load up more cores, at least on my FreeBSD host. Also, unrelated, QCOW2 seems to be holding up, raw disk may not be required.

  21. Ariel NAVARRO says:

    When I try any multithreading options I get below error and the emulation is not even started:
    qemu-system-hppa: No MTTCG when guest word size > hosts
    Which is wierd because the host os and guest os are 32 bits.
    Anyway, I will grab another SD card and will try with a full 64 bits distro (kernel/user) instead of the official raspbian. Thanks for the info and will let you know any progress

    • astr0baby says:

      Please do ! Its exciting to see the progress in this, makes we want to get the HP2392A terminal too ! Where can one buy one, ebay ?

      • Ariel says:

        ok, did some progress but still working on it…
        Tried the full 64bits Ubuntu for Raspberry. Issues with keyboard, wifi, etc. Looks good but I think it still needs some more work
        Tried the Balena image for RPi and couldn’t boot from it.
        Tried the Gentoo full 64 bits image for RPi and really liked it. Works fine, everything is detected and it is tuned to get the most out of the Pi. I switched the fan from 3v to 5v as better performance comes with a price.
        The compile process is super cool and well integrated, I got hppa installed out of the the distro packages (just need to define QEMU_SOFTMMU_TARGETS=hppa IIRC)
        I was able to run the emulation with the multi-threading options. Even the guest OS (10.2) is able to recognize extra CPUs at boot time.
        Now the problem is that the emulation is not going much further during the boot process. It seems qemu is generating and trying to execute an illegal instruction for the RPi4. The process crashes with SIGILL without much more details. So, I recompiled qemu with debuging symbols and traced it with GDB.
        it fails on tcg-target-inc.c:671: tcg_out_insn_3401 assertion (aimm & 0xfff)
        I couldn’t figure out a way to fix/bypass this, but I will try with newer code as it seems that networking is enabled by now.
        I rescued my terminal from the trash long ago when it was considered obsolete. It was manufactured in 1985 and needed some minor repairs (vertical collapse/power) but it is easy to repair due to its simple design. It has three boards, left placed vertical controls the CRT, the main/horizontal controls the comms, mem, cpu ,etc while the 3rd board on the right manages the power, on/off etc.
        I’ve seen this same model on ebay but they look expensive and there is a high risk for it to be broken or breaking right away. But there are newer models for ~100 bucks that seem a better bet. Like HP 700/96 Terminal C1064W that doesn’t that that vintage look, but may work better, faster and wont need to worry if it breaks.

      • astr0baby says:

        Great work Ariel ! Please keep us posted here, Im waiting for the Pinebook Pro to ship (aarch64) which I use as my primary aarch64 qemu emulation system (for all the kvm accelerated aarch64 systems -> Net/Free BSD and RHEL) I will definitely give the hppa a try on this platform too.

  22. nb says:

    Looks like Sven merged the tulip driver: https://git.qemu.org/?p=qemu.git;a=commit;h=34ea023d4b959f35be8771470483c57dbbe2447d
    I have tested it with HP-UX 11.11 and it works, unless you enable some crazy stuff like IPFilter at which point it panics the kernel during init. The default installation settings are safe, though.
    I would like to thank everyone involved. I like HP-UX and did not want to see it go down with the Itanic.

    • astr0baby says:

      Great news ! Will try myself now

    • astr0baby says:

      # ioscan -fn
      Class I H/W Path Driver S/W State H/W Type Description
      ===========================================================================
      bc 0 root CLAIMED BUS_NEXUS
      bc 1 8 bc CLAIMED BUS_NEXUS Pseudo Bus Converter
      ba 0 8/0 GSCtoPCI CLAIMED BUS_NEXUS PCI Bus Bridge – GSCtoPCI
      ext_bus 0 8/0/0/0 c720 CLAIMED INTERFACE Fast Wide Single-Ended SCSI
      target 0 8/0/0/0.2 tgt CLAIMED DEVICE
      disk 0 8/0/0/0.2.0 sdisk CLAIMED DEVICE QEMU QEMU CD-ROM
      /dev/dsk/c0t2d0 /dev/rdsk/c0t2d0
      target 1 8/0/0/0.6 tgt CLAIMED DEVICE
      disk 1 8/0/0/0.6.0 sdisk CLAIMED DEVICE QEMU QEMU HARDDISK
      /dev/dsk/c0t6d0 /dev/rdsk/c0t6d0
      target 2 8/0/0/0.7 tgt CLAIMED DEVICE
      ctl 0 8/0/0/0.7.0 sctl CLAIMED DEVICE Initiator
      /dev/rscsi/c0t7d0
      unknown -1 8/0/1/0 UNCLAIMED UNKNOWN PCI(8086100e)
      tty 0 8/0/63 asio0 CLAIMED INTERFACE Built-in RS-232C
      /dev/diag/mux0 /dev/mux0 /dev/tty0p0
      processor 0 48 processor CLAIMED PROCESSOR Processor
      memory 0 63 memory CLAIMED MEMORY Memory
      #

      Could the new Tulip network interface be under the unknown Class ?
      This is on HP-UX 10.20 btw … will try 11.11 next

      • nb says:

        On 11.11 the card uses the btlan driver. Not sure if it’s available out-of-the-box on 10.20.
        HPE forum says it should be on one of the Application disks, if you have them for 10.20.

      • astr0baby says:

        got it, Im searching the 10.20 one now and cannot find it. I will load the 11.11 instead.

      • astr0baby says:

        Yeah on 11.11 it shows up
        # ioscan -fn
        Class I H/W Path Driver S/W State H/W Type Description
        ===========================================================================
        bc 0 root CLAIMED BUS_NEXUS
        bc 1 8 bc CLAIMED BUS_NEXUS Pseudo Bus Converter
        ba 0 8/0 GSCtoPCI CLAIMED BUS_NEXUS GSCtoPCI Bridge
        ext_bus 0 8/0/0/0 c720 CLAIMED INTERFACE SCSI C895 Fast Wide LVD
        target 0 8/0/0/0.2 tgt CLAIMED DEVICE
        disk 0 8/0/0/0.2.0 sdisk CLAIMED DEVICE QEMU QEMU CD-ROM
        /dev/dsk/c0t2d0 /dev/rdsk/c0t2d0
        target 1 8/0/0/0.6 tgt CLAIMED DEVICE
        disk 1 8/0/0/0.6.0 sdisk CLAIMED DEVICE QEMU QEMU HARDDISK
        /dev/dsk/c0t6d0 /dev/rdsk/c0t6d0
        target 2 8/0/0/0.7 tgt CLAIMED DEVICE
        ctl 0 8/0/0/0.7.0 sctl CLAIMED DEVICE Initiator
        /dev/rscsi/c0t7d0
        unknown -1 8/0/1/0 UNCLAIMED UNKNOWN PCI Ethernet (8086100e)
        tty 0 8/0/63 asio0 CLAIMED INTERFACE Built-in RS-232C
        /dev/diag/mux0 /dev/mux0 /dev/tty0p0
        processor 0 48 processor CLAIMED PROCESSOR Processor
        memory 0 63 memory CLAIMED MEMORY Memory
        #

    • And it works great, QEMU HPUX 11.11 is on the network! Just specify the NIC model as tulip, and off we go! For example, my qemu command line includes “-net nic,model=tulip -net tap,ifname=tap4,script=no” … and oh boy! I can do all sorts of network commands on HPUX! So awesome,

      [root@dell-poweredge-2950 ~]# telnet hpux
      Trying 10.42.2.55…
      Connected to hpux.sanyalnet.lan.
      Escape character is ‘^]’.

      HP-UX hpux.sanyalnet.lan B.11.11 U 9000/778 (ta)

      login: root
      Password:
      Please wait…checking for disk quotas
      (c)Copyright 1983-2000 Hewlett-Packard Co., All Rights Reserved.
      (c)Copyright 1979, 1980, 1983, 1985-1993 The Regents of the Univ. of California
      (c)Copyright 1980, 1984, 1986 Novell, Inc.
      (c)Copyright 1986-1992 Sun Microsystems, Inc.
      (c)Copyright 1985, 1986, 1988 Massachusetts Institute of Technology
      (c)Copyright 1989-1993 The Open Software Foundation, Inc.
      (c)Copyright 1986 Digital Equipment Corp.
      (c)Copyright 1990 Motorola, Inc.
      (c)Copyright 1990, 1991, 1992 Cornell University
      (c)Copyright 1989-1991 The University of Maryland
      (c)Copyright 1988 Carnegie Mellon University
      (c)Copyright 1991-2000 Mentat Inc.
      (c)Copyright 1996 Morning Star Technologies, Inc.
      (c)Copyright 1996 Progressive Systems, Inc.
      (c)Copyright 1991-2000 Isogon Corporation, All Rights Reserved.

      RESTRICTED RIGHTS LEGEND
      Use, duplication, or disclosure by the U.S. Government is subject to
      restrictions as set forth in sub-paragraph (c)(1)(ii) of the Rights in
      Technical Data and Computer Software clause in DFARS 252.227-7013.

      Hewlett-Packard Company
      3000 Hanover Street
      Palo Alto, CA 94304 U.S.A.

      Rights for non-DOD U.S. Government Departments and Agencies are as set
      forth in FAR 52.227-19(c)(1,2).
      You have mail.

      Value of TERM has been set to “xterm”.
      WARNING: YOU ARE SUPERUSER !!

      # ioscan -fn
      Class I H/W Path Driver S/W State H/W Type Description
      ===========================================================================
      bc 0 root CLAIMED BUS_NEXUS
      bc 1 8 bc CLAIMED BUS_NEXUS Pseudo Bus Converter
      ba 0 8/0 GSCtoPCI CLAIMED BUS_NEXUS GSCtoPCI Bridge
      ext_bus 0 8/0/0/0 c720 CLAIMED INTERFACE SCSI C895 Fast Wide LVD
      target 0 8/0/0/0.2 tgt CLAIMED DEVICE
      disk 0 8/0/0/0.2.0 sdisk CLAIMED DEVICE QEMU QEMU CD-ROM
      /dev/dsk/c0t2d0 /dev/rdsk/c0t2d0
      target 1 8/0/0/0.6 tgt CLAIMED DEVICE
      disk 1 8/0/0/0.6.0 sdisk CLAIMED DEVICE QEMU QEMU HARDDISK
      /dev/dsk/c0t6d0 /dev/rdsk/c0t6d0
      target 2 8/0/0/0.7 tgt CLAIMED DEVICE
      ctl 0 8/0/0/0.7.0 sctl CLAIMED DEVICE Initiator
      /dev/rscsi/c0t7d0
      lan 0 8/0/1/0 btlan CLAIMED INTERFACE HP PCI 10/100Base-TX Core
      /dev/diag/lan0 /dev/ether0 /dev/lan0
      tty 0 8/0/63 asio0 CLAIMED INTERFACE Built-in RS-232C
      /dev/diag/mux0 /dev/mux0 /dev/tty0p0
      processor 0 48 processor CLAIMED PROCESSOR Processor
      processor 1 49 processor CLAIMED PROCESSOR Processor
      memory 0 63 memory CLAIMED MEMORY Memory
      #
      # ifconfig lan0
      lan0: flags=843
      inet 10.42.2.55 netmask ffffff00 broadcast 10.42.2.255
      # nslookup sanyal.org
      Name Server: sanyalnet-pfSense.sanyalnet.lan
      Address: 10.42.2.1

      Trying DNS
      Non-authoritative answer:
      Name: sanyal.org
      Address: 185.27.134.146

      # ping yahoo.com
      PING yahoo.com: 64 byte packets
      64 bytes from 98.137.246.7: icmp_seq=0. time=80. ms
      64 bytes from 98.137.246.7: icmp_seq=1. time=80. ms
      64 bytes from 98.137.246.7: icmp_seq=2. time=75. ms
      64 bytes from 98.137.246.7: icmp_seq=3. time=79. ms
      64 bytes from 98.137.246.7: icmp_seq=4. time=74. ms

      —-yahoo.com PING Statistics—-
      5 packets transmitted, 5 packets received, 0% packet loss
      round-trip (ms) min/avg/max = 74/77/80
      # telnet impvax.duckdns.org
      Trying…
      Connected to impvax.duckdns.org.
      Escape character is ‘^]’.
      Local flow control on
      Telnet TERMINAL-SPEED option ON

      ___ _ _ _____ ___ ___ ___ _ ___ ___
      |_ _| \| |_ _| __| _ \ __/_\ / __| __|
      | || .` | | | | _|| / _/ _ \ (__| _|
      |___|_|\_|_|_|_|___|_|_\_/_/ \_\___|___|
      | \/ | __/ __/ __| /_\ / __| __|
      | |\/| | _|\__ \__ \/ _ \ (_ | _|
      |_| |_|___|___/___/_/ \_\___|___| ___ ___ ___
      | _ \ _ \/ _ \ / __| __/ __/ __|/ _ \| _ \
      | _/ / (_) | (__| _|\__ \__ \ (_) | /
      |_| |_|_\\___/ \___|___|___/___/\___/|_|_\
      \ \ / /_\ \ \/ /
      \ V / _ \ > <
      \_/_/ \_\/_/\_\

      IMPVAX – VAXserver 3900 OpenVMS VAX 7.3
      A SANYALnet Labs Private Hobbyist Server

      +–
      + This is a private hobbyist OpenVMS/VAX server. All connections are
      + monitored and recorded. Disconnect NOW if you are not an authorized
      + user.
      +
      + This VAXserver-3900, named to honor the first router IMP, performs
      + DECnet routing for all DECnet network systems in SANYALnet labs and
      + uplinks to HECnet global hobbyist DECnet network using MULTINET.
      +
      + Admin contact: VMS Mail: QCOCAL::SANYAL from HECnet
      + internet email: qcocal::sanyal@mim.update.uu.se
      +–

      Username: sanyal
      Password:
      Welcome to OpenVMS (TM) VAX Operating System, Version V7.3 on node IMPVAX
      Last interactive login on Sunday, 27-OCT-2019 16:20
      Last non-interactive login on Friday, 1-NOV-2019 02:26

      IMPVAX, a VAXserver 3900 Series
      Multiprocessing is DISABLED. Uniprocessing synchronization image loaded.

      PRIMARY CPU = 00

      CPU 00 is in RUN state
      Current Process: SANYAL PID = 00000AA3

      Product: MULTINET Node: impvax.sanyalnet.lan Address(es): 10.42.2.
      4
      Product: DECNET Node: IMPVAX Address(es): 31.1
      1-NOV-2019 02:45:12

      OSU HTTPD HTML DOCUMENTS ARE AT DUA1:[OSUHTTPD.WEBROOT]

      $ show cpu

      IMPVAX, a VAXserver 3900 Series
      Multiprocessing is DISABLED. Uniprocessing synchronization image loaded.

      PRIMARY CPU = 00
      Active CPUs: 00
      Configured CPUs: 00
      $ logout
      Connection closed by foreign host.V-2019 02:45:24.93
      # netstat -nr
      Routing tables
      Destination Gateway Flags Refs Interface Pmtu
      127.0.0.1 127.0.0.1 UH 0 lo0 4136
      10.42.2.55 10.42.2.55 UH 0 lan0 4136
      10.42.2.0 10.42.2.55 U 2 lan0 1500
      127.0.0.0 127.0.0.1 U 0 lo0 0
      default 10.42.2.1 UG 0 lan0 0
      #

  23. @nb nothing special really – “-accel tcg,thread=multi -smp cpus=2” works fine on my FreeBSD 12-release host (on a rusty 8-core Dell 2950). Likely unrelated, but I do see weirdness if more than one instance of qemu-system-hppa is running; if I also bring the Debian/parisc VM up, both VMs become unresponsive to the point of being unusable, though host resources do not show much stress.

    • nb says:

      Turned out it was some weirdness on my part. I toggled a bunch of compile flags and now SMP works.
      I don’t have time right now for analyzing exactly what is wrong (this post itself is very late), but here’s the configure command line in case anyone else has this problem:
      ./configure –prefix=/opt/qemu-hppa-git –enable-numa –enable-pie –enable-membarrier –disable-avx2 –enable-tools –target-list=hppa-softmmu
      Platform is OpenSUSE Tumbleweed with a 5.3 series kernel and running on the venerable FX-8370 (which is why avx2 is disabled – it doesn’t support it).
      I haven’t observed your brand of weirdness, though. I had two HP-UXes running side by side with no apparent problems. Maybe it’s more platform weirdness, or maybe it’s something with PA-RISC Debian?

      • After many permutations, and not liking raw disks, I am getting the best performance with two striped disks and disabling all acceleration, multi-threading and SMP. Debian/PA-RISC port is incredibly resource hungry, BTW. The emulator itself is also very heavy … I wonder how alphavm_free manages to run so fast while qemu hppa is such. Anyway all good and a lot of fun – I installed Mozilla browser too.

  24. viktormadarasz says:

    Anyone would have the loader and install script tailored to mac os x? i installed the freshest Qemu there and i was able to do the install once i cut out the parts about networking and such…..

  25. jose says:

    Awsome! I can migrate my old Hp9000 Servers! (yes till runing on production!) only one question, I tried to install HPUX 10.20 CR800 (S800) from https://archive.org/download/hpunix/OS/10.20/ but when the installation procces begins, its says “There were no disk devices found during the scan. Make sure that the destination disks are connected and powered on” I still can install 11.11 and 10.20 CR700 (S700) without a problem.

    • astr0baby says:

      Im not sure what the difference is in the SCSCI emulation for qemu-system-hppa between S800 and S700, you should post this question to the qemu hppa mailing list I guess.

  26. megastallman says:

    Hi guys! What did I do wrong? Please help.
    $ ./qemu-system-hppa –version
    QEMU emulator version 4.1.93 (-dirty)
    $ sudo ./qemu-system-hppa -boot c -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=./hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 512 -d nochain -D /tmp/foo -net nic,model=tulip -net tap,ifname=tap4,script=no
    And I clearly see that the networking is being configured inside HPUX(networking and ssh started with OK ):
    # ifconfig lan0
    lan0: flags=843
    inet 10.0.2.12 netmask ffffff00 broadcast 10.0.2.255
    On my laptop it looks like:
    $ ip -o a | grep ‘ br0\| tap0’
    11: br0 inet 10.0.2.2/24 brd 10.0.2.255 scope global br0\ valid_lft forever preferred_lft forever
    11: br0 inet6 fe80::e418:1bff:fe30:ddfd/64 scope link \ valid_lft forever preferred_lft forever
    12: tap0 inet6 fe80::f049:84ff:fee7:b726/64 scope link \ valid_lft forever preferred_lft forever
    but we still can’t ping each other. Wireshark sees no packets on those interfaces when I run ping from inside HPUX, but sees the packets being run from host.

  27. megastallman says:

    Oh, sorry. I could actually setup network like this:
    $ ./qemu-system-hppa -boot c -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=./hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 512 -d nochain -D /tmp/foo -net nic,model=tulip -net tap,ifname=tap0
    I also see sshd running:
    $ ssh root@10.0.2.12
    Connection closed by 10.0.2.12 port 22
    But still can’t connect after accepting the key fingerprint.

    • astr0baby says:

      Run you ssh client in verbose mode like ssh -vv to see the actual error you get, I think its because the remote SSH daemon is too old :) you would need to make appropriate exceptions in your ~/.ssh/conf like this

      Host 10.0.2.12
      KexAlgorithms +diffie-hellman-group1-sha1
      HostKeyAlgorithms +ssh-dss

  28. Keith M says:

    Hey there. Thanks for this post!

    I’ve got a reignite disk for a HPUX 10.20 which runs on an HP Logic Analyzer 16700A. This logic analyzer is loosely based on a C132L/C160L which is a 9000/779/rock system. It’s a single bootable CD that installs the OS onto a hard drive. I’ve never used QEMU before. Do I have a chance of this being successful? Obviously I realize the other custom hardware won’t be available, but I’m looking for a resettable sandbox where I can play with the OS/file system.

    Are there off-the-shelf VM images that contain qemu and an hpux 10.20 install? With seemingly heavy and long install times, I *think* that would make sense. Something like a host ubuntu install with qemu already installed and configured, with scripts to launch HPUX? I know I’m dreaming….

    Thanks
    Keith

  29. Nate says:

    Okay, I’ve been struggling a LOT with networking when it comes to HP-UX along with the AIX post. I’ve been focusing on HP-UX first, and I can’t figure out where I’m going wrong. I feel like there’s something simple I’m not doing/understanding about how this is meant to work.

    Here’s my launch command:
    /mnt/HPUX/qemu-4.2.0-hpux/hppa-softmmu/qemu-system-hppa -boot c -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=/mnt/HPUX/hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 2048 -d nochain -net nic,model=tulip -net tap,ifname=tap0,script=no,downscript=no

    And I’ve messed around with different -net options. I also viewed the Arch Linux QEMU networking section to try to understand what I’m doing with tun/tap devices and bridges. I feel I have a good understanding of both these things but I’m unable to even ping my HP-UX guest from the host itself with just a basic network setup, nevermind actually trying to ping out externally.

    On the host (CentOS 8 with QEMU 4.2.0 compiled from source and configured for hppa-softmmu):

    7: tap0: mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
    link/ether ca:ad:8b:2f:d3:bf brd ff:ff:ff:ff:ff:ff
    inet6 fe80::c8ad:8bff:fe2f:d3bf/64 scope link
    valid_lft forever preferred_lft forever
    8: br0: mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether ca:ad:8b:2f:d3:bf brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.2/24 brd 10.0.2.255 scope global noprefixroute br0
    valid_lft forever preferred_lft forever
    inet6 fe80::9ccb:6ad8:daf7:f2d/64 scope link noprefixroute
    valid_lft forever preferred_lft forever

    [root@qemu-host ~]# firewall-cmd –info-zone=trusted
    trusted (active)
    target: ACCEPT
    icmp-block-inversion: no
    interfaces: br0 tap0
    sources: 10.0.2.0/24
    services:
    ports:
    protocols:
    masquerade: yes
    forward-ports:
    source-ports:
    icmp-blocks:
    rich rules:

    [root@qemu-host ~]# sysctl net.ipv4.ip_forward
    net.ipv4.ip_forward = 1

    [root@qemu-host ~]# route -n
    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    0.0.0.0 10.0.2.3 0.0.0.0 UG 0 0 0 br0
    10.0.2.0 0.0.0.0 255.255.255.0 U 426 0 0 br0
    10.0.2.3 10.0.2.2 255.255.255.255 UGH 0 0 0 br0
    (removed unrelated routes – I’ve been trying to manually add routes as well)

    On the HP-UX 11.11 guest:

    # ifconfig lan0
    lan0: flags=843
    inet 10.0.2.3 netmask ffffff00 broadcast 10.0.2.255

    # netstat -rn
    Routing tables
    Destination Gateway Flags Refs Interface Pmtu
    127.0.0.1 127.0.0.1 UH 0 lo0 4136
    10.0.2.3 10.0.2.3 UH 0 lan0 4136
    10.0.2.0 10.0.2.3 U 2 lan0 1500
    default 10.0.2.3 U 0 lan0 1500

    # lanscan
    Hardware Station Crd Hdw Net-Interface NM MAC HP-DLPI DLPI
    Path Address In# State NamePPA ID Type Support Mjr#
    8/0/1/0 0x525400123456 0 UP lan0 snap0 1 ETHER Yes 119

    I don’t know what, if anything, I’m missing or not doing incorrectly. Any help is appreciated. I’ve been messing around with this for quite awhile and can’t figure it out. I’m not super familiar with HP-UX and would like to get better, thus the reason for me attempting this. But I’ve hit a wall when it comes to networking between my host and HP-UX guest!

    • astr0baby says:

      Hi,
      this is my setup (prior running qemu I run this script as root)

      #Setup tap and bridge
      tunctl -t tap0 -u user //this is my user “user”
      ifconfig tap0 up
      brctl addbr br0
      brctl setfd br0 0
      ifconfig br0 10.0.2.2 netmask 255.255.255.0 broadcast 10.0.2.255 up
      brctl addif br0 tap0 vboxnet0 //(I usually add tap0, vboxnet0 to the bridge)
      ifconfig tap0 0.0.0.0
      sysctl net.ipv4.ip_forward=1
      iptables –table nat -A POSTROUTING –out-interface wlan0 -j MASQUERADE

      And also make sure you have this script in /etc/qemu-ifup

      #! /bin/sh
      # Script to bring a network (tap) device for qemu up.
      # The idea is to add the tap device to the same bridge
      # as we have default routing to.

      # in order to be able to find brctl
      PATH=$PATH:/sbin:/usr/sbin
      ip=$(which ip)

      if [ -n “$ip” ]; then
      ip link set “$1” up
      else
      brctl=$(which brctl)
      if [ ! “$ip” -o ! “$brctl” ]; then
      echo “W: $0: not doing any bridge processing: neither ip nor brctl utility not found” >&2
      exit 0
      fi
      ifconfig “$1” 0.0.0.0 up
      fi

      switch=$(ip route ls |
      awk ‘/^default / {
      for(i=0;i&2

      • Nate says:

        What distro/release are you running this on? CentOS did not provide tunctl, so I had to use “ip tuntap” to create my tap0 device. The installs are mostly modular, so I could definitely give it a shot on something that isn’t CentOS to see if my issue lies there.

        As best as I can tell, your script does:
        * Creates tap0/br0
        * Configures them, sets br0 as tap0’s master. Brings them up.
        * Enables IP Forwarding
        * Adds an iptables masquerade
        * brctl addif br0 tap0 vboxnet0 //(I usually add tap0, vboxnet0 to the bridge) – This line apppears to be you adding your NIC to the bridge as well so your tap0 can communicate out.

        All of that I did manually before launching HP-UX. I use ip to create my br0/tap0 devices, configured it via that as well. Used firewall-cmd to configure masquerade. sysctl translated just fine. And I also tried to allow my HP-UX host to communicate out, but at this point I’d be happy to get them to even be able to ping each other.

        So if the issue doesn’t appear to be with how I setup my host, how did you end up setting up networking HP-UX? Just a simple IP/Netmask and you’re off to the races? I can run “ifconfig lan0 10.0.2.3 netmask 255.255.255.0 up” and see it gets the address, but still can’t ping out. I did mess with “sam” a bit and tried to set it up that way initially. Did I bork something from stumbling around?

      • astr0baby says:

        First I would suggest bringing up some simple x86_64 emulation via qemu using the above setup (debian live CD ISO) and see if the network is OK (it should work – I use the same setup for all my VMs – Qemu/VirtualBox) if that works then you know you have something wrong with your HP-UX and we could troubleshoot that more, if not then its something on your Linux machine that prevents the TUN/TAP Bridged networking from working as it should.

    • astr0baby says:

      Also maybe change this script
      Here’s my launch command:
      /mnt/HPUX/qemu-4.2.0-hpux/hppa-softmmu/qemu-system-hppa -boot c -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=/mnt/HPUX/hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 2048 -d nochain -net nic,model=tulip -net tap,ifname=tap0,script=no,downscript=no
      to
      Here’s my launch command:
      /mnt/HPUX/qemu-4.2.0-hpux/hppa-softmmu/qemu-system-hppa -boot c -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=/mnt/HPUX/hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 2048 -d nochain -net nic,model=tulip -net tap

      And make sure you have the modified /etc/qemu-ifup script in place

  30. Nate says:

    Okay, so at first I misunderstood what you meant in your first message and downloaded Debian 10.2.0 and still had issues! Then I was re-reading everything and I finally understood what you meant.

    I compiled qemu-system-x86_64 from source and launched Debian live 10.2.0 with the following command:
    /root/qemu-4.2.0/x86_64-softmmu/qemu-system-x86_64 -boot d -cdrom /root/debian-live-10.2.0-amd64-lxde.iso -m 4096 -net nic,model=tulip -net tap,ifname=tap0,script=no,downscript=no -vnc :0
    And had a successful ping out! I was able to ping 8.8.8.8 and even google.com!

    So, it’s good to know that my host networking setup is working fine. It definitely seems like my HP-UX/Unix networking-fu could use some work. I can’t believe I hadn’t thought of booting into a live CD! Thank you!!

    I will mess around in HP-UX some more to see if I can find out where I’m going wrong. It’s nice to know what end the problem is at.

    • astr0baby says:

      Good luck, drop a note here if you need any further help with the HP-UX networking, but it should be fairly simple to do. One advice is, use HP-UX 10.20 instead of 11.11 .. its much faster under qemu and i have prepared a full /usr/local which I have built here https://45.76.81.249/HPPA/HP-UX-10.20/

    • Tommaso says:

      Hi astr0baby,
      I ended up with the same situation of Nate.
      Everything is running fine with pa-risc emulated Debian,
      but no ping at all on HP-UX side.

      netstat -in
      lanscan
      ifconfig lan0
      ioscan -fn

      outputs are correct, but I cannot still ping anything ( my virtualization fedora workstation
      host too).
      Is there anything I can investigate on HP-UX network setup to check if the bridge is really OK.
      I’m running 11.11.

      • astr0baby says:

        Try to run 10.20 … its much better performance wise and you can setup the network during initial setup/boot and you will see if it works.
        ISO is available here https://archive.org/download/hpunix/OS/10.20/
        https://archive.org/download/hpunix/OS/10.20/HP-UX%2010.20%20%282000-06%29%20S700%20Install%20and%20Core%20OS%20.iso

      • astr0baby says:

        If you get stuck let me know again .. I have placed the whole image with all the toolsets @ sandokan.tk – and I leave it up to you (be creative) to find it ;) … hint – use the old-skool pre html browser ..

      • Dec 1, 9:39 PM – is it 11i or 10.20?

      • Nate says:

        Hey Tommaso!

        So I haven’t dedicated too much more time to this, but I did gather some tcpdumps from the host that it’s running on and saw something interesting things where I think it has some sort of outgoing communication. (192.168.171.145 was the IP address I set on HP-UX)

        16:36:55.078930 IP qemu-host.45278 > _gateway.domain: 16069+ PTR? 145.171.168.192.in-addr.arpa. (46)

        I don’t know enough about networking to dig too much deeper into this though, unfortunately.

        I was wondering what your setup looks like? Maybe we have similar setups?

        I’m running VMWare Workstation 12 on my work laptop. From there I have RHEL 8.1 installed as my qemu-host machine and launch HP-UX from there. I’m not sure if maybe VMWare Workstation 12 might have some issues with how it runs its DHCP service/virtual networking stuff? The program isn’t exactly the best!

        I’ve been meaning to test it on a CentOS 8 VM on my homelab(with a simpler networking setup overall), but like I said I haven’t been able to dedicate too much more time to this since my last posts.

      • If this of any help whatsoever, the four commands result in the below on a working system (my VM subnet is 10.42.2.0/24).

        Also, if the arp table on your router is not updating, maybe forcing an arp update with a ping to the router may help. Happened to me for a few VMs.

        # netstat -in
        Name Mtu Network Address Ipkts Opkts
        lan0 1500 10.42.2.0 10.42.2.55 2060 2083
        lo0 4136 127.0.0.0 127.0.0.1 1572 1572
        # lanscan
        Hardware Station Crd Hdw Net-Interface NM MAC HP-DLPI DLPI
        Path Address In# State NamePPA ID Type Support Mjr#
        8/0/1/0 0x589CFC525437 0 UP lan0 snap0 1 ETHER Yes 119
        # ifconfig lan0
        lan0: flags=843
        inet 10.42.2.55 netmask ffffff00 broadcast 10.42.2.255
        # ioscan -fn
        Class I H/W Path Driver S/W State H/W Type Description
        ===========================================================================
        bc 0 root CLAIMED BUS_NEXUS
        bc 1 8 bc CLAIMED BUS_NEXUS Pseudo Bus Converter
        ba 0 8/0 GSCtoPCI CLAIMED BUS_NEXUS GSCtoPCI Bridge
        ext_bus 0 8/0/0/0 c720 CLAIMED INTERFACE SCSI C895 Fast Wide LVD
        target 0 8/0/0/0.0 tgt CLAIMED DEVICE
        disk 0 8/0/0/0.0.0 sdisk CLAIMED DEVICE QEMU QEMU HARDDISK
        /dev/dsk/c0t0d0 /dev/rdsk/c0t0d0
        target 1 8/0/0/0.1 tgt CLAIMED DEVICE
        disk 1 8/0/0/0.1.0 sdisk CLAIMED DEVICE QEMU QEMU HARDDISK
        /dev/dsk/c0t1d0 /dev/rdsk/c0t1d0
        target 2 8/0/0/0.2 tgt CLAIMED DEVICE
        disk 2 8/0/0/0.2.0 sdisk CLAIMED DEVICE QEMU QEMU CD-ROM
        /dev/dsk/c0t2d0 /dev/rdsk/c0t2d0
        target 3 8/0/0/0.7 tgt CLAIMED DEVICE
        ctl 0 8/0/0/0.7.0 sctl CLAIMED DEVICE Initiator
        /dev/rscsi/c0t7d0
        lan 0 8/0/1/0 btlan CLAIMED INTERFACE HP PCI 10/100Base-TX Core
        /dev/diag/lan0 /dev/ether0 /dev/lan0
        tty 0 8/0/63 asio0 CLAIMED INTERFACE Built-in RS-232C
        /dev/diag/mux0 /dev/mux0 /dev/tty0p0
        processor 0 48 processor CLAIMED PROCESSOR Processor
        memory 0 63 memory CLAIMED MEMORY Memory
        #

      • astr0baby says:

        Thanks Supratim :)

  31. Tommaso says:

    Thanks Supratim,
    my output is perfectly identical:

    # netstat -in
    Name Mtu Network Address Ipkts Opkts
    lan0 1500 192.168.122.0 192.168.122.2 225 225
    lo0 4136 127.0.0.0 127.0.0.1 87 87
    # lanscan
    Hardware Station Crd Hdw Net-Interface NM MAC HP-DLPI DLPI
    Path Address In# State NamePPA ID Type Support Mjr#
    8/0/1/0 0x525400123456 0 UP lan0 snap0 1 ETHER Yes 119
    # ifconfig lan0
    lan0: flags=843
    inet 192.168.122.2 netmask ffffff00 broadcast 192.168.122.255
    # ioscan -fn
    Class I H/W Path Driver S/W State H/W Type Description
    ===========================================================================
    lan 0 8/0/1/0 btlan CLAIMED INTERFACE HP PCI 10/100Base-TX Core
    /dev/diag/lan0 /dev/ether0 /dev/lan0

    I’m running on fedora 31 (and CentOS 7.5) with libvirt and standard NAT bridging.
    With the same config, the debian based qemu image is perfecty working with DHCP and network setup.

    Any thoughts?
    Thanks again
    Tommy

    • Tommaso says:

      UPDATE: Trying with the installation ISO and “Recovery shell”, you can select to start networking. The result is:

      * Searching the network for a DHCP server to supply default networking
      information….
      This could take up to 30 seconds if a DCHP server cannot be found. If
      you wish to cancel the DHCP server search, you may press CTRL-C now.

      In 11.11 recovery shell the result is: no network or DHCP
      In 10.20 recovery shell the lan0 adapter is fully functional (with DHCP too!)

      I’m quite confused about qemu “tulip” driver with 11.11 installation…
      For the moment I will try the 10.20 way to get my system up&running.

      Thanks again everybody for your suggestions.

    • responding to “any thoughts?” :)

      1. Can you override the default MAC and try? Something like -net nic,model=tulip,macaddr=”27:61:de:30:e8:17″ … this would rule out conflict with the default QEMU mac just in case
      2. Can you run tshark on your NIC to see if a gratuitous arp is sent out by the VM at boot time?

      I still think it’s a level-2 issue on the host/qemu environment.

  32. nb says:

    Graphics and other improvements have been merged 4 days ago ( https://git.qemu.org/?p=qemu.git&a=search&h=HEAD&st=commit&s=hppa ).
    The GPU gets auto-added so long as you don’t have -nographic; no need for separate -vga either. -sdl is all that you need (provided you compiled QEMU with –enable-sdl).
    Looks like my existing installation can’t cope with graphics being added just like that and kernel panics so I’m in the middle of installing a second one. The installation CD works though.
    The yellow squares on the bottom are mapped to F1-F8.
    I’ve compiled with clang this time around and it seems to work all right. (Before you ask, gcc-compiled QEMU with graphics panicked the existing installation too.)

    If any of you are going to try a new installation of 11.11, I’d recommend getting the latest 2006 media from the archive.org hpux dump (mcoe or tcoe, and the app ISOs).
    Also grab the last 2009 patch bundles in the Support Plus tgz (yes, the tgz; the .depot variant is broken). Installing the GOLDQPK is strongly recommended, the rest are optional.
    To install patch bundles: swinstall -x patch_match_target=true -x autoreboot=true -s /path/to/GOLDQPK.depot
    The first app disk contains OnlineJFS so you can extend the filesystem online (ex.: fsadm -F vxfs -b 2048m /mount/point). It depends on a few patches from the GOLDQPK so make sure you have that installed.

    For those on other platforms (Win, Mac), or just unwilling to play with virtual bridges, you can use the SLIRP user networking (-nic user,model=tulip,hostfwd=tcp::5555-:22). It’s slower than bridging, but with the emulation speed it does not really matter. It can be a bit insecure, though. The hostfwd is there so you can ssh from the host and external systems. Also note icmp doesn’t go through so no ping. QEMU has an internal DHCP server so IP gets assigned automatically.

    • astr0baby says:

      This is excellent news ! Will definitely do a fresh build of qemu-system-hppa ! Thank you

    • nb says:

      The good: The graphics work and the overall performance seems to have improved a lot. 11.11 appears to be usable from my perspective. SMP now seems stable as well, no weird race conditions so far, but assigning too many CPUs (8) results in a visible slowdown – probably because 11.11 wasn’t that good at SMP yet. 2 CPUs is the sweet spot for me.

      The bad: The mouse/cursor is offset by about half the screen to the left – on the left I can go out of the window bounds and on the right half of the screen there’s an invisible wall. I can click on things on the screen if I guess the offset correctly. I’ve verified this happens on both Linux and Windows builds of QEMU, and on both SDL and GTK interfaces, and even through VNC. I’ve been searching for a solution, but found nothing so far.

  33. Denime says:

    Hello,

    When I try to connect telnet 127.0.0.1 4441 I got the error:

    user@hppa01:~/KVM/HPUX$ qemu-system-hppa: -serial telnet::4441,server: info: QEMU waiting for connection on: disconnected:telnet:0.0.0.0:4441,server
    Unexpected error in qemu_chr_fe_init() at chardev/char-fe.c:220:
    qemu-system-hppa: Device ‘serial0’ is in use
    Aborted (core dumped)

    Do you have any suggestion?

    Tks

    • astr0baby says:

      How are you loading the qemu-system-hppa ? Can you post the complete command string here ?

      • Denime says:

        I tried:

        ./qemu-system-hppa -boot d -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=./hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 512 -d nochain -cdrom ./HPUX1020.iso -D /tmp/foo

        and then I tried:
        ./qemu-system-hppa -boot d -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=./hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 512 -d nochain -cdrom ./HPUX1020.iso -D /tmp/foo -net nic,model=tulip -net tap

        I already tested it with Raspbian on a RPI 3, Virtual Machine with Linux Mint 19.1 and a machine with Ubuntu 19. The result are the same.

        Currently I’m doing it with windows 10 and I was able to connect via telnet to the serial port.

        But I really want to use a linux system to emulate HP-UX.

        Thanks

      • astr0baby says:

        Did you git clone qemu or install from package manager ? If first I suggest to pull some older build (a few weeks back) and rebuild as there might be some bug in qemu

        Unexpected error in qemu_chr_fe_init() at chardev/char-fe.c:220:
        qemu-system-hppa: Device ‘serial0’ is in use

      • Denime says:

        I cloned the branch v4. 2.0-rc2 and it’s working well.

      • Chris Arceneaux says:

        Along the same thought, I originally used the default ‘master’ branch but experienced this issue. I ended up using the branch ‘stable-4.2’ to get this issue resolved as branch ‘v4. 2.0-rc2’ is no longer available.

        $ git clone https://github.com/qemu/qemu.git
        $ git checkout stable-4.2

  34. Tebounet says:

    Hi,
    Trying to emule HP-UX 9.05, I have the same error :

    $ sudo ./qemu-system-hppa -boot d -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=./hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 512 -d nochain -cdrom ./HPUX_9.05_Installation_Disc_S700.iso -D /tmp/foo -net nic,model=tulip -net tap
    ————- Now I enter “telnet localhost 4441” in an other term ————–
    qemu-system-hppa: -serial telnet::4441,server: info: QEMU waiting for connection on: disconnected:telnet:0.0.0.0:4441,server
    Unexpected error in qemu_chr_fe_init() at chardev/char-fe.c:220:
    qemu-system-hppa: Device ‘serial0’ is in use
    Abandon

    I have no /dev/serial0. I suppose it is the cause of this trouble.

  35. Tebounet says:

    I cloned qemu 4.2.50 from github.com, and I compiled it myself.
    When I try to remove the serial option for telnet, I get no error with telnet, but I get the error “no firmware provided”, altough I read that qemu-system-hppa integrate a firmware. I don’t understand.

    • astr0baby says:

      No idea why it behaves like this, Im using this version of qemu-system-hppa

      QEMU emulator version 4.0.90 (v4.1.0-rc0-dirty)
      Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

      This one is from around June/July 2019 (please ask on the qemu-hppa mailing list what changed)

      • Tebounet says:

        An other problem : there is two options serial on your comnand line. If I remove the serial option relative to telnet, I obtain the error “no firmware provided”.

      • astr0baby says:

        It works for me just fine with the commands as they are, please check with the qemu-hppa developers what has changed in qemu, otherwise clone an older version and build that

    • Denime says:

      Try to compile v4. 2.0-rc2 it’s working well for me.

      • Tebounet says:

        Hi, the beginning of the solution : a path problem.
        It is said “Copy the compiled qemu-system-hppa binary to your working directory”. But, if I work directly in the directory $HOME/KVM/HPUX/qemu/hppa-softmmu , I can start correctly qemu (except my problem of telnet, so I removed this option).
        The result now is better, I have now to resolve the “system panic”. Maybe trying HP-UX 10.20 rather than HP-UX 9.05 ?

        user@debian64:~/KVM/HPUX/qemu_4.2.50/hppa-softmmu$ sudo ./qemu-system-hppa -boot d -drive if=scsi,bus=0,index=6,file=./hpux.img,format=raw -serial mon:stdio -D qemu1.log -nographic -m 512 -d nochain -cdrom ./HPUX_9.05_Installation_Disc_S700.iso -D qemu2.log -net nic,model=tulip -net tap

        Firmware Version 6.1

        Duplex Console IO Dependent Code (IODC) revision 1

        Memory Test/Initialization Completed

        ——————————————————————————
        (c) Copyright 2017-2019 Helge Deller and SeaBIOS developers.
        ——————————————————————————

        Processor Speed State Coprocessor State Cache Size
        ——— ——– ——————— —————– ———-
        0 250 MHz Active Functional 0 KB

        Available memory: 512 MB
        Good memory required: 16 MB

        Primary boot path: FWSCSI.6.0
        Alternate boot path: FWSCSI.2.0
        Console path: SERIAL_1.9600.8.none
        Keyboard path: PS2

        Available boot devices:
        1. DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]
        2. lsi 00:00.0 6:0 Drive QEMU QEMU HARDDISK 2.5+

        Booting from DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]

        Booting…
        Boot IO Dependent Code (IODC) revision 153

        HARD Booted.

        ISL Revision A.00.37 Aug 04, 1994

        ISL booting hpux boot disc(;0):INSTALL
        Secondary Loader 9000/700
        Revision 3.08
        Booting disc(;0):INSTALL
        1498948 + 2420736 + 217576 start 0x25030

        Stored message buffer up to panic:
        Floating point coprocessor configured and enabled.
        No BTLB entries found for processor 0
        Unsupported module type 0x7 found

        System Panic:
        B2352A HP-UX (A.09.05) #2: Tue Oct 18 15:46:14 PDT 1994
        panic: (display==0xbc00, flags==0x0) Unable to initialize msus structure
        PC-Offset Stack Trace (read across, most recent is 1st):
        0x000ec6f8 0x000d7e3c 0x00081e5c 0x000254c0
        End Of Stack

        dumping 0 bytes to dev 0xffffffff, offset 0 …
        Dump failed, returning 5.

    • rootbe says:

      I’v got same error about firmware, i’v done make install in qemu build dir and it helps

  36. Tebounet says:

    With HP-UX 10.20, file ‘HP-UX 10.20 (1996-07) S700 Install and Core OS.iso’ from https://archive.org/download/hpunix , it is OK :

    user@debian64:~/KVM/HPUX/qemu_4.2.50/hppa-softmmu$ sudo ./qemu-system-hppa -boot d -drive if=scsi,bus=0,index=6,file=./hpux.img,format=raw -serial mon:stdio -D qemu1.log -nographic -m 512 -d nochain -cdrom ../../distri/10.20/HP-UX\ 10.20\ \(1996-07\)\ S700\ Install\ and\ Core\ OS.iso -D qemu2.log -net nic,model=tulip -net tap

    Firmware Version 6.1
    Duplex Console IO Dependent Code (IODC) revision 1
    Memory Test/Initialization Completed
    ——————————————————————————
    (c) Copyright 2017-2019 Helge Deller and SeaBIOS developers.
    ——————————————————————————
    Processor Speed State Coprocessor State Cache Size
    ——— ——– ——————— —————– ———-
    0 250 MHz Active Functional 0 KB
    Available memory: 512 MB
    Good memory required: 16 MB
    Primary boot path: FWSCSI.6.0
    Alternate boot path: FWSCSI.2.0
    Console path: SERIAL_1.9600.8.none
    Keyboard path: PS2
    Available boot devices:
    1. DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]
    2. lsi 00:00.0 6:0 Drive QEMU QEMU HARDDISK 2.5+
    Booting from DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]
    Booting…
    Boot IO Dependent Code (IODC) revision 153
    HARD Booted.
    ISL Revision A.00.38 OCT 26, 1994
    ISL booting hpux (;0):INSTALL
    Boot
    : disc(8/0/0/0.2.0;0):INSTALL
    3462652 + 315392 + 305120 start 0x1b82e8

    But what can I do now without telnet to dialog for installing HP-UX 10.20 ?

    • astr0baby says:

      Can you do
      # make install
      in your qemu sources ? so that all the ROMs and stuff gets placed to /usr/local/share/qemu
      Im not really sure why you cannot telnet to the simulation, I use this for almost all my other simulators too – qemu-system-ppc, qemu-system-ppc64 and qemu-system-aarch64 …

  37. Tebounet says:

    The solution is putting “-serial mon:stdio” before “-serial telnet::4441,server”.
    Now my machine is booted, I am connected by telnet, but what must I enter to start the installation ?

  38. Tebounet says:

    Now, HP-UX 10.20 is installing. Thanks a lot for your help !
    I summarize :
    – run “make install” after make
    – put “-serial mon:stdio” before “-serial telnet::4441,server” in the command line
    – try several installation media ; for me, it was ‘HP-UX 10.20 (1996-07) S700 Install and Core OS.iso’ from https://archive.org/download/hpunix
    – be patient : the hppa in qemu, qemu in a debian 64 bits virtual machine VirtualBox, VirtualBox on Windows 10 in a modest PC, the result is OK but very slow !

    • astr0baby says:

      Yes, it is slow on a normal core i5 too so be patient, it will look like it hang during one stage, let it run and check tomorrow !
      Glad you got it going :) I was starting to worry :)

      • Tebounet says:

        Hi, an other problem now : qemu monitor exits unexpectedly.
        I use two windows. The tty command give me the name of the first window : /dev/pty/0 for example. In the second window, I start qemu :

        sudo ./qemu-system-hppa -monitor /dev/pts/1 -boot d -drive if=scsi,bus=0,index=5,file=../../hpux_11iv1.img,format=raw -serial mon:stdio -nographic -m 512 -d nochain -cdrom ../../distri/11iv1/’HP-UX_11iv1_B.11.11_TCOE_September_2005_1of4_Core_OS _Install&Recovery_B6821-10046.iso’ -D qemu2.log -net nic,model=tulip -net tap

        In the second windows, the machine starts normally. In the first windows, I have the qemu prompt ; if I enter a command (help for example), the command is executed , but returns to bash prompt without error message instead of staying in qemu.
        Am I doing it wrong? Or is it a qemu bug?
        Thank you in advance.

      • astr0baby says:

        Im not entirely sure why you need 2 terminal instances for one Qemu simulation, I have always used just one and it was sufficient.

  39. Denime says:

    I’m running HP-UX 10.20 and I want to install openSSH and smbd but I don’t know how to upload/download files into HP-UX.

    I have network configured.

    Do you have any hint?
    Thanks.

    • astr0baby says:

      You should have telnet and ftp enabled on the HP-UX, so use those ;) (For FTP remember that it works in 2 ways – BIN (binary) and ASCII so keep that in mind when copying files over – for binary switch to bin

    • Tebounet says:

      By default, NFS Client and Server are activated on HP-UX. If your host is a linux host, you can on linux share a directory (with file /etc/exports and command exportfs) and on HP-UX mount it by NFS (command mount -F NFS in /etc/fstab).

  40. Tebounet says:

    The reason why I try to work with 2 windows : Ctrl-Alt-1 and Ctrl-Alt-2 don’t work. But it doesn’t work better with 2 windows : there is a conflict, in the monitor windows (/dev/pty/0) the characters are mixed between bash and qemu.
    .I think I have to find out why Ctrl-Alt-1 and Ctrl-Alt-2 are not working. Maybe it’s because qemu is in a virtualle virtualbox machine ? Maybe the Ctrl and Alt keys are intercepted by virtualbox ?

  41. prunduzbo says:

    Would be better if a “kvm-parisc” or “kvm-hppa” module exist, to run at good speed on native parisc workstation or server with Linux.

  42. wahil1976 says:

    Change this line in hw/display/artist.c:
    “`*x = ((artist_get_x(s->cursor_pos) – 338) / 2);“`
    to
    “`*x = ((artist_get_x(s->cursor_pos) + 338) / 2);“`
    to fix the “invisible wall” bug in HP-UX 11.11.

    • wahil1976 says:

      Note that this is only tested with the default X11 server in HP-UX 11.11; this may not work properly on Linux.

    • nb says:

      Thanks for pointing me in the right direction.
      The sign was not the only thing wrong, though. The offset, at least in my case, has to be around 0x344 to properly cover the window.
      However, I still get a nasty bug when the pointer sometimes gets stuck when it reaches the right edge and the mouse completely breaks down (moving the mouse is translated to clicking the buttons, among other things).
      What’s more, somewhere down the line some of the graphics primitives broke – this is evident on the buttons whose borders don’t get drawn. I remember this worked fine when the graphics support was committed, so likely some commit broke it afterwards.
      Anyway, I can live without graphics emulation. You can get a good mileage out of remote X that Astr0 described somewhere here.

  43. Pingback: TSR – The Server Room – Shownotes – Episode 34 | // aNONradio //

  44. Mark says:

    Thanks, very useful information for what I’m trying to do. Appreciate the effort in putting this together :

  45. Tom says:

    Thanks a lot for this article. I was able to set it up using latest qemu 5.1.0… works like a charm…

    # uname -a
    HP-UX hpB2352B B.10.20 A 9000/778 2006243326 two-user license
    # cat main.c
    #include
    int main()
    {
    printf(“Hello World\n”);
    return 0;
    }
    # cc main.c
    # ./a.out
    Hello World
    # file a.out
    a.out: PA-RISC1.1 shared executable dynamically linked -not stripped
    #

    So many memories…

    • astr0baby says:

      Glad you liked it :) I have uploaded my HP-UX qemu qcow2 image to Archive.org if you want to check it out – just search for hp-ux qemu

      • Master Argan says:

        So glad to find this! I’m starting a HP-UX job and haven’t touched it in years so I need to refresh! What Linux distro (and version) did you use that is confirmed working with your qemu (and which version of qemu as well) .qcow image? Thanks again for all your hard work!!!

      • astr0baby says:

        Thanks Argan, glad it helped you.

        You might check my twitter rather – Im more active there https://twitter.com/astr0baby
        As for HP-UX >
        Just noticed that HP-UX 10.20 stopped working for me with recent Qemu versions -> a working fix

        git clone https://github.com/qemu/qemu
        cd qemu
        git checkout `git rev-list -1 –before=”Nov 1 2019″ master`
        ./configure –target-list=hppa-softmmu
        make -j4

  46. Pingback: Emulation and virtualization guides – Vesko's Blog

  47. Yannick says:

    Thanks for this great work!
    I plan to use this emulation for a course next week. I encounter a little problem. Regularly I get:
    INIT: Command is respawning too rapidly.
    Will try again in 5 minutes.
    Check for possible errors.
    id:samd “/usr/sam/lbin/samd # system mgmt daemon”
    Do you know what should I modify to avoid this message?
    Thanks again

    • astr0baby says:

      You could silence the daemon perhaps … (rename the binary or take away the execute bit .. ) I guess it is very HP-UX specific.

    • nb says:

      You can comment out its entry in /etc/inittab and reload with “init c”.
      Alternatively, patching the system with the last Quality Pack should fix it as well.

  48. Mike says:

    Does 11.31 itantium work on qemu as well?

    Have you tried any programs to compare outputs between qemu and real bare metal system?

  49. Pingback: The Server Room – Episode 34 – 35 – Emulation of Forgotten Realms – PCem, 86box, DOSBOX, Qemu, Basilisk and others – The Server Room Show

  50. Denime says:

    How can I use a disk higher than 8GB on HP-UX?
    Is it possible to add 2 virtual SCSI HDDs? How should be the qemu command?
    Thanks

  51. where can i find the isos?

  52. Denime says:

    Hello,

    I’m looking for the bundle XSW700GR1020
    B.10.20.55.3 General Release Patches for HP-UX 10.20 Servers (December 2001)

    Could someone please provide me the ISO? I can’t find it anywhere.

    Thanks

  53. Andrew Scott says:

    Has this been revisited recently?
    We’re trying to validate some old software and this tutorial has been invaluable in being able to spin up test instances without having to touch the fragile production items.

    BUT, the networking simply does not work. I have reproduced the author’s configuration precisely, same version of Mint as the host, same install DVDs, same version of QEMU, built from source. I used the scripts provided verbatim (except for the wlan part, that’s ens3).

    All the stuff says it should be wired and working, but the VM cannot pass packets out the TAP adapter to the bridge. It just doesn’t work.

  54. hansunshin says:

    난 한국인입니다 영어를 잘 못합니다.

    아래 방법대로 해서 저는 hp-ux 11.11 로 네트워크를 설정하였습니다.

    step1) qemu-4.0.0 으로 먼저 hp-ux 를 설치합니다.

    아래는 실행 스크립트입니다.
    #./starthpux.sh
    ——————————————————————-
    ip tuntap add dev tap0 mode tap
    echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp
    echo 1 > /proc/sys/net/ipv4/conf/ens33/proxy_arp
    ip addr add 192.168.0.248 dev tap0
    ip link set up tap0
    ip link set up dev tap0 promisc on
    ip route add 192.168.0.249 dev tap0
    arp -Ds 192.168.0.248 ens33 pub
    sudo netplan apply

    stty intr ^]
    stty susp ^]
    stty quit ^]
    /qemu-4.0.0/hppa-softmmu/qemu-system-hppa -boot c -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=/qemu-4.0.0/hpux.img,format=raw -serial mon:stdio -D /tmp/foo -nographic -m 2048 -d nochain -cdrom /qemu-4.0.0/hpux11-01.iso -D /tmp/foo
    ————————————————————————————————–

    step2) 설치가 완료되면 qemu 6.2.0 으로 이미지를 구동시킵니다.

    아래는 실행 스크립트입니다.
    #./starthpux2.sh
    ————————————————————————————————-
    ip tuntap add dev tap0 mode tap
    echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp
    echo 1 > /proc/sys/net/ipv4/conf/ens33/proxy_arp
    ip addr add 192.168.0.248 dev tap0
    ip link set up tap0
    ip link set up dev tap0 promisc on
    ip route add 192.168.0.250 dev tap0
    arp -Ds 192.168.0.248 ens33 pub
    sudo netplan apply

    stty intr ^]
    stty susp ^]
    stty quit ^]
    /qemu-6.2.0/build/qemu-system-hppa -boot c -serial mon:stdio -serial telnet::4441,server -drive if=scsi,bus=0,index=6,file=/qemu-6.2.0/hpux.img,format=raw -D /tmp/foo -nographic -m 2048 -d nochain -cdrom /qemu-6.2.0/hpux11-01.iso -D /tmp/foo -net nic,model=tulip -net tap,ifname=tap0,script=no
    ————————————————————————————————–

    이렇게 한 이유는 qemu-6.2.0 에서는 serial 에러가 발생함으로 qemu-4.0.0 으로 설치완료후에
    qemu6.2 에서 구동시에는 -serial mon:stdio -serial telnet::4441 순서를 바꿔줍니다.

    그리고 제 VMWARE linux ip = 192.168.0.248 이며
    HP-UX ip = 192.168.0.250
    로컬 에서 telnet 192.168.0.250 접속이 성공했습니다.

    • Tebounet says:

      1) configure sdl support :
      $ sudo ./configure –enable-sdl –target-list=hppa-softmmu
      $ sudo make
      2) remove “-nographic” and add “-display sdl”

      • astr0baby says:

        Yeah – you can do this too – I prefer the X11 forwarding to Xephyr on my host.

      • Tebounet says:

        With Xephyr, some characters are missing with my french keyboard. I spent a lot of time unsuccessfully trying to solve this problem.

  55. mine39@naver.com says:

    Hi!
    Enhance SeaBIOS to emulate 64-bit firmwares
    Add emulation of a C3000 workstation
    When can I install the item? PA2.0 possible?

  56. sing says:

    Hi!
    Enhance SeaBIOS to emulate 64-bit firmwares
    Add emulation of a C3000 workstation
    When can I install the item? PA2.0 possible?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.