• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Release of MacIPRpi 6.02

Thanks for putting this together! Rebuilding a new pi server and getting nowhere with Netatalk compile, switching to maciprpi hoping it is easier! Using a pi5 with 4tb nvme, I have a few questions:
- install image can’t be used for large nvme, due to the mbr format- limits to 2tb. Can installer be changed to ext?
- I’m using sd card for now for maciprpi/OS, the nvme for storage. I’d like to separate out samba and appletalk shares on the nvme, where do I set this config to point to the right places?
- I noticed the urls at the bottom of the front maciprpi page have a typo, can’t follow links. Where can I go to correct this html file?
 
@opualuan not to hijack the thread, but we're a friendly community that can help with netatalk compilation problems too.

One option is to head over to the netatalk project GitHub Discussions section and start a new Q&A thread.

The netatalk wiki has a range of OS specific guides as well that can be helpful for unblocking yourself.
 
Thanks for putting this together! Rebuilding a new pi server and getting nowhere with Netatalk compile, switching to maciprpi hoping it is easier! Using a pi5 with 4tb nvme, I have a few questions:
- install image can’t be used for large nvme, due to the mbr format- limits to 2tb. Can installer be changed to ext?
- I’m using sd card for now for maciprpi/OS, the nvme for storage. I’d like to separate out samba and appletalk shares on the nvme, where do I set this config to point to the right places?
- I noticed the urls at the bottom of the front maciprpi page have a typo, can’t follow links. Where can I go to correct this html file?
Thanks for your compliment! This is what I always try with the MacIPRpi project. Must work right out the box.

About nvme and ext. That is some special challenge. I have been reading some interesting things on these two sites:



The image you download from www.macip.net is for SD card.

About the Samba and AFPD config. You can find them here:

Samba: /etc/samba/smb.conf
AFPD: /etc/netatalk/afp.conf

Yes! You are right.... some typo's in the bottom URL. Will fix this in an update, but for now you can edit:

Code:
/var/www/html/index.html
 
Working on retiring my MacIPRpi 5 home retro server in favor of a "new" MacIPRpi 6 one. Have them set up in parallel at the moment and pretty much everything moved over and working with one cosmetic thing bugging me, the AppleTalk share name and icon. Not sure how to control the name/capitalization or the icon that is used, I prefer they way it looked before...

netatalk_icon_75.jpg

Netatalk_icon_86.jpg

With my old MacIPRpi 5 server the icon appears to be "more native" to the client (color under Mac OS 8.6) and the share name is mixed case. With the MacIPRpi 6 server the client seems to be using an older style icon and the share name is lower case.

I did upgrade my MacIPRpi 6 server Netatalk install to 4.3.1, is there something in afp.conf that can control this?

Code:
root@maciprpi6:/etc/netatalk# cat afp.conf
[Global]

; information about config
; https://netatalk.io/4.0/htmldocs/afp.conf.5

; Set the server name that appears in the Chooser
server name = MacIPRpi6
mimic model = Macintosh
appletalk = yes
; add "uams_dhx2.so" as well for modern macOS clients.
uam list = uams_guest.so,uams_clrtxt.so,uams_dhx.so,uams_dhx2.so
log file = /var/log/afpd.log

; log level normal
log level = default:info

; debug or different: loglevels: severe, error, warn, note, info, debug, debug6, debug7, debug8, debug9, maxdebug
; log level = default:maxdebug

[Homes]
basedir regex = /home

[MacIPRpi DISK]
path = /AppleShare
time machine = no
vol charset = UTF8
valid users = guest,@users,nobody

; Deprecated: These permission settings are buggy and not recommended.
; file perm = 0640
; directory perm = 0750

Any thoughts/assistance would be greatly appreciated!
 
I can address both of these. The volume name has an easy solution: Put a "volume name = My Volume" line in the volume definition to get case sensitive volume names. The netatalk 4.2.0 release notes talks about the reason for this change.

Regarding the volume icon: In previous versions, the netatalk source code contained a byte for byte copy of Apple's original ICON resource that you see when mounting an AppleShare volume. I replaced that with the redrawn ICON that you see now, to remove proprietary copyrighted data from the open source package. Thank you for your understanding. :)
 
