• Best practices for Debian longer term on 32-bit x86? ("i386")

    From Michael Paoli@3:633/10 to All on Thursday, February 26, 2026 02:20:01
    So, where there is need/desire to keep Debian running long(er) term on
    x86 32-bit ("i386") (e.g. Pentium class chips that are not at all
    64-bit), what's the best way to go about that?
    Recommendations/experiences?

    So, e.g. one could ...

    Stick with Debian 12 (the last released "i386" installable and kernels),
    and continue with that, now into oldstable, into LTS, then perhaps ELTS
    or self-support after that. Or ...

    Well, one of things I pleasantly discovered on Debian 13, is though it
    no longer supports i386 as installable nor provides i386 (686) 32-bit
    kernels, it does still have most everything else still available in i386 architecture. So, e.g. it is possible (I've done it now, at least for
    testing on some VMs), to have Debian 12, configure APT and suitable
    pinning, such that both Debian 12 and 13 are configured, everything
    prefers 13, except the kernels, and all but the kernel(s) is(/are)
    upgraded to Debian 13, and with that configuration, the Debian 12
    kernels also do still receive their (security, etc.) updates (through oldstable, and later LTS, maybe even ELTS). Meanwhile, all else is
    supported and current under stable{,-{updates,security}} (and likewise oldstable for the kernels). I'm also wondering how that's likely to
    play out going forward, as Debian 14, etc. are released. Could again,
    upgrade everything but the kernels, and might still work, but I suspect
    likely at some future point, other core components/libraries/etc. will
    cease to be compatible with a sufficiently too old kernel (or Debian
    might more fully drop i386 with some >=14 release).

    Anyway, at present do have some (effectively) Debian 13 i386 (all but
    kernel, kernel from Debian 12) systems, and wondering about the long(er)
    term viability of that (and support, etc.), vs., e.g. just keeping
    everything on 12.

    And I do of course realize these are relatively untested configurations,
    so, at least eventually, some things may break and/or not (fully) work.
    But I'm also guestimating, for the most part, only one major version
    apart, should for the most part work, notably also as often in-service
    systems transition through that phase through major version upgrades,
    and generally without issue.

    --- PyGate Linux v1.5.12
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Robert Heller@3:633/10 to All on Thursday, February 26, 2026 03:50:01
    At Wed, 25 Feb 2026 17:17:10 -0800 Michael Paoli <michael.paoli@berkeley.edu> wrote:


    So, where there is need/desire to keep Debian running long(er) term on
    x86 32-bit ("i386") (e.g. Pentium class chips that are not at all
    64-bit), what's the best way to go about that?
    Recommendations/experiences?

    So, e.g. one could ...

    Stick with Debian 12 (the last released "i386" installable and kernels),
    and continue with that, now into oldstable, into LTS, then perhaps ELTS
    or self-support after that. Or ...

    Well, one of things I pleasantly discovered on Debian 13, is though it
    no longer supports i386 as installable nor provides i386 (686) 32-bit kernels, it does still have most everything else still available in i386 architecture. So, e.g. it is possible (I've done it now, at least for testing on some VMs), to have Debian 12, configure APT and suitable
    pinning, such that both Debian 12 and 13 are configured, everything
    prefers 13, except the kernels, and all but the kernel(s) is(/are)
    upgraded to Debian 13, and with that configuration, the Debian 12
    kernels also do still receive their (security, etc.) updates (through oldstable, and later LTS, maybe even ELTS). Meanwhile, all else is
    supported and current under stable{,-{updates,security}} (and likewise oldstable for the kernels). I'm also wondering how that's likely to
    play out going forward, as Debian 14, etc. are released. Could again, upgrade everything but the kernels, and might still work, but I suspect likely at some future point, other core components/libraries/etc. will
    cease to be compatible with a sufficiently too old kernel (or Debian
    might more fully drop i386 with some > release).

    Anyway, at present do have some (effectively) Debian 13 i386 (all but
    kernel, kernel from Debian 12) systems, and wondering about the long(er)
    term viability of that (and support, etc.), vs., e.g. just keeping
    everything on 12.

    And I do of course realize these are relatively untested configurations,
    so, at least eventually, some things may break and/or not (fully) work.
    But I'm also guestimating, for the most part, only one major version
    apart, should for the most part work, notably also as often in-service systems transition through that phase through major version upgrades,
    and generally without issue.


    Question: Does the upstream (eg kernel.org) contain support for building a Debian 13-ish kernel targeting i686 kernel? If so, it is probably
    possible to just compile Debian 13-ish kernel for a 32-bit x86 system -- maybe not i[345]86, but very likely an i686 kernel.




    --
    Robert Heller -- Cell: 413-658-7953 GV: 978-633-5364
    Deepwoods Software -- Custom Software Services
    http://www.deepsoft.com/ -- Linux Administration Services
    heller@deepsoft.com -- Webhosting Services


    --- PyGate Linux v1.5.12
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Timothy M Butterworth@3:633/10 to All on Thursday, February 26, 2026 19:00:01
    On Wed, Feb 25, 2026 at 11:23?PM Michael Paoli <michael.paoli@berkeley.edu> wrote:
    So, where there is need/desire to keep Debian running long(er) term on
    x86 32-bit ("i386") (e.g. Pentium class chips that are not at all
    64-bit), what's the best way to go about that?
    Recommendations/experiences?

    You can stay on Debian 12 OldStable which is still supported. I do not recommend attempting to mix Debian 12 / 13 repo's. When Debian 12 moves to OldOldStable you can purchase support for it. If you are going to spend
    money though I would recommend buying new hardware.
    I buy refurbished computers from www.reebelo.com. I like getting the Intel Mac's. Here is a MacBook Air for $150. https://reebelo.com/collections/apple-macbook-air-2015-13.3-inch?skuId=sku-mfdbjt64fEYpTh9kbvxf6Ac
    I just setup one of these for my nephew who is in Kindergarten. He loves
    it.

    --
    ???????
    ??????? Debian - The universal operating system
    ??????? https://www.debian.org/
    ?????


    --- PyGate Linux v1.5.12
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Andy Smith@3:633/10 to All on Thursday, February 26, 2026 23:10:01
    Hi,

    On Wed, Feb 25, 2026 at 05:17:10PM -0800, Michael Paoli wrote:
    So, where there is need/desire to keep Debian running long(er) term on
    x86 32-bit ("i386") (e.g. Pentium class chips that are not at all
    64-bit), what's the best way to go about that?

    I don't think it is a very good use of your resources to do so, but they
    are your resources so you be the judge of that.

    Personally I would be looking for newer used hardware. The fact that
    Windows 11 doesn't support some pretty recent CPUs means that there is currently a good supply of very cheap yet still quite capable computers available. Sometimes so much so that they can be had for free.

    upgraded to Debian 13, and with that configuration, the Debian 12
    kernels also do still receive their (security, etc.) updates (through oldstable, and later LTS, maybe even ELTS). Meanwhile, all else is
    supported and current under stable{,-{updates,security}} (and likewise oldstable for the kernels). I'm also wondering how that's likely to
    play out going forward, as Debian 14, etc. are released.

    I think it's quite likely that LTS team decide to not support i386 for
    the usual length of LTS.

    I also think it's quite likely that some key part of the system that is
    needed for booting but isn't typically needed for 32-bit apps on 64-bit
    OS< such as say, systemd, stops being available in i386 packages. You
    would be able to keep using the last versions but miss out on security
    updates, and more and more dependencies get broken.

    You can also be using an upstream i686 kernel that you compile yourself
    and keep running a Debian 13 (and then 14) userland on top of that, but
    its unsupported nature and the increasing amount of work that you make
    for yourself is serious technical debt. You can reduce the work a bit by switching to a Linux distribution that still supports i686. Very quickly
    I think it stops making sense versus obtaining newer but still second
    hand 64-bit system.

    Finally, I would not be surprised to see upstream kernel drop i686
    builds soon.

    We are getting past the point that running 32-bit x86 hardware is a
    rational decision as opposed to a sentimental one, so it's hard to give objective advice.

    Thanks,
    Andy

    --
    https://bitfolk.com/ -- No-nonsense VPS hosting

    --- PyGate Linux v1.5.12
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Stefan Monnier@3:633/10 to All on Friday, February 27, 2026 16:50:01
    Well, one of things I pleasantly discovered on Debian 13, is though it
    no longer supports i386 as installable nor provides i386 (686) 32-bit kernels, it does still have most everything else still available in i386 architecture.

    IIUC one of the main use-cases of the i386 port nowadays is to support
    running old (proprietary) i386 binaries in virtual machines. As long as
    that's kept as one of the goals, then indeed you should be fine if you
    can find some other kernel (either from an older Debian or one you
    compiled yourself)

    Currently I'm using the above setup for my trusty Thinkpad X30.
    I don't know how long that'll last, tho.

    As others have pointed out, it's hard to justify the effort to maintain
    that port since there's a lot of amd64-capable hardware being discarded
    anyway. In my case, I use my Thinkpad to project the PDF slides when
    I teach, where the main value is to show to my students that a computer
    older than them can still get regular updates, so they should consider
    it *unacceptable* their much more recent devices stop receiving updates.

    It's also a good conversation piece when I explain to them that back
    when I received that computer, the rate of hardware improvement
    suggested that by 2026 we'd have laptops with TBs of RAM and thousands
    of CPUs running at >100GHz, so I would have never imagined back then
    finding this Thinkpad still usable in 2026 with anything vaguely
    resembling modern software.

    When Debian finally drops support for i386, I guess I'll just move to
    the 3 years older T60 (where I already upgraded the CPU to run amd64),
    which is actually a lot more usable (for many/most tasks, I don't
    really notice much difference between that and a modern machine).


    === Stefan

    --- PyGate Linux v1.5.12
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Robert Heller@3:633/10 to All on Friday, February 27, 2026 17:20:02
    At Fri, 27 Feb 2026 10:43:24 -0500 Stefan Monnier <monnier@iro.umontreal.ca> wrote:


    Well, one of things I pleasantly discovered on Debian 13, is though it
    no longer supports i386 as installable nor provides i386 (686) 32-bit kernels, it does still have most everything else still available in i386 architecture.

    IIUC one of the main use-cases of the i386 port nowadays is to support running old (proprietary) i386 binaries in virtual machines. As long as that's kept as one of the goals, then indeed you should be fine if you
    can find some other kernel (either from an older Debian or one you
    compiled yourself)

    Actually, you don't need a virtual machines to run i386 binaries -- you just need the i386 shared libraries. An x86_64 cpu can *natively* run i386 code, and a x86_64 kernel can load 32-bit programs and run them in 32-bit mode.


    Currently I'm using the above setup for my trusty Thinkpad X30.
    I don't know how long that'll last, tho.

    As others have pointed out, it's hard to justify the effort to maintain
    that port since there's a lot of amd64-capable hardware being discarded anyway. In my case, I use my Thinkpad to project the PDF slides when
    I teach, where the main value is to show to my students that a computer
    older than them can still get regular updates, so they should consider
    it *unacceptable* their much more recent devices stop receiving updates.

    It's also a good conversation piece when I explain to them that back
    when I received that computer, the rate of hardware improvement
    suggested that by 2026 we'd have laptops with TBs of RAM and thousands
    of CPUs running at >100GHz, so I would have never imagined back then
    finding this Thinkpad still usable in 2026 with anything vaguely
    resembling modern software.

    When Debian finally drops support for i386, I guess I'll just move to
    the 3 years older T60 (where I already upgraded the CPU to run amd64),
    which is actually a lot more usable (for many/most tasks, I don't
    really notice much difference between that and a modern machine).


    == Stefan




    --
    Robert Heller -- Cell: 413-658-7953 GV: 978-633-5364
    Deepwoods Software -- Custom Software Services
    http://www.deepsoft.com/ -- Linux Administration Services
    heller@deepsoft.com -- Webhosting Services


    --- PyGate Linux v1.5.12
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Stefan Monnier@3:633/10 to All on Friday, February 27, 2026 17:50:01
    IIUC one of the main use-cases of the i386 port nowadays is to support
    running old (proprietary) i386 binaries in virtual machines. As long as
    that's kept as one of the goals, then indeed you should be fine if you
    can find some other kernel (either from an older Debian or one you
    compiled yourself)
    Actually, you don't need a virtual machines to run i386 binaries -- you just need the i386 shared libraries. An x86_64 cpu can *natively* run i386 code, and a x86_64 kernel can load 32-bit programs and run them in 32-bit mode.

    Indeed, the VM is not need to make the program work, but it's needed to
    make it tolerable to run the program (given the security risks of
    running such legacy proprietary software).


    === Stefan

    --- PyGate Linux v1.5.12
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)