Retrocomputing: How to build a Raspberry Pi Server to share files with retro or vintage systems and modern platforms | part 1


(Setting up the system and building Samba Server)

In this set of “how to”, we’ll see how to use Linux to build and configure a complete Retrocomputing Server on a Raspberry Pi, to provide a set of services to retro and vintage systems (for ex. RISC OS, Amiga OS, OS/2, Atari TOS and others) like file share, DNS, FTP, proxy and other resources. We’ll also be able to exchange files and data between our retro/vintage systems and modern OS like Linux, Windows, macOS and more.

Before you start

I have tried to do my best to test this tutorial on different Linux distributions and computer architectures. Given the complexity required to complete this tutorial, please make sure you read it carefully and, if you have doubts, please ask questions in the comments area at the end of the tutorial.

Intro

It seems that sharing files and directories between RISC OS (but also Amiga OS, OS/2 and other Retro Operating Systems) and other modern platforms is not such an intuitive thing. So, this post will try to provide some help to users so they can configure a Raspberry Pi (or another machine) to allow file sharing between RISC OS (or other Retro Operating Systems) and other platforms, which is a particularly useful thing when coding on retro systems.

Create a File Server on a Raspberry Pi

Pre-Requisites

Before we start, you should have ready to use:

  • a Raspberry Pi that we’ll use as server (from now on, we’ll refer to it as the server system), this in order to reduce costs for this project and have something we can leave it on all the time. If you have an old PC you wish to use instead, you can follow this series anyway and configure your PC for the job (in this case remember to download and build for the Intel x86 platform instead of for ARM as we’ll do here). Given that we are going to build a lot of services through this entire series, I’d recommend to use a Raspberry Pi 3 b+ or, better, a Raspberry Pi 4 (possibly the 8GB version).
  • At least one retro or vintage platform, for example a RISC OS machine or an Amiga (from now on, we’ll refer to it as the client system), with an ethernet (or WiFi) network connection that can reach the server system (aka they are on the same subnet/lan).
  • In this articel I’ll use vi editor to edit files on Linux, if you are not familiar with vi, you can use nano which is a more intuitive editor. If you intend to use nano, then please replace all ” vi ” in all command lines that state ” vi ” with ” nano “, thanks.

For security reasons, I strongly recommend NOT to expose the Server System we are going to build to the public internet, or, if you really want to do something this crazy, then at least ensure that the network and network port offering all the services, is not exposed to the internet! You have been warned 🙂

If you are going to use a Raspberry Pi for the Server System you may want to build something like:

Please note: I am not directly endorsing any of the vendors above. They just provide solutions that seems to be clean enough for the specific project in this post, to avoid having exposed contacts on the Pi board and to have space to place one or more SSD that we’ll use as shared discs. Any good case that keeps the RPi cool and with space for SSD will do. Some vendor offers cases for NVMe discs, while these may look slick and everything, I think it’s a waste of an NVMe to use it through a USB 3 connection, so I’d recommend to stick to an SSD if they are cheaper at the time you read this article.

Preparing the Server system

If you have an older Raspberry Pi, you may want to download a 32bit copy of RaspberryPi OS, while, if you have a Raspberry Pi 3 (or higher), then I’d recommend to download the 64bit version of Raspberry Pi OS.

If you’re planning to use an Intel/AMD based PC you should download and install the equivalent Linux distro (Debian) for your x86 (although if I have tested this procedure also on OpenSuse Tumbleweed and it’s the OS that works best for the purpose, given you get the absolute latest Linux Kernel while we can use it to support older versions of services like Samba).

If you’re wondering if you can use Microsoft Windows for this, the answer is NO, you have to use Linux (or BSD). The reason why I strongly discourage from using Windows for this project is simple:

a) Modern Windows no longer support old SMB versions and, in the few cases they do, by lowering the SMB version to SMBv1 (which is required by most vintage and retro-computers) you’ll open security holes on your Windows machine.

b) Also using Linux combined with SMBv1 will open a potential security hole, but on Linux (or BSD):