Regarding the volume icon: In previous versions, the netatalk source code contained a byte for byte copy of Apple's original ICON resource that you see when mounting an AppleShare volume.
This seems as good a place as any to link to this old blog post I wrote -- any corrections to it are welcome! -- if only to be able to re-use this image :)

Screenshot 2025-08-31 at 3.12.38 PM.png
 
I can address both of these. The volume name has an easy solution: Put a "volume name = My Volume" line in the volume definition to get case sensitive volume names. The netatalk 4.2.0 release notes talks about the reason for this change.

Regarding the volume icon: In previous versions, the netatalk source code contained a byte for byte copy of Apple's original ICON resource that you see when mounting an AppleShare volume. I replaced that with the redrawn ICON that you see now, to remove proprietary copyrighted data from the open source package. Thank you for your understanding. :)

Thanks for the reply, I should have found the "volume name" thing, doh! The Netatalk progress has been amazing, I did find the answers to so many of my questions in the docs (got Webmin working for example), thank you for all your hard work!

On the icons I totally get it, makes sense (even if I wish it was otherwise). Question though, if the server didn't provide an icon would the client use an OS default icon? Possible workaround to including proprietary copyrighted data, but the client displaying the pretty/color Apple icons?

Code:
root@maciprpi6:/AppleShare# asip-status 192.168.1.23
AFP reply from 192.168.1.23:548 via IPv4
Flags: 1  Cmd: 3  ID: 57005
Reply: DSIGetStatus
Request ID: 57005
Machine type: Netatalk4.3.1
AFP versions: AFP2.2,AFPX03,AFP3.1,AFP3.2,AFP3.3,AFP3.4
UAMs: DHX2,DHCAST128,Cleartxt Passwrd,No User Authent
Volume Icon & Mask: Yes
...

A way to set "Volume Icon & Mask" to "No"? 🤞
 
Last edited:
This seems as good a place as any to link to this old blog post I wrote -- any corrections to it are welcome! -- if only to be able to re-use this image :)

View attachment 90625
Very Interesting! One thing though, from my screenshoots above it looks like Mac OS 8.6 is displaying the custom icon from the AppleShare volume (not ignoring it in favor of the Finder's own default icons). Maybe Mac OS 8 unintentionally did this (bug that was subsequently fixed)? Or was this in Mac OS 9 maybe? I can def see Mac OS X and forward ignoring AppleShare volume icons...
 
Huh, that is interesting -- could depend on the version of the AppleShare client as well, I suppose?
 
@pl212 It's a great blog post, thanks for sharing! I read it a a while ago. :)

The change in Netatalk v4 is that I removed the two leftmost icons from icon.h, and added these two that I drew. The top one is the new default, and the bottom can be activated with "legacy icon = sdcard".

The rest of the icons are still available in Netatalk v4, but rather than attempting to detect the OS of the host system, can now be freely selected with the legacy icon option with "sunlogo", "declogo", "daemon", "hagar", and "globe", respectively.
1756704056869.png

Screenshot 2025-09-01 at 7.29.27.png
 
Last edited:
Thanks for the reply, I should have found the "volume name" thing, doh! The Netatalk progress has been amazing, I did find the answers to so many of my questions in the docs (got Webmin working for example), thank you for all your hard work!
You're welcome! Please let me know if you have any suggestions how to improve the docs or the software.

On the icons I totally get it, makes sense (even if I wish it was otherwise). Question though, if the server didn't provide an icon would the client use an OS default icon? Possible workaround to including proprietary copyrighted data, but the client displaying the pretty/color Apple icons?
I had the same thought at first! Unfortunately if you don't pass an icon to the AFP client you get exactly that: A volume without an icon. Just the volume name text on the desktop. What was Apple thinking. :D

For a while I played around with the idea of having netatalk read a user supplied bitmap file from the file system and use that for the icon. But I got lost in the intricacies of reading, decoding and interpreting arbitrary bitmap data in C. If you want a small coding project for yourself I happily accept contributions. ;)
 
Thanks for all the updates on this issue. I’m planning a small update in the coming weeks and will use these tweaks!
 
