Up-to-date distros supporting 32-bit i586/non-PAE, specifically for ALIX boards (AMD Geode) [closed]
I have several ALIX systems (powered by the AMD Geode LX processor without PAE support) that are still running on Ubuntu 12.04, the last Ubuntu-Release to supports non-PAE kernels (i.e. compiled for the i586 architecture). I use them as low-profile, general purpose (internal) servers (SSH, file serving, cron jobs, small web apps), which is why I chose Ubuntu in the first place. Since 12.04 is EOL, I am looking for alternatives but I have not found one, yet. Even the OSes listed on the manufacturer's site seem mostly outdated or special-purpose. The only options seem to be:
- Alpine Linux (THIS!, see updates)
- Slackware, last release in 2016-06 and active patches (though I'm unsure about the non-PAE-support of the current version 14.2)
- Voyage Linux, last release in 2017-01, some parts of the site seem defunct
- Keep Ubuntu 12.04 and simply ignore the EOL status
Are there any field reports/recommendations regarding Linux distributions of other ALIX users that face the same problem?
Edit: Status quo as of 2018-03-04
After being deedless for a while, I have also been experimenting with Slackware lately. I think it will take some time to become a fan if you are used to popular Linux distrubtions like Debian/Ubuntu and CentOS/RHEL, but it is IMHO the best way to keep my ALIX systems alive. For me, the most prominent drawbacks of Slackware (that I learned so far) are
- the missing dependency management of the package manager and
- having to deal with init scripts again after using
upstart
andsystemd
for half a decade now.
This will require some tedious work to get everyting up and running, but who am I to complain ;)
Update (23.11.2020)
Since this is now a "famous question" and I did some further digging: Alpine Linux supports non-PAE processors and runs perfectly fine on my ALIX.1D.
You're right that non-PAE i586 options are dwindling in the Linux family. Fortunately from my testing today, Slackware 14.2 (32-bit) works fine on my ALIX 2d13 board. It's patchable and has good ALIX support.
Installation is the same as for any semi-embedded platform. Theoretically, the ALIX boards support PXE installations, but I just used QEMU (qemu-system-i386
) with a 4G virtual drive, booted the basic 32-bit Slackware install disc 1 from virtual CD-ROM, used slackpkg
to patch the OS, install various additional packages. I did some additional configuration, and then used dd
to write the image to my 4G compact flash. 4G is the smallest I'd go; it would be tight to get a full OS install on a smaller card.
For non-PAE, during Slackware setup, choose the "expert/menu" package option, and deselect all of the SMP kernels. The remaining kernels do not require or try to use PAE. Since the ALIX boards only have 256M of RAM, you might want to choose the non-'huge' generic kernel and leave out the 'huge' kernel, and then enable kernel modules as needed in /etc/rc.d/rc.modules.local
. (Note that I didn't need to do that for any of the native ALIX devices.)
Note especially that the Geode hardware crypto features are automatically detected and used, which is nice:
[ 7.527411] AMD Geode RNG detected
[ 7.679201] Geode LX AES 0000:00:01.2: GEODE AES engine enabled.
You'll want to follow the Slackware instructions for serial-port setup, which worked like a charm for me (using the lilo-based setup, anyway, and 38400).
Here's a full console-level dmesg of my initial Slackware setup (with some gpsd and NTPsec ntpd added, which was the goal of today's project).
Beyond Linux, the BSDs should also work fine. Since pfSense is based on FreeBSD and has run very well on the ALIX boards for years, FreeBSD would be a solid choice. I installed FreeBSD i386 11.1 on my ALIX using a similar QEMU method. (But I eventually chose Slackware because I can get kernel PPS for NTP without having to recompile the kernel - just had to enable the pps_ldisc
module). To get the same outcome on FreeBSD, I have to compile a custom kernel. To work best on ALIX, the kernel CPU_GEODE
option and I586_CPU
cpu type should also be used in the kernel config.)
But for general server purposes, either Slackware or a BSD should work fine.
Bodhi Linux has a 32.bit non-PAE they call "legacy" you can download it here : http://www.bodhilinux.com/download/
It is up-to-date Ubuntu as far as I can tell.
I'm using it to type this but from an older install from Ubuntu 14.04.5 lts.
antiX has worked like a charm for me on an ancient Pentium M(non-pae) laptop. Amazing config options and very low on resources, I'm pretty sure it would work on a 20-year old Pentium I.
https://antixlinux.com/