– We can (later) execute Samba in a chrooted environment and using lower privileges for it

– We can set specific SELinux policies to restrict what can be done with Samba

– We can increase security by forbidding the RISC OS/Amiga/OS/2 user (for example) from having console login access on the server system

– We can also set the shared-files partition as non-executable on the host system

– If needed we can also execute Samba inside a container

All of this (except the container point) is something that Windows can struggle to achieve. So, your best option is to use Linux for this project (or BSD if that’s your cup of tea!).

c) You could try to use WSL for Windows 10 or 11, using the Debian Linux subsystem, that may work, but not sure how well, I haven’t tested it yet.

Here you can find your copy of Raspberry Pi Imager (an easy to use tool to create SD and that works on Linux, Windows and MacOS included macOS for M1):

https://www.raspberrypi.com/software/

Download it and then install it on your Windows, Linux or macOS system.

Before you run Raspberry Pi Imager, make sure your firewall allows it to connect to the internet and pull down the list of available OS when you’ll launch it (normally there shouldn’t be any problem). The Imager will pull down a list of the latest available OS to image on your SD card the moment you’ll run it.

If you need to download the 64bit version of Raspberry Pi OS and it doesn’t shows it at the top of the list that appears when you click on “Choose OS”, then click on the option “Others”, you’ll find it there.

The link above also has instructions on how to install the OS on an SD card, so I will not add redundant instructions here.

When you have downloaded and imaged Raspberry Pi OS on your SD card, take the SD card and plug it into your Raspberry PI (Server) and boot it up. The first boot will be slow, this is because the PI OS will expands on your SD to its max size, so be patient.

There should be a guided initial configuration, I strongly suggest to follow it (at the end it will also update your OS to the latest packages releases!) and ensure your RPi is configured correctly, this will avoid problems later on. When completed this step, some Pi may need to update their firmware, this is a good moment to do it. If you need to upgrade the firmware on your Pi, open the terminal and run (without the $ symbol):

 rpi-update

Respond yes when asked and wait until it’s done. When it’s done you MUST reboot your RPi with:

 sudo reboot

Next, we need to install the compiler and build tools, we’ll need them to compile Samba Server later on.

To install GCC and all other required tool, open again the terminal and run:

 sudo apt install build-essential

And then check which version of GCC you have installed with:

 gcc --version

In my case I had the build-essential already installed, but it’s always worth checking!

Building Samba Server

Next, we need to download the correct Samba Server release for what we want to achieve here. Normally one would simply install Samba from the Debian repository for Raspberry Pi OS, but we are dealing with a retro OS like RISC OS which, at the time of writing this post, did not have modern and fully rewritten SMB client software, so we must use an older version of Samba Server to make everything work fine.

Which version we need to download depends on which minimal version of RISC OS we want to allow to connect to our server. For example:

  1. If you have:
    1. Very old RISC OS machines like Acorn RiscPC running RISC OS 4 or 3.71 or you use Virtual Acorn with RISC OS 4 (or RPCEmu again with RISC OS 4 etc.)
    2. Very old Amiga OS machines (2.x/3.x)
    3. Very old Windows Systems like 3.11, 95, 98
    4. Original OS/2 (all versions) – not for ArcaOS users
    5. then you’ll need to download Samba 4.11.5 (or earlier releases) otherwise your RiscPC/Amiga/Atari ST/MS-DOS/Windows 3,95,98 and OS/2 won’t be able to connect to your Samba Server!
  2. If instead you have:
    1. New RISC OS 5 machines like all the Raspberry Pis or the Titanium, mini.m, ARMX9, Pandaboard, Wandaboard, Rapido, Forte’, FAST, PineBook etc.
    2. Amiga OS 4
    3. Windows 2000 and XP
    4. then you can download Samba 4.11.17 (or even slightly more recent versions)

To get to the right Samba sources release we need to go to the link below:

https://download.samba.org/pub/samba/

