Table of Contents

About

MorphOS has built-in support for mounting Samba shares but cannot serve files over Samba itself. However, there is a Samba package for MorphOS dating back to 2007 that should work fine. The following guide is based off a German board post and documents how a Samba server could be setup on MorphOS.

Requirements

Setting up Files

The first step is to download the Samba 3.0.4 MorphOS package and unpack it to RAM:. After that, download the MorphOS Samba update package and unpack it to RAM:. The second package just contains a binary called samba-upd-morphos that must be copied to RAM:samba/sbin/smbd.

After that, a location should be chosen where a folder can be created to host the Samba install. For example, SYS:Tools/AmiTCP could be the folder hosting the Samba install so now copy the samba folder from RAM: to SYS:Tools/AmiTCP:

copy all clone RAM:sam#? SYS:Tools/AmiTCP

Now, edit S:user-network-startup and add the following line:

assign amitcp: SYS:Tools/AmiTCP

This line is for Samba but for all software that uses ixemul.library, that is, the Unix-Amiga emulation library that takes care of resolving assets between Unix and the Amiga such as drive letters, paths and shell escape sequences.

Creating Guest User and Group

Now a guest user has to be created that will be allowed to browse shares. For that, access the menu Settings -> System... and click the icon looking like a yellow key. Change the tab first to users and set up a user named pcguest as follows.

then, switch to the groups tab and set up a group named pcguest as follows.

Setting up Inetd

Inetd will be running the smbd, respectively nmbd services on demand and the services have to be added. For that, change directory in a shell to ENVARC:sys/net and edit inetd.conf in order to append the two following lines:

netbios-ssn stream tcp nowait root amitcp:samba/sbin/smbd smbd
netbios-ns dgram udp wait root amitcp:samba/sbin/nmbd nmbd

that set up two services netbios-ssn for streams and netbios-ns for Samba datagrams.

Note that if the guide has been followed correctly, both amitcp:samba/sbin/smbd and amitcp:samba/sbin/nmbd excusables should exist. It's easy to test, perhaps by opening another shell and then writing:

list amitcp:samba/sbin/smbd

respectively

list amitcp:samba/sbin/nmbd

to check that the files exist.

Now, the services must be allowed by the ancient host/deny security mechanism from Unix that Amiga via ixemul.library supports. In order to do that, edit the file inet.access in ENVARC:sys/net and add at the end:

netbios-ssn	*.*.*.*				allow		
netbios-ns	*.*.*.*				allow		

Configuring Samba

The last step is to configure Samba itself and add some shares by editing AmiTCP:lib/smb.conf to match the following configuration:

[global]
workgroup = WORKGROUP
netbios name = COMPUTER_NAME
server string = COMPUTER_NAME
security = SHARE
log file = /amitcp/Samba/log/log.%m
max log size = 500
load printers = No
local master = No
guest account = pcguest
guest only = Yes
guest ok = Yes
map to guest = Bad User

[ram]
comment=ram
path = /ram/
public = yes
writable = yes
printable = no
browsable = yes
guest ok = yes

where:

This configuration will allow anyone to access the RAM disk-drive of the Amiga MorphOS via the network without being prompted for credentials.

It is of course possible to edit AmiTCP:samba/lib/smb.conf and extend the number of shares just by duplicating:

[ram]
comment=ram
path = /ram/
public = yes
writable = yes
printable = no
browsable = yes
guest ok = yes

and specifying a different path instead of /ram/, for example /dh1 for the first SYS: boot-drive.