#MARCHintosh Wrap Up, GlobalTalk News

Update, 5 April 2024: I have simplified and improved the bridging configuration recommended below allowing both the host OS and System 7.1 within the emulated Quadra 800 to access the Ethernet network. Additionally, I’ve added the rtc directive to allow the emulated machine to display the correct (local) time – thanks to Autumn for her extensive notes on setting up QEMU on Debian, prompting me to reinvestigate my bridging setup, and alerting me to the rtc directive.

While it is now 1 April here in Sydney, it’s still March somewhere (for a few more hours), which means it’s still somewhere.

I’m also documenting something I legitimately achieved in March local time – mid-yesterday afternoon, I succeeded in getting QEMU to run with bridged networking in Ubuntu, boot System 7.1, and have that emulated Quadra 800 see GlobalTalk (automatically once booted, I might add, thanks to my still running macOS-hosted QEMU-based Apple Internet Router Quadra 800).

Before I get to a short summary of that, I’d like to just comment on what a fun and challenging month March has been.

For fun, meeting my new (first) grandchild yesterday certainly tops the list, but for spread across the month, , and most especially GlobalTalk, hit it out of the park.

Those technical aspects also almost topped the list of why March was so challenging, and I did touch on some of the other reasons in my ¾.2 update. There’s so much more to that side of the story, but, as promised, this blog is not going to become the place where that will be discussed in any great detail. Big shoutout to my fam, though – love you guys, you’re the best!

BTW, I hope one day they make a blockbuster Hollywood movie about the dawn of GlobalTalk. I’m thinking Anthony Edwards can play me –I was always told when ER was big that I “looked like that guy from ER“. We can have the whole “countdown timer” thing going on, maybe some helicopters and motorbike races/fights – real Mission Impossible stuff. I’ll try and get a draft script done.

But first…

2024 was not all GlobalTalk. While I was going to offer some other highlights, I just don’t have it in me to tease out any nuggets, sorry! It was such a busy month…so much happened…I don’t want to exclude anyone!

If you’re a Mastodon user (or anywhere else there’s been content posted), I suggest doing a search for in your favourite client – that will likely bring up the bulk of the material.

If you’re not a Mastodon user, or if you want things in slightly more bite-sized pieces, here’s a list of URLs pointing to tagged posts on the Mastodon servers my server can see (because of the way federation works, this cannot ever be guaranteed to be an exhaustive list [but I suspect it’ll be pretty close] and some posts will be replicated across multiple servers):
astrodon.social, awesome.garden, betweenthelions.link, bitbang.social, bsd.cafe, cloudisland.nz, defcon.social, dialup.cafe, donotsta.re, dosgame.club, fedi.nano.lgbt, fosstodon.org, fozztexx.com, freiburg.social, frogs.lgbt, furry.engineer, hachyderm.io, incognitus.net, indieweb.social, infosec.exchange, kolektiva.social, mas.to, mastodon.acc.sunet.se, mastodon.lawprofs.org, mastodon.nu, mastodon.online, mastodon.sandwich.net, mastodon.sdf.org, mastodon.social, mastodon.vladovince.com, merveilles.town, nso.group, oldbytes.space, pounced-on.me, princess.industries, slayers.online, social.europlus.zone, social.vcfed.org, sueden.social, tacobelllabs.net, tal.org, tech.lgbt, techhub.social, tilde.zone, topspicy.social, vivaldi.net, wetdry.world, xoxo.zone

And now, some meat for your sandwich…

GlobalTalk from System 7.1 Booting in QEMU on Ubuntu

So, I’ve verified this all works from a base Ubuntu Desktop install – even one being virtualised under macOS! I believe this is what’s minimally required to get things working – there’s certainly scope for bells and whistles, so let me know your thoughts!

Some caveats, first, though…

  • I’m not a Linux/Ubuntu expert. I know enough to get myself out of trouble sometimes, and enough to get myself into trouble sometimes.
  • There are probably better ways – FozzTexx is working on Docker containerisation, Autumn is trying to use other features of QEMU to load the emulated Quadra 800, and I wouldn’t mind a “headless QEMU I VNC into” setup (maybe that will be my next GlobalTalk update).
  • For the moment, this requires a dedicated Ethernet interface so the host doesn’t grab a connection or configuration which affects the emulated Quadra 800’s connection. I’m sure there are ways around this, but see the first point above. I’d be happy to revise all this to allow bridged networking for QEMU while maintaining the base connection for the host OS. Something about tun/tap? A project for another day – for the moment, I use wireless for network access on the host, and Ethernet for network access in the QEMU emulated Quadra 800.

