Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Debian Linux Hardware

Installing Linux On a 386 Laptop 260

An anonymous reader writes with a link to Hack A Day's step-by-step guide to installing Linux on a 386 laptop, which looks like a nice rainy-day project, as long as you are a stubborn hardware collector. It gets complicated, though, because 386 support has long since disappeared from most mainstream distros, which is why the writer went with Debian 1.3.1.
This discussion has been archived. No new comments can be posted.

Installing Linux On a 386 Laptop

Comments Filter:
  • this is a hack? (Score:5, Insightful)

    by Anonymous Coward on Saturday August 13, 2011 @10:24AM (#37079210)
    So it's now considered a "hack" to install software onto a device it was meant to run on?!?!?
    • Re: (Score:2, Insightful)

      Considering the i386SX has a 16 bit data bus and can only address 16MB of memory I'd say this qualifies as a rather sweet hack.
      • Re: (Score:3, Insightful)

        by Anonymous Coward

        Why a hack? Linux has always been able to run on shitty old gear. It was around when said shitty old gear was bleeding edge. Pick an old distro that was designed to run on the gear of the time, and durr, it works.

        • Re:this is a hack? (Score:5, Interesting)

          by Demonoid-Penguin ( 1669014 ) on Saturday August 13, 2011 @11:16AM (#37079554) Homepage

          Why a hack?

          Because it's not a DX chip (full 32-bit). It won't work "out of the box" and I've spent the last decade using apt, so I'll call it a hack. Looks a lot simpler than ELKS which is the only other way I know to achieve the same thing (early Windoof will run on the same chipset, but requires thunk layers)

          From the Debian Installation manual:-

          However, Debian GNU/Linux squeeze will not run on 386 or earlier processors. Despite the architecture name "i386", support for actual 80386 processors (and their clones) was dropped with the Sarge (r3.1) release of Debian[2]. (No version of Linux has ever supported the 286 or earlier chips in the series.)

          I've managed to install to 386-DX chipsets with 4MB of RAM, but not the SX. Very impressive. Especially given the price I can pick up industrial single card 386-SX boards. Not of interest to gamers and such, but very, very useful non-the-less.

          • Internally the SX had 32bits, only the data bus was 16 bits.
            • Re:this is a hack? (Score:4, Interesting)

              by Demonoid-Penguin ( 1669014 ) on Saturday August 13, 2011 @01:42PM (#37080330) Homepage

              Internally the SX had 32bits, only the data bus was 16 bits.

              Yes... That was what I meant by "Because it's (the SX) not a DX chip (full 32-bit)" - The problem with the 16-bit data bus was not just limiting the total memory that could be addressed - there was also cache addressing problems. If there was just one 386-SX it'd probably have been better supported - from (fuzzy) memory most of the problems we encountered then (I worked for Compaq at the time) were motherboard ones rather than CPU. I.M.O. IBM made the smart move by ignoring the 386 at the time - they were expensive, and the boards to support them even more so. (and the SL series was an even bigger nightmare).

              • by adolf ( 21054 )

                For the record:

                I have an AT&T/NCR 386SL laptop running a (quite old) version of Slackware. There were no nightmares involved with the installation that had anything to do with the type of CPU. It's as stable as a rock, although it does do slightly more stuff than most rocks...

                If there are problems with the design that affect software, I'd like to say that they were sorted quite a long time ago.

          • Actually, if I were to do something like this, I'd use LFS [linuxfromscratch.org] instead. Or better yet, cross-compile NetBSD for i386.

            1) cat or dd the laptop's harddrive to a faster computer's disk as a disk image
            2) Mount the disk image
            3) Compile and install the OS onto the disk image
            4) cat or dd the disk image back to the laptop hard drive
            5) Profit!

            I once got a 386 for free and installed Redhat on it back in 1998. It's not that big of a deal.

            • Actually, if I were to do something like this, I'd use LFS [linuxfromscratch.org] instead.

              Maybe if you took the time to read TFA you wouldn't talk rubbish

              Or better yet, cross-compile NetBSD for i386.

              That has been done (FreeBSD installed on a 386-SX) but it was a while ago, and it was a *big* job.

              I once got a 386 for free and installed Redhat on it back in 1998. It's not that big of a deal.

              You installed it on a 386-SX?? Really? I've got early copies of RedHat if the floppy disk haven't died, and plenty of 386-DX boards - I'm betting, like the RedHat manual says, it won't install on an SX chipset.

          • Comment removed based on user account deletion
            • Except if you read TFA you'll see the guy used Debian 1.3 which I believe is old enough to actually support a 386 OOTB. I have to agree with the other posters I don't see how this can be in any way called a "hack".

              I did read the TFA. It's not what I'd call and impressive hack, and certainly not elegant. I suspect the writer is wrong about needing an older Debian (I've certainly installed Etch onto a 386-DX) - the laptop he used is too old to support booting an el Torrito CD, and definitely won't support the new hybrid d-i. But the non-hybrid d-i is available - I'd either use a floppy to initiate a 6.0.2 series debbootstrap network install - or pxe install using a romamatic image (I have a stash of Xircom RE100s). exp

            • The hard part with older versions is sometimes finding them. I remember needing Redhat 7.2 (or was in 6.2?) because a version of SAP I needed to use would only run on that or a similar vintage of SuSe, and the latter was a RPITA to install without a fast reliable connection.

              The other hard part is getting a sensible answer to a sensible question without some twat telling you you shouldn't be using it, without knowing *why*, telling you it doesn't support USB when it does, etc etc etc.

          • Why a hack?

            Because it's not a DX chip (full 32-bit). It won't work "out of the box" ...

            The SX is 100% compatible with the DX from a software perspective. IIRC modern Linux distributions do not work out of the box because they are compiled to use PentiumPro (sort of a 686 - three generations ahead of the 386) instructions.

            • by bmo ( 77928 ) on Saturday August 13, 2011 @12:56PM (#37080144)

              An SX chip is merely a 386 without the floating point coprocessor.

              SX machines came with an "overdrive chip" socket, which was just a full 386 with math coprocessor. It was a way for Intel to sell 386s that had defective floating point.

              When faced with a machine without a math coprocessor, Linux compiled for 386 will do "math coprocessor emulation" if you build it.

              http://cateee.net/lkddb/web-lkddb/MATH_EMULATION.html [cateee.net]

              --
              BMO

              • by volkerdi ( 9854 )

                An SX chip is merely a 386 without the floating point coprocessor.

                Actually, the 386SX has a reduced data path width compared with the DX, but both could use an external 387 math coprocessor. It was not built in to any 386 CPU.

                I had a 387 in my AMD 386DX-40 box... that was a great system. Pretty much stuck with AMD ever since, with a few exceptions.

                • I not sure if I had a 387, but I also had a AMD 386DX-40 and that was a great chip. Sadly newer games required a 486 and wouldn't run on it anymore.

                  Years later I kept the case and floppy drives but upgraded the guts. I have a 486DX-33 in a 586/686 board with 32MB of RAM. It has a real Sound Blaster 16 and it is a great machine for old gaming. Sadly I haven't booted it in a while since DOSBox does the job now.

              • by hal2814 ( 725639 ) on Saturday August 13, 2011 @01:14PM (#37080220)
                You're confusing the 386 with the 486. Neither the 386SX nor the 386DX had a built-in math coprocessor. The math coprocessor didn't even exist yet when the 386DX (originally just called the 386) was launched. The difference between 386SX and 386DX was that the former only had a 16-bit data bus while the latter had a 32-bit one. The difference between the 486SX and 486DX was the DX's inclusion of a math coprocessor. The SX of each was the lesser processor but for different reasons.
                • by bmo ( 77928 )

                  Gah, ok, i misremembered.

                  Old timer's disease.

                  --
                  BMO

                • by JSG ( 82708 )

                  So what the hell was the (80)287 that I bought for my 286 to run AutoCAD then?

                  I know it had "Maths Coprocessor" written on the box and it cost ~£120 - bargain!

                  Also I seem to remember that the SX/DX thing actually came in with the 486 and was back ported.

                  Cheers
                  Jon

          • The 386SX was a 32-bit CPU internally (but with a 24-bit external address bus and 16-bit external data bus 7 circuitry to split 32-bit wide requests into two 16-bit ones) and will run Linux just fine given enough RAM, but many boards designed with the SX in mind would only accept 4Mb (sometimes less) which is not going to be enough for a modern kernel.

            The SX should run anything the DX would but slower for 32-bit code at any given clock rate due to 32-bit requests needing to be made using two due to the 1
            • The 386SX was a 32-bit CPU internally (but with a 24-bit external address bus and 16-bit external data bus 7 circuitry to split 32-bit wide requests into two 16-bit ones) and will run Linux just fine given enough RAM, but many boards designed with the SX in mind would only accept 4Mb (sometimes less) which is not going to be enough for a modern kernel. The SX should run anything the DX would but slower for 32-bit code at any given clock rate due to 32-bit requests needing to be made using two due to the 16-bit data bus, and due to some boards for the DX having support for a small amounts of cache ram which the cheaper boards (probably including all SX ones) lacked. Some early 386 chips were faulty and would not run 32-bit code 100% correctly. These were actually sold as working "16 bit only" chips - if you have some of those they are not going to run Linux successfully. I don't remember if that affected SX models as well or if it had been sorted before they were first released. I remember running a Linux variant (some version of slackware IIRC) on my old 386SX40 (AMD made a version clocked that fast) with 4Mb RAM, though I never did anything useful with Linux until the early Pentium days.

              One of the main problems with the earlier 386s was the boards and cards. I remember some of the crippled chips you refer to - I also remember fake cache.

              I no longer have my HyperRam cards or the PS/2s they fitted in - but one of the problems with the SX was the 16MB ram limit. It's not that Linux *can't* support the SX as much as it *doesn't* - and that policy was/is just to avoid all the problems. With big name manufacturers it wasn't so hard - but all those clones.... anyway. Except for the AMD386 nothi

          • I've managed to install to 386-DX chipsets with 4MB of RAM, but not the SX. Very impressive. Especially given the price I can pick up industrial single card 386-SX boards. Not of interest to gamers and such, but very, very useful non-the-less.

            Back in the day I had first Slackware (3.x?) and then RedHat (5,x) running on an Am386SX-40, with 4x 1MB 30 pin SIMMs and an ISA SVGA card (Cirrus I believe). Was NBD, just a PITA loading Slack from endless floppies. (RedHat I installed via an ISA NE2000 clone from an FTP server on the LAN...)

            • I've managed to install to 386-DX chipsets with 4MB of RAM, but not the SX. Very impressive. Especially given the price I can pick up industrial single card 386-SX boards. Not of interest to gamers and such, but very, very useful non-the-less.

              Back in the day I had first Slackware (3.x?) and then RedHat (5,x) running on an Am386SX-40, with 4x 1MB 30 pin SIMMs and an ISA SVGA card (Cirrus I believe). Was NBD, just a PITA loading Slack from endless floppies. (RedHat I installed via an ISA NE2000 clone from an FTP server on the LAN...)

              The AMD was a game changer indeed. This is why I appreciate Google and Linux - it forces the established powers to pick up their game. AMD made Intel drop their prices and stop shipping crap.

          • by ceoyoyo ( 59147 )

            Very impressive? He used Debian 1.3.1, which runs just fine on a 386 SX. He just installed it. Read the article.

            I've installed Linux on a 386 SX too. Fifteen years ago.

        • It does not run on a 286 though.

      • by jo7hs2 ( 884069 )
        Meh. I ran Windows 95 on a i386sx notebook for several years, with 10 megs of ram and a compressed hard disk, so I'm not really impressed. The floppy install took most of the day, and the boot time was almost a full battery charge towards the end of my run with the computer, but once it was running it was surprisingly functional, despite the 5/10/20mhz variable frequency processor setting.
      • by gl4ss ( 559668 )

        look, one of the reasons linux was sweet early on was that WHO THE FUCK HAD MONEY FOR 16 MBYTES ? it was better to stick with not using X back then. if you're going to install _anything_ on a i386 these days linux is the obvious choice, sticking to not using X is obvious choice. debian 1.3.1 though? that's not an obvious choice.

        wouldn't qualify it as a sweet hack though. some crazy setup involving installing win 3.11 and win32s, installing some task-manager and hacking some later windows libs to work on it.

    • by rwa2 ( 4391 ) *

      10 years ago I installed Slackware on an old 486 monochrome laptop through a serial port. I was too cheap to buy the proprietary external floppy drive.

      I think I ended up resizing the 120MB [sic] DOS partition down to 40MB, and then using some serial port transfer program to send over a minimal linux loader that could load the installer kernel from DOS. Then I think I had to keep booting to DOS to erase and transfer over a few more of the 80MB+ of slackware floppies and install a few packages at a time unt

      • Oh yeah? Right now I have a Xircom Pocket Ethernet Adapter III in a sealed box. Still has the $39.95 price sticker on it. To get older, I have to go non-pc...
      • by Kjella ( 173770 )

        I think I ended up resizing the 120MB [sic] DOS partition down to 40MB

        [sic] means that you're quoting someone else's typo, to show you just faithfully reproduced it. Since you're neither quoting nor was it a typo it doesn't make any sense. I assume you meant something like [yes, MB] though I'm not sure there's any latin for that. This has been an informational message by your local grammar Nazi. By the nature of this post, it will contain at least one typo.

    • Because most current software are developed with different limitations in mind. Doing anything with this sort if hardware these days is almost akin to doing embedded development.

      Heck even a smartphone is more capable as equivalent hardware. Actually with that in mind, a better hack would be to be able to run a smartphone as a desktop computer, even with limited software.

      • Even an older embedded device(NSLU2 4 lyfe!) is substantially more capable. The one major kicker(at least for me, speaking as somebody who is OK in userland but not so much a hardware wonk) is that PC BIOSes suck; but(aside from a bunch of annoying bugs, and some relatively predictable losses in function as you go back in time) they largely suck in the same way. By contrast, two feature-identical embedded linux plastic router/AP boxes, released at the same time, might have totally different bootloaders and
      • Actually with that in mind, a better hack would be to be able to run a smartphone as a desktop computer, even with limited software.

        ... you do realize that there's smartphone builds available for some distros? And failing that, you can get access to many full desktop functions running on smartphones, including terminal shell/ssh, word processors, web browsers, spreadsheet programs, etc.. Hell, Android *is* Linux, just with an interface that's designed for a small touchscreen as its main input device. There are smartphones with HDMI out ports that can be hooked up to a TV, and can accept input from bluetooth keyboard/mouse, even. So no,

      • You can just cross-compile NetBSD for i386. And there you have it: modern OS on ancient 386 hardware.

    • The "hack" is doing it under an hour. He used a different PC to install it onto the IDE disk and afterwards put it back into the laptop. It's a little more convoluted than you thought, but still kinda boring.
  • by Jack Malmostoso ( 899729 ) on Saturday August 13, 2011 @10:27AM (#37079220)

    Considering how shite this summer's weather has been in central Europe, we would have had time to install gentoo from Stage 1 on a 386.

    • by Rich0 ( 548339 )

      Interesting you mention Gentoo - that is one of the few distros that I'd expect to work fairly well on an i386, since it is built from source.

      You'd need to find something to boot off of that contained wget, fdisk, etc, but once that is done you should be able to do just fine. Or, you could just rebuild the install media/etc for i386.

      Getting it started would be the only painful part - once you're up and running with an i386 toolchain you should in theory be able to install anything you want. Of course, you

  • ...but does it (still) run linux?

    • Well this is the million monkies. Any computing hardware could be made to run Linux, given enough crazy code monkies, though the Babbage Machine would probably be pushing it ;)

  • Shoulda used gentoo. If gcc can compile for it, gentoo can do it! Plus it would have been a hack too, as all gentoo boxen are hacks!

    And yes, I run gentoo on all my machines and have done so since 2003. (My first gentoo box was in 2002, the rest of my machines were converted a year later.)

    • by IrquiM ( 471313 )
      True - wrong distro - just install slackware, and be happy with it! No need to compile everything!

      Still got a functioning 486DX4 with slackware 3.5 installed on it. Works like a charm!
    • by gl4ss ( 559668 )

      well.. if installing it takes hours and hours.. re-compiling it would have taken a lot of time. and a lot of hd space too, just for the compilers. some embedded distro would've been better choice - and/or compiling the stuff on some more powerful box.

      thing with distros though is that modern distros have so much stuff that the 386 era machine can't handle even the package manager without going to swap-meet from hell.

  • Compiler Technology (Score:4, Interesting)

    by TejWC ( 758299 ) on Saturday August 13, 2011 @11:35AM (#37079710)

    I was wondering, hypothetically, if somebody where to take the source code of Debian 1.3.1 and compile it with the latest version of GCC and somehow made it compile; I wonder how much faster it will compared to the binary that was released back then. I mean, has compiler technology improved much in the last 14 years when it comes to slow machines like the i386?

  • Why didn't the guy just make the stack of install floppies like we used to do back in the day? Or break out his PCMCIA SCSI card (still have one along with a single speed SCSI CD)

  • by Scholasticus ( 567646 ) on Saturday August 13, 2011 @11:44AM (#37079784) Journal
    I installed Linux on a vellum codex! I even included X11, but went with Xfce instead of GNOME 3. It's sweet, man ... very illuminated.
  • The issue is the bloated glibc libraries eat up all the ram.

    The libc ones in OpenBSD use much less memory and the system is less intensive. BSD init is much leaner as well. If I were bored I would install a BSD OS on such a beast and would not even consider Linux unless old 2001 era libc 5 is being used.

  • Ill install OS/2 from the original floppies on a PS/2 model 80. ya, that will show them!

    WTF? and why do we care?

  • If you manage to make it run, you should try Dune 2. It's a revolutionary game.
  • I sometimes wonder how old PC could you use if we made a lo-fi version of everything in current world. If we cut some corners, for example Facebook could be run in text mode with images viewed in some separate "SVGA viewer" program. :) MP3/video playback would be tough. Pentium II should be able to do anything. Of course today we have better minimal hardware like Atom/ARM available.
    • by ceoyoyo ( 59147 )

      A Pentium II? To render text web pages and a few pictures (in a separate viewer)?

      I hate to tell you, but we had the web with pictures and everything (yes and MP3s too) in the 90s with 386s and 486s.

    • I was able to play MP3s (in mono!) on my Amiga 3000 T. That was a 25 MHz 68040; given the difference in architecture, a 486/50 should be able to handle it. I know a 486/75 can handle MP3s; that's what's in my old Thinkpad.

      Video's a matter of choosing an appropriate format. Quicktime 2, anyone?

  • A while ago, I tried to tackle a similar project with an Acer 486 class notebook I was given for free. (It was in practically new condition, other than its battery not holding much of a charge any more. The owner took immaculate care of it and then stuffed it in a carrying bag, in a coat closet, for years before giving it to me.)

    I thought it was a shame not to try to get it running something useful. (It had Windows '95 on it, which didn't run very well. Even if I wanted to keep '95 on it, I would have n

"Out of register space (ugh)" -- vi

Working...