Make sure you download the correct version for your setup:

  1. If you’re planning to connect your old RiscPCs then you should download version 4.11.5, not more recent versions. This is because the support for plain text passwords was removed after 4.11.5 from Samba Server and old RISC OS 4.xy only support plain text, so you’re forced to stick to this old version of Samba.
  2. If you’re planning to connect your RISC OS 5 only (so no RISC OS 4 or 3) then you can download a more recent version, but not too modern because you still need a version of Samba Server that supports NT1 protocol otherwise your RISC OS 5 won’t be able to connect.

If you’re worrying about security, there are ways to secure older versions of Samba and we’ll look into some of them later on in this post.

In this tutorial I am using Samba Server release 4.11.17.

To download and decompress the sources, follow the instructions below:

 mkdir samba 
 cd samba 
 mkdir 4.11.17 
 cd 4.11.17 
 wget https://download.samba.org/pub/samba/samba-pubkey.asc 
 gpg --import samba-pubkey.asc 
 wget https://download.samba.org/pub/samba/samba-4.11.17.tar.gz 
 gunzip samba-4.11.17.tar.gz 
 tar -xvf samba-4.11.17.tar

Next we need to install some dependencies to make sure samba can build on Raspberry PI OS and ARM:

 sudo apt install liblmdb-dev libgnutls28-dev libgpgme-dev libjansson-dev libcups2-dev libncurses-dev 

 sudo apt install libarchive-dev libacl1-dev libldap2-dev libpam-dev libtasn1-bin

If instead, you’ve decided to use a different server platform than the Raspberry Pi:

If you’re using Fedora/CentOS/RockyLinux/RedHat Linux then:

 sudo yum install lmdb-devel gnutls-devel libgpgme-devel libjansson-devel
 sudo yum install libarchive-devel libacl-devel ldap-sdk pam-devel

If, instead, you’re using OpenSuse:

 sudo zypper install lmdb-devel gnutls-devel libgpgme-devel libjansson-devel
 sudo zypper install libarchive-devel libacl-devel ldap-sdk pam-devel python310-devel

 sudo zypper install ncurses-devel avahi-devel libtirpc-devel

Please note: On OpenSuse you may also need to create a symlink for python310-config to python-config. If you get an error that python-config cannot be found then try: sudo ln -s /usr/bin/python3-config /usr/bin/python-config

If you’re using Ubuntu or Debian, then the info for the Raspberry Pi OS should be fine, try those.

Quick note: If you wish to use this instance of Samba to provide Apple’s Timemachine backup services for your mac and you ALSO wish it to support Apple Spotlight services, then you need to install also flex, bison and Gnome Tracker packages and then add --with-spotlight option to the configure command below. Unless you have a mac and you really want to use this Samba as a Timemachine with Spotlight services for it, I strongly discourage from enabling spotlight support.

When done, we need to configure the sources to build Samba as follow:

 cd samba-4.11.17

 ./configure

This may take a while depending on the speed of your system, be patient.

When the configuration of the sources has completed, let’s build Samba using:

 make -j 4 USE="-winbind"

This is going to take more time than the previous step, so it’s a good time to get a cup of coffee (or tea!).

Please note: If the make above fails on your system, and ONLY if it fails with the following error:

[2386/3815] Compiling nsswitch/nsstest.c ../../nsswitch/nsstest.c:140:13: 
error: ‘nss_setpwent’ redeclared as different kind of symbol 140 | 
static void nss_setpwent(void) | 
^~~~~~~~~~~~ In file included from ../../nsswitch/nsstest.h:53, 
...

Then your system needs a patch (that I made for you here) on a file called nsstest.c. Download my patch and place it just out of your samba-4.11.17 directory and apply it with the patch command as follow:

patch ./samba-4.11.17/nsswitch/nsstest.c -i ./nsstest.c.patch

Again, ignore this note (and also the patch) if you do not have the error above (or if you’re using a different version of Samba Server)!. My patch is only for 4.11.17, thx 🙂

Installing Samba Server

If your build complete successfully then it’s time to install your Samba Server, we do this as follow:

sudo make install