With those out of the way, the “simple” steps are:

  • Download the QEMU source from the QEMU website – I’m using v8.2.2
  • In a Terminal window (or SSH session), open the directory with the source archive, then run the following commands

    tar xvJf qemu-8.2.2.tar.xz

    sudo apt-get install python3-pip ninja-build libglib2.0-dev git flex bison libsdl2-dev libpixman-1-dev libgtk-3-dev

    cd qemu-8.2.2

    ./configure --target-list=m68k-softmmu --enable-gtk --enable-sdl

    make

    sudo make install

Next, we’ll set up the bridge interface (these steps based on information from the Ubuntu website):

  • Define the bridge itself by editing /etc/netplan/01-network-manager-all.yaml (or whichever main configuration exists in the /etc/netplan/ folder):
    network:
      version: 2
      renderer: networkd
      ethernets:
        enp3s0:
          dhcp4: no
      bridges:
        br0:
          dhcp4: yes
          interfaces:
            - enp3s0
    Note: Make sure the specified nic is relevant for your setup (i.e. replace “enp3s0” above with your Ethernet nic label as appropriate).
  • Apply the configuration:
    sudo netplan apply
  • Make qemu-bridge-helper setuid: to set up a bridge as a normal user, qemu-bridge-helper must be run as root. Do this by adding the setuid bit:
    sudo chmod +s /usr/local/libexec/qemu-bridge-helper
  • Allow user access to the bridge from qemu-bridge-helper: Create or modify /usr/local/etc/qemu/bridge.conf with these contents:
    allow br0

We’re now almost ready to run QEMU!

Create a folder wherever you want, and copy the contents of my setup files for GlobalTalk (these are linked to from the GlobalTalk coordination spreadsheet) into that folder.

Change the contents of qemu-GlobalTalk.command in that folder to (differences are -nic and -display directives):

!/bin/bash
cd "$(dirname "$0")"
qemu-system-m68k \
-machine q800 \
-m 32M \
-bios Q800.ROM \
-drive file=pram.img,format=raw,if=mtd \

rtc base=localtime \
\
-g 1152x870x8 \
-display gtk \
\
-nic bridge,model=dp83932,br=br0 \
-device scsi-hd,scsi-id=0,drive=hd0 \
-device scsi-hd,scsi-id=3,drive=cd3 \
\
-drive format=raw,media=disk,if=none,id=hd0,file=GlobalTalk_HD.img \
-drive format=raw,media=cdrom,if=none,id=cd3,file=Sys7.1-GlobalTalk_Install.img \
&

From the Terminal cd to that folder and type:

./qemu-GlobalTalk.command

QEMU should open a new window, boot System 7.1, and you’ll then be able to follow the instructions for setting up GlobalTalk access in my Read Me.

I will be creating a broader set of instructions which go through the whole GlobalTalk setup from this point of initial boot. You can use a disk image configured for GlobalTalk from another QEMU setup (I’ll be testing my Apple Internet Router config on my macOS QEMU host to check it runs, but have not had a chance to yet).

Please let me know if you find any errors in the above, or hit any snags, or create a set of instructions for other distributions.

I would love to change this setup to allow simultaneous access for the bridged Ethernet interface to allow use in QEMU as well as the host system while allowing each to have a direct IP address on the network the host is connected to – please let me know how I might be able to achieve this and I’ll post an updated set of instructions with the information.

While this is my last 2024 post, it’s certainly not my last GlobalTalk one, so look for more info as I work on a more permanent set up moving forwards, and try and create a comprehensive set of GlobalTalk documentation (with screenshots, and everything!). And, hey, look! There’s still two hours of March (and therefore 2024) left…somewhere!

One thought on “#MARCHintosh Wrap Up, GlobalTalk News”

Leave a Reply