Eugene Grosbein
2020-Sep-01 02:20 UTC
Cannot find announcement that min supported i386 CPU is now i686
01.09.2020 6:50, Charles Lecklider via freebsd-stable wrote:> On 2020-08-31 21:51, Christoph Moench-Tegeder wrote: >> Given that the hardware notes >> https://www.freebsd.org/releases/11.4R/hardware.html#proc-i386 >> explicitely claim 80486 compatibility, I'd guess this was not a >> consciuous decision but a blunder which wasn't caught > > Hmm.... I'd assumed that each release was at least *booted* on a real > 486, but obviously not. > >> (perhaps as >> hardware of that vintage is getting rare these days. That box >> must be old enough to buy alcohol by now?). > > Yes, I first built it in 1998 IIRC; it ran Windows for a few years > (desktop, gaming) then FreeBSD from about 2002. It's been in nearly > continuous operation since, although I did have to replace the PSU last > year ;-)Just for the record, I still run AMD Geode-based FreeBSD 11.3-STABLE as my home WiFi Access Point. This fanless system has 500Mhz 32-bit only i586-class CPU, 1GB RAM (no swap), two 100M wired NICs vr0/vr1 onboard and Atheros 5212 ath0 wireless mini-PCI card (not PCI-E) that supports multiple WLANs. It has CompactFlash slot for ada0 occupied with 16GB CF card at boot device (nanobsd, r/o mounted) plus ada1 2.5" PATA HDD WDC WD2500BEVE (250G) as additional storage. Until recently is also served as PPPoE client (mpd5 kernel level) for uplink with ipfw nat being able to saturate 100MBit/s uplink connection despite of NAT+PPPoE overhead. CPU: Geode(TM) Integrated Processor by AMD PCS (499.91-MHz 586-class CPU) Origin="AuthenticAMD" Id=0x5a2 Family=0x5 Model=0xa Stepping=2 Features=0x88a93d<FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CLFLUSH,MMX> AMD Features=0xc0400000<MMX+,3DNow!+,3DNow!> Of course, its NanoBSD image is built with CPUTYPE=i586 as well as installed packages.
Charles Lecklider
2020-Sep-13 21:30 UTC
Cannot find announcement that min supported i386 CPU is now i686
On 2020-09-01 03:20, Eugene Grosbein wrote:> CPU: Geode(TM) Integrated Processor by AMD PCS (499.91-MHz 586-class CPU) > Origin="AuthenticAMD" Id=0x5a2 Family=0x5 Model=0xa Stepping=2 > Features=0x88a93d<FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CLFLUSH,MMX> > AMD Features=0xc0400000<MMX+,3DNow!+,3DNow!> > > Of course, its NanoBSD image is built with CPUTYPE=i586 as well as installed packages.You've got CMOV so you'll be fine with 11.4-RELEASE, whereas I don't: CPU: Pentium/P55C (232.68-MHz 586-class CPU) Origin="GenuineIntel" Id=0x543 Family=0x5 Model=0x4 Stepping=3 Features=0x8003bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,APIC,MMX> Getting 11.4 to work has been a *major* undertaking: Setting CPUTYPE in `make.conf` doesn't set -march for the kernel build tools, so while you can compile world and kernel for i386, you can't actually link it to create a working kernel on a real i586 (I found that out with `/usr/obj` and `/usr/src` mounted over NFS). clang is hypersensitive to command line arguments - if you just fiddle with CFLAGS etc you'll get a duplicate -O2 and/or -march and that results in a kernel/world that can't build itself (ZFS wedges). You must set NO_CPU_CFLAGS= and then each of CFLAGS/CXXFLAGS/COPTFLAGS. Don't try -Os or -Oz (which really do help on a real i586) - ZFS will wedge quickly. 11.4 i386 doesn't honour `vfs.zfs.arc_max` in any meaningful way resulting in one of the `find`s in periodic security wedging ZFS. By ZFS wedging I mean something gets stuck on zio->i having eaten all of kmem (I presume - on the real i586 I expect ~200M in ARC would do that and that's what `top` shows) and that's it for the machine - it doesn't panic, but there's no more disk IO either. This also happens in VirtualBox with 4GB RAM, so it's not a hardware problem. To get 11.4 to behave itself (and it's only been 72 hours so still early days) I've had to set: options KSTACK_PAGES=4 and kern.maxvnode="1024" vm.kmem_size="330M" vm.kmem_size_max="330M" vfs.zfs.arc_max="125M" vfs.zfs.arc_meta_limit="16M" I had to set kmem for 11.3 but not the rest. TL;DR: I'd avoid 11.4 i386 as it doesn't appear to have been tested on i486/i586 at all. Unfortunately I'm not sure 12 is an option yet either - 12.0 chokes on my SiI3124 SATA controllers, and I've yet to compile 12.1 to test (RELEASE has the same problem as 11.4). -C