Next, add the appropriate search path for our “custom” samba to your Linux system profile with:

echo 'export PATH="/usr/local/samba/bin:/usr/local/samba/sbin:$PATH"' | sudo tee -a /etc/.profile

Please note: be careful with the above line it contains both single quote (‘) and double quotes (“), you must type both correctly!

And then type it on your console as well to make it work without having to reboot:

export PATH="/usr/local/samba/bin:/usr/local/samba/sbin:$PATH"

If this completes successfully, then let’s make sure Samba can find it’s libraries using the following command:

sudo ldconfig

Now let’s test it with:

smbd -V

If the version displayed is 4.11.17 (or the version you have decided to use), we are good and we can add the path above to the root user too and to our shell profile file so it will always be defined.

Checking and configuring systemd

Next, let’s create the systemd startup script for both smb and nmb services.

To do that use your favorite text editor and type (in the examples here I am using vi, you can use nano or whatever you prefer):

 sudo vi /lib/systemd/system/smb.service

And then add the following text indie of the file:

[Unit]
Description=Samba SMB Daemon
Documentation=man:smbd(8) man:samba(7) man:smb.conf(5)
Wants=network-online.target
After=network.target network-online.target nmb.service winbind.service

[Service]
Type=exec
NotifyAccess=all
PIDFile=/run/samba/smbd.pid
LimitNOFILE=16384
ExecStart=/usr/local/samba/sbin/smbd --foreground --no-process-group
ExecReload=/bin/kill -HUP $MAINPID
LimitCORE=infinity


[Install]
WantedBy=multi-user.target

Next, let’s do the same for nmb.service:

 sudo vi /lib/systemd/system/nmb.service

And then add the following content:

[Unit]
Description=Samba NMB Daemon
Documentation=man:nmbd(8) man:samba(7) man:smb.conf(5)
Wants=network-online.target
After=network.target network-online.target

[Service]
Type=exec
NotifyAccess=all
PIDFile=/run/samba/nmbd.pid
ExecStart=/usr/local/samba/sbin/nmbd --foreground --no-process-group
ExecReload=/bin/kill -HUP $MAINPID
LimitCORE=infinity


[Install]
WantedBy=multi-user.target

To make systemd aware of these two new files let run the following command:

 sudo systemctl daemon-reload

Finally let’s create the smb.conf file required for our needs.

To do that let’s open the file in your favorite editor (again I am using vi, but you can use whatever you prefer):

 sudo vi /usr/local/samba/etc/smb.conf

And then add the following to it:

[global]
        aio max threads = 4
        allow nt4 crypto = yes
        smb ports = 445 139
        usershare max shares = 100
        workgroup = WORKGROUP
        read raw = yes
        write raw = yes
        logon path = \\%L\profiles\.msprofile
        interfaces = lo eth0
        wins support = Yes
        map to guest = Bad user
        bind interfaces only = yes
        preferred master = <yes if this is the only Samba server on your network, otherwise no>
        local master = <yes if this is the only samba server on your network, otherwise no>
        domain master = <yes if this is the only samba server on your network, otherwise no>
        os level = 65
        ;include = /usr/local/samba/etc/dhcp.conf
        netbios name = <NAME-OF-YOUR-SMB-SERVER>
        additional dns hostnames = <dns-name-of-your-smb-server>
        logon home = \\%L\%U\.9xprofile
        usershare allow guests = No
        getwd cache = yes
        cups options = raw
        name resolve order = lmhosts host wins bcast
        security = user
        server min protocol = LANMAN1
        server max protocol = SMB3
        logon drive = P:
        client min protocol = LANMAN1
        client max protocol = SMB3
        lanman auth = yes
        client plaintext auth = yes
        client lanman auth = yes
        ea support = yes
        vfs objects = fruit streams_xattr
        fruit:aapl = yes
        fruit:metadata = stream
        fruit:model = MacPro
        fruit:posix_rename = yes
        fruit:veto_appledouble = no
        fruit:wipe_intentionally_left_blank_rfork = yes
        fruit:delete_empty_adfiles = yes
        fruit:nfs_aces = no
        enhanced browsing = yes
        printcap cache time = 750
        dns proxy = yes
        dns forwarder = <IP-of-your-local-DNS-server>
        passdb backend = smbpasswd
        ldap admin dn =
        log level = 5
        debug level = 5
        server string = <write-a-comment>

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

[profiles]
        comment = Network Profiles Service
        path = %H
        read only = No
        store dos attributes = Yes
        create mask = 0600
        directory mask = 0700

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /usr/local/samba/drivers
        write list = @ntadmin root
        force group = ntadmin
        create mask = 0664
        directory mask = 0775

[public]
        valid users = @users
        browseable = yes
        writeable = yes
        read only = No
        path = <path-to-your-public-directory>
        comment = The public Place
        invalid users = nobody
        follow symlinks = no
        public = yes
        guest ok = No
        inherit acls = Yes

[sources]
        directory mode = 775
        create mode = 774
        create mask = 0775
        invalid users = nobody
        valid users = @users
        force create mode = 774
        path = <path-to-your-riscos-sources>
        writeable = yes
        read only = no
        force directory mode = 775
        comment = The Sources!
        follow symlinks = no

I made the above configuration so that if you have an Apple Mac you can connect on your Samba on your Raspberry Pi.

Please note: Replace all the <text> in the file above with the details of your installation!!!

Due to some issues caused by old versions of !OmniClient on RISC OS, if you want to allow your old RiscPCs or your A7000 to connect (as well as some old Amiga SMB clients too), basically some old releases of !OmniClient and Amiga clients sends empty (null) passwords, you’ll need to allow guest user login and comment out tags like “valid users” and “invalid users“, and also make sure you chmod 777 the directory you want the RiscPC/AmigaOS/A7000 to be able to access and do not specify a user and a password to connect (that will automatically identify those clients as guest users).

Here is an example of resource configured to allow these very old clients to connect as guest:

[sources]
        directory mode = 777
        create mode = 777
        create mask = 0777
        ;invalid users = nobody
        ;valid users = @users
        force create mode = 777
        path = /home/sources
        writeable = yes
        read only = no
        force directory mode = 777
        comment = The Sources!
        follow symlinks = no
        guest ok = yes

This is extremely insecure, but there seems to be no other way for the oldest of the clients. It is NOT required for !OmniCLient on RISC OS 5.

Next, let’s start our server with:

 sudo systemctl start smb nmb

And, if no errors are displayed, let’s add our first user:

You can create your RISC OS user in Linux with (in this example I am creating a user called rousr = RISC OS User):

 sudo useradd -g users -m rousr

Please note: make sure the user is added to the user group “users”, you can do that by checking the file in /etc/group

Set a password for it with:

 sudo passwd rousr

And finally add it to your Samba with

 sudo /usr/local/samba/bin/smbpasswd -c /usr/local/samba/etc/smb.conf -a rousr

Finally let’s verify it’s working with

 smbclient -L <name-of-your-raspberry-pi>

Please note: If you do not have smbclient installed, then you can install it with

On debian/Kali/Ubuntu

sudo apt install smbclient -y

On Fedoare, RedHat, Centos, Rocky Linux

sudo yum install smbclient -y

It should ask you for your user password and it if exists on the server (which, well it should!) then it should return an output as the following:

WARNING: The "lanman auth" option is deprecated
Enter WORKGROUP\user's password:

        Sharename     Type     Comment
        ---------     ----     -------
        profiles      Disk     Network Profiles Service
        users         Disk     All users
        print$        Disk     Printer Drivers
        public        Disk     The public Place
        sources       Disk     The Sources!
        IPC$          IPC      IPC Service (Let's code!)
Reconnecting with SMB1 for workgroup listing.

        Server Comment
        --------- -------

If it does, then we are good and make sure SMB1 is enabled, because that is what we’ll need to use with the Retro systems 🙂

Please note: If it doesn’t, so, for example, you get something like the following:

WARNING: The "lanman auth" option is deprecated
do_connect: Connection to <your-pi-address/name> failed (Error NT_STATUS_CONNECTION_REFUSED)

Then:

  1. Check if your local DNS can resolve your raspberry pi name (this is normally your router, if you do not have a dedicated DNS server). If it can, then try again with the name of your pi with the full domain that your DHCP assign to the hosts on your network (this is normally .local), if it still doesn’t work try with the IP of your PI and if also this doesn’t work, try with the localhost ip: 127.0.0.1. This will tell you if your Samba server is working and you have othe rnetwork configuration issues.
  2. Check your firewall on Linux, if it’s running, then check if the following ports are opened: 139, 445
  3. Also check again if both your smb and nmb service are running, if they are not running then try the following command and then try the smbclient again:
      sudo systemctl restart smb nmb

Ok, last bit to do is to configure smb and nmb services to start automatically at boot, we can do that by running:

 sudo systemctl enable smb
 sudo systemctl enable nmb

If you are using a Raspberry Pi on Raspberry Pi OS, then there is one more step you need to do at this point if you want Samba to boot up fine at every reboot of your Raspberry Pi.

That step is to enable (using raspi-config utility) to wait for network initialisation at boot. To do so, from the command line type:

sudo raspi-config

And then go to “System Options” and then go down and select “Network at Boot”. This is required otherwise Raspberry Pi OS will boto Samba BEFORE your network card has aquired an IP address and that will cause problems to yoru Samba Server at boot.

Install and configure Avahi Daemon (Bonjour Protocol for Apple Mac clients)

Next, we’ll add and configure avahi daemon so that your Mac can see your RPi, if you do not have a mac you can skip this section.

For Raspberry Pi OS, debian Raspian, Ubuntu:

 sudo apt install avahi-daemon

If, instead, you are using RedHat, Fedora, Scientific Linux, Rocky Linux:

 sudo yum install avahi-daemon

For OpenSuse and OpenSuse Tumbleweed is

 sudo zipper install avahi-daemon

Then we need to add/edit a file as following, again use your favorite Linux text editor for this, I used vi in the example:

 sudo vi /etc/avahi/services/rpi-smb.service

And add the following:

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>

<name replace-wildcards="yes">rpi-smb</name>

<service>
<host-name>rpi-smb.local</host-name>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record value-format="text">model=RackMac</txt-record>
</service>

</service-group>

Remeber to replace rpi-smb in both host-name and name tags with the name of your server!

And then restart avahi daemon with:

 sudo systemctl restart avahi-daemon

In case your avahi is not enabled at boot, enable it with:

 sudo systemctl enable avahi-daemon

Your Apple mac should now be able to see your Raspberry Pi and should be able to access the shared directories we have configured previously.

If your mac doesn’t see your Pi then check if your Linux is running a firewall, if it is then check if UDP port 5353 is opened, if not then open it.

Install and configure WSD Services (for Windows 8, 10, 11 etc clients)

Older versions of Microsoft Windows prior Window 8 should already be able to see your Raspberry Pi (so if you are using one of those then skip this section). However, newer versions will not and this is because Microsoft has replaced the old netbios name resolution with a better approach. Worry not, we can add that to Linux using WSD, so let’s do it.

First let’s download WSD latest version with:

 wget https://github.com/christgau/wsdd/archive/master.zip

Next let’s unzip it with:

 unzip master.zip

And finally let’s install and configure it with:

 sudo mv wsdd-master/src/wsdd.py wsdd-master/src/wsdd
 sudo cp wsdd-master/src/wsdd /usr/bin

Let’s configure systemd startup script for it:

 sudo vi /etc/systemd/system/wsdd.service

And add the following:

[Unit]
Description=Web Services Dynamic Discovery host daemon
; Start after the network has been configured
After=network-online.target
Wants=network-online.target
; It makes sense to have Samba running when wsdd starts, but is not required
Wants=smb.service
[Service]
Type=simple
ExecStart=/usr/bin/wsdd --shortlog
; The following lines can be used for a chroot execution of wsdd.
; Also append '--chroot /run/wsdd' to ExecStart to enable chrooting
; AmbientCapabilities=CAP_SYS_CHROOT
ExecStartPre=/bin/mkdir -p /run/wsdd
ExecStartPre=/usr/bin/install -d -o nobody -g nogroup -m 0700 /run/wsdd
ExecStopPost=rmdir /run/wsdd
[Install]
WantedBy=multi-user.target

Save and close and then reload systemd config with:

 sudo systemctl daemon-reload

And then let’s start it with:

 sudo systemctl start wsdd.service

If all goes well, now your Windows 8, 10 and/or 11 should finally see your Raspberry Pi network server 🙂

If you are using a firewall, then make sure it has port 3702 opened, of WSD service may not be reachable on your server!

Finally let’s enable autostart of wsdd at boot with:

 sudo systemctl enable wsdd

Configure !OmniClient (for RISC OS clients)

Ok, if everything is working so far, it’s finally time to create the mount point on your !OmniClient on your RISC OS machine.

First make sure you can ping your Raspberry Pi Server from your RISC OS machine, to do this on your RISC OS machine desktop, open a TaskWindow by pressing [CTRL] + [F12], and then in the TaskWindow type:

*ping <your-raspberry-pi-server-ip>

Check if the pings succeed and, if so, next, let’s see what we need to do to configure LMTransport correctly.

In the TaskWindow type:

*status

In the output of that command check if the option LMTransport is already set to IP, if not then set it so by using the following command:

*conf. LMTransport IP

Next, if you are using RPCEmu with NAT Network OR if you’re using WiFi dongle that NAT your RISC OS network connection with your Raspberry Pi Linux Server then make sure you also configure the following option:

*conf. LMNameServer <IP-of-your-raspberry-pi-server>

Please note: this last option is NOT available on old RiscPCs/A7k running RISC OS 3.xy or 4.xy.

The LMNameServer option will allow your RISC OS machine (even behind NAT network) to be able to reach the WINS Name Server on your Raspberry Pi server and so see directly the raspberry pi as a LanManager host. This option is very useful when running RISC OS on RPCEmu.

Ok, with that done, time to start your copy of !OmniClient and setup the first mount point!

Add your first shared directory to !OmniClient

So, on your RISC OS Desktop, find and run your copy of !OmniClient and then on click on its icon (on the icon bar) with the middle mouse button (menu button):

Screenshot 2023-03-07 at 3.46.40 PM

In the menu browse as follow:

Screenshot 2023-03-07 at 3.47.56 PM

Click on LAN Manager menu option

Screenshot 2023-03-07 at 3.49.05 PM

FIll the fields as you see above (obviously replace the info that you may have changed on your specific Samba configuration!)

If you want the shared Source window to open automatically then click on the option “Open”.

FInally click on “Connect” and if everythign is working fine you should have your shared Sources directory opened on your RISC OS system and ready to be used, here below an picture with havign created to test subdirectories in it.

Screenshot 2023-03-07 at 3.49.43 PM

Now, you’re ready. If you have watched the video about using Git on Linux with RISC OS, you could now connect with your !Nettle via ssh on yoru Raspberry Pi server, configure your Linux git client and start usign git with your RISC OS!

Feel like helping with Open Source project for RISC OS on GitHub? Here is our public repository always happy to receive help and voluteers to improve or produce more software for RISC OS!

https://github.com/RISC-OS-Community

Ok, that’s it for now, thanks for reading and I hope you’ve found some useful information here. If you enjoyed this post, please don’t forget to support my blog by:

  • Visiting my on-line hacking and engineering merchandise shop on redbubble.com by clicking here
  • Or you can also make a donation with the PayPal link in the column on your right
  • Or share this article

If you like my articles and want to keep getting informed on new ones you can follow me on on of those 21st Century thingies called FacebookTwitterInstagram or Pinterest

And as always if you have any questions please feel free to use the comments section below.

Thank you! 🙂

Leave a Reply or Ask a Question

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