Thanks Piku for starting this project, I too have been looking at something similar (many times) in the past, and I am building RPi server to do it now (saving for 10-12Tb sata => usb drive atm), my eventual solution will be RPi cross-build farm (16+) and public interface to upload random build projects, including .deb's & .rpm
Recap of thread (alot of this info came from AFROS-update work from 2009+):
init, bash & sh
to speed up `init` (and anything that uses `bash`, like `make`) and reduce failures due to memory limits, a MiNT installation needs to be set up to run with the cut down versions of both 'bash' & 'sh' (no internals, no completion, no history, non-interactive) as default, whereas your desktop link is to `bash.full`, the version that has everything.
this means a very much expanded '/bin', '/sbin', '/usr/bin', '/usr/sbin'. you need to have the file versions of 'test', '[' and 'echo', plus file versions of what is nowadays usually internal to full bash (gnu version of echo). I used CygWin technique in 'mint.cnf' soft linking (sln) '/usr/bin => /bin' '/usr/sbin => /sbin' and on "AFROS-update developers edition" (gone to the wind, sorry) '/sbin => /bin'. This makes '/bin' messy, but you can still use full package build and install without changes, and without full SpareMiNT, EasyMiNT, GentooMiNT. You need extras like sed, cut, tr, ls, cat, xargs, basically anything you can find in `configure` and `Makefile` files.
There is a tiny version of both 'sh' and 'bash' out there, but you can also link/copy (tiny) '/bin/bash => /bin/sh'. if desktop is setup properly to use tiny shells, it will reduce memory consumption alot. If the binaries are built for specifc CPU they will also be faster.
you can use 'include=another.cnf', and flip between different configs manually or with automation (same goes for 'xaaes.cnf' and 'myaes.ini') For AranyM there is fast network setup on AFROS-LiveCD, and it boots faster with 'Bootstrap=path/to/mintara.prg' instead of using "C:\AUTO\MINT040.PRG", plus it can have arguments and C: does not have to be boot drive.
.rpm & RPM
Code: Select all
;Bootstrap = mintara.prg
;BootstrapArgs = DEBUG_LEVEL=1 BOOT_DELAY=0 MEM_PROT=NO
;BootDrive = C
You have found Thotto RPM and later Python. The new version of RPM uses considerbly more memory and itself is much larger. In newer .rpm packages the scripts are not backwards compaible (one reason for his development). For modern packages I was going to just strip them back to be compatible with the older version of RPM (pre-Fedora). With AranyM either solution works, but I wanted a practical solution for real hardware where memory is scarce, to build for 4Mb ST/e as well, or 14Mb 68000 emu at full (host) speed.
There are still some old Sun RPM mirrors on the net (I lost all mine plus links, 250Gb), but the last one I found by accident with ftpsearch
, while looking for a version of GiMP from 1993-1995, note that would include GTK2. Anything from this era will compile with minimal effort. If you can find a list of (path) differences between Redhat and Debian from that time (or the RPM converter script - `alien`), then cross-building from .DEB to .RPM is easily done too (even by hand). It is then possible to `backport` newer software to MiNT with older libraries. You can also (but not always) find repos that contain older branches that will compile with minimal effort. I started MiNTed Games
(publisher) and Get MiNTed
(magazine) for that reason (there are still 3 games on an old x86 PC I have but cant use atm).
IRC & Discord, etc
Use a bridge, should be able to borrow the SGI IRC to Discord bridge if someone asks nicely. Same, I dont like alot of the newer ways of doing things, but I also saw (over time) a lot of older AtariST users who were now coming back as developers, but had forgotten everything AtariST/TOS/MiNT, so I am happy to have modern solutions for them to get started quickly. That was half the point of starting the AFROS-update project and the AFROS Devel
livecd version (had all modern developer tools, languages, IDE's, docs, emus, etc).
Build & Cross-builds
I currently have a Developers Edition of BeePi (that also includes an AranyM Safemode Boot option - I broke 'bash' via '/etc/profile'), that (will) include host side cross compilers (hope to get that installed this week). Eventually I hope to have 2 seperate ARM/RPi build farms that can also do m68k (besides i386, armv6, armv7, aarch64 and arm-eabi), one using distcc
and one that uses a different method that is faster for smaller projects, but that is some time away (mostly bucks to get the hardware). As soon as I have cross-build installed and working on BeePi, I will then build Buster AranyM with NF-HOST and NF-GL (compiled in and enabled) and do some other useful things with Atari Desktop (like Chromium in Window and YouTube video player). I would also like to provide Desktop widgets (like probhouse does) that allow easy access to new downloads and developer news (FreeMiNT, EmuTOS, MyAES, AHCC, GCC, etc), and one with Atari related forum notification and integration, and another one that is searchable and can tell you the latest version of any program or archive (or a combination of those 3)
Future For Me
Eventually I hope to get some native build tools working on pTOS
, which is currently lacking USB, FAT and Keyboard drivers. I believe I can do it already, but without keyboard they are not so useful. Also it is based on 192Kb EmuTOS ROM, and I would like to do a 512Kb ROM version (with languages). I also hope to build newlibc
as a ROM extension, to get around shared libraries problem and help with pTOS MiNT build (also build native SLB & LDG), as well as trying to come up with usable solution to allow Fork()
to another CPU core from Desktop. I finally have 4x HDMI KVM with RPi B, 2B+, 3B+, 4Gb RPi4B running, but BeePi only works on RPi2 atm (a Buster build will fix that). First up however is 10Tb or 12Tb SATA for Geekworm/Seeed 3.5" SATA RPi2 server (I have 3x RPi2B+). Then work towards 2x 16 RPi4 clusters each with some ClusterCTRL board (adds 3-6 RPi per unit, like ClusterHAT
), but that is a bucks thing so it will take a while. The main fileserver and any clustsers will be publically available on wired connection at fixed location, however I develop all this hardware and software from small 12v mobile home (I post photos when I have RPi, FireBee and AtariST logo on it).
For everyone else, build automation into your AtariST/TOS/MiNT presence on the net. Next time you pay for a domain, buy 10 years (not 12 months). Make it easier for someone to come pick up the pieces and continue later on.
Cheers and thanks for the hard work and persiverance