The change in Netatalk v4 is that I removed the two leftmost icons from icon.h, and added these two that I drew. The top one is the new default, and the bottom can be activated with "legacy icon = sdcard".

That jibes with what I see under Mac OS 8.6 but not 7.5, there I see the "leftmost" icon, not your new icon. Could this be because my 7.5 machine is doing AFP over AppleTalk and the 8.6 one is doing AFP over TCP/IP?
 
That jibes with what I see under Mac OS 8.6 but not 7.5, there I see the "leftmost" icon, not your new icon. Could this be because my 7.5 machine is doing AFP over AppleTalk and the 8.6 one is doing AFP over TCP/IP?
I have observed that certain AppleShare Client versions ignore the server supplied icon and always uses the default one from the client’s resource fork. Haven’t mapped out exactly which ones behave like this though.
 
This is one of the most useful projects for my vintage computers at home, absolutely fantastic. It is the central hub in my network for basic filesharing and bringing everything together. Thanks @mactjaap !

Three questions,
  • I'm considering moving from my pi to a proxmox vm. It has more storage, is faster and saves me another bunch of wires on my desk. Is the vm version equal to the pi version in terms of versions and software?
  • With a few nice UNIX boxes I use NFS a lot, would be a great feature to have 'out of the box' as well. With CIFS / AppleShare / FTP / NFS I'm all set for everything!
  • Being able to do an "update-all" would be a fantastic feature. I'm no expert on package management but I'm assuming building one main "MacIPgw" package could trigger the dependant packages (Netatalk, etc.) and related config files. I'm happy to help if you have a description on how you "build" the release.
cheers!
 
This is one of the most useful projects for my vintage computers at home, absolutely fantastic. It is the central hub in my network for basic filesharing and bringing everything together. Thanks @mactjaap !

Three questions,
  • I'm considering moving from my pi to a proxmox vm. It has more storage, is faster and saves me another bunch of wires on my desk. Is the vm version equal to the pi version in terms of versions and software?
  • With a few nice UNIX boxes I use NFS a lot, would be a great feature to have 'out of the box' as well. With CIFS / AppleShare / FTP / NFS I'm all set for everything!
  • Being able to do an "update-all" would be a fantastic feature. I'm no expert on package management but I'm assuming building one main "MacIPgw" package could trigger the dependant packages (Netatalk, etc.) and related config files. I'm happy to help if you have a description on how you "build" the release.
cheers!
Thanks a lot for the compliments!

To give here in this thread a few answers. I will also PM you.

1) Move to a proxmox vm -> I did make special VM images with the same functionality (https://www.macip.net/macipgg-vm-3-0/ )... but these images are quite old now. I guess they will still work so you could give it a try.

2) NFS -> Yes very good idea! It must be doable to add, so I will research and if possible include it in an update.

3) Update-all. -> Hm. Not so simple. The image I make is more complete tuned OS with all the belles and whistles enabled. To rebuild this to an update all is not possible. I will try to do updates ... but that will be not so often. For the time being you are on your own to update individual programs.
 
How difficult is it to migrate docker images to proxmox? I ask, because it seems to me like a docker build would make a lot of sense here, and then could be scripted to build out a proxmox or other VM config from there. Then there'd only be the need to manage an ARM and an x86 config, and the custom patches etc. could be abstracted as docker scripts, making updating much easier.
But... I say all that recognizing that what @mactjaap has done (and for so long now) is a labour of love and custom fine tuning -- so I'm not asking YOU to abandon the techniques you've used for years at a whim -- but someone interested in the project might want to take your work and abstract it in this way.

To explain #3 to others who haven't been following the project since its inception... the projects this depends on don't tend to do "clean upgrades" -- and sometimes mactjaap has had to start over from scratch with a new config or even new piece of software when making improvements, to provide the feature set needed over time. As such, even doing a base OS update tends to break things that have been carefully balanced to provide just what older Apple devices need to have stable but feature-rich networking.
 
It's not a bad idea to have something like podman running on a proxmox hypervisor, and then container based deployments of all relevant software components. Gives you a nice abstraction layer with automation for configuration and deployment of individual components.

Netatalk is obviously already proven to work well containerized. The challenge would be to either track down or create Dockerfiles for all of the other ones.
 
Back
Top