Slashdot Mirror


Stable 2.2.x Linux Kernels and Older i386 Boxen?

juan.fernandez asks: "A couple of years ago I found a dust-covered CANON A-200TP/16 'portable' personal computer (9 kg weight, 40MB HD, 4MB RAM, 386SX/16, 2.1 bogomips) which dated from 1988. It was running DOS 4.0, being a completely useless computer. I managed to install Slackware 4.0 and a custom 2.2.13 minimum kernel I compiled on my girlfriend's computer (AMD K6II 300MHZ, kernel 2.2.13, distro Suse 6.4). I just went through the usual steps (make config, make dep, make clean, make zImage) and the kernel compiled and booted fine. The other day i tried to 'upgrade' to the 2.2.20 kernel since i'm interested in running the latest stable Linux kernel on this machine, but despite the fact that the resulting 2.2.20 zImage is even much smaller than the current, well-working, 2.2.13 zImage, I get 'out of memory' when the computer tries to decompress the kernel image right after lilo has finished loading it." Sounds like he doesn't have much memory to play with and the 2.2.13 image, although larger, fit in the available memory footprint available and the 2.2.20 one just didn't. The simple suggestion would be to move a few things into modules, but could this possibly be a memory bug in 2.2.20 that appears only on certain 386 machines?

"When it was running, I could link the little beast via ppp (its got a serial port, 1KB/sec due the ancient UART chip) and reach the internet, running lynx, pine and ircII happily. After some weeks ofplaying with the toy, I forgot about it...until now.

I made many tries, the box where I compile is a PIII 600MHZ running Suse 7.0 with kernel 2.4.14. Kernels compiled for different boxes in this very same machine work well, but not the 2.2.20 one for the 386sx.

What's wrong? Is there the need for any special 'cross-compiling' hack to the kernel source tree or compiling scripts that was not there in the 2.2.13 times?"

16 comments

  1. Try using bzImage.... by pwagland · · Score: 3, Insightful

    Hmm. This does sound rather unfortunate, but you might want to try using a bzImage boot image instead... sometimes they work better, sometimes they don't :-)

    make bzImage

    does the magic. If that fails, then try as Cliff suggested to make a few more things modules.

    Good luck!

    1. Re:Try using bzImage.... by juan.fernandez · · Score: 1

      even tried a test 2.2.20 with no even ext2 support, i mean, a real barebones kernel, no networking, nothing, and still "out of memory" Thanks anyway for the tip!

    2. Re:Try using bzImage.... by juan.fernandez · · Score: 1

      It worked! bzImage boots fine, no "out of memory" Thanks again!

    3. Re:Try using bzImage.... by terpia · · Score: 1

      Holy Cow Batman!!!!!!!!!!!

      An "Ask Slashdot" with an actual resolution? This must be a sure sign of the apocalypse! I dont think I've ever seen anything like this...Mad props to pwagland!!!

      --
      .sig wanted: Must be concise, funny, and display my cleverness.
  2. Why upgrade? by starz · · Score: 2, Insightful

    I hate to answer a question with a question but do you have a reason for upgradeing, other than it's the latest and greatest thing? Not saying it's not a significant difference between 2.2.13 and 2.2.20...

    Secondly have you tried those in between...if this is for fun/experimental I'd try those in between if there IS a reason to upgrade...

    Starz McCllelan

    1. Re:Why upgrade? by juan.fernandez · · Score: 1

      well, the upgrade is a matter of curiosity. Despite the fact that 2.2.20 is supposed to be identical to 2.2.13 but in some bug fixes, and it has been released recently, i wanted to make sure that the compatibility with the real old boxes is still there. I'll try the bzImage solution and, if it fails, i'll give up Thanks!

  3. Captain Obvious. by saintlupus · · Score: 0, Redundant

    Sounds like he doesn't have much memory to play with and the 2.2.13 image, although larger, fit in the available memory footprint available and the 2.2.20 one just didn't.

    Hey, no shit? That's how you read it too, eh?

    --saint

  4. Why bother? by Wakko+Warner · · Score: 1, Insightful

    The thing weighs about 20 pounds, has less memory than most modern hard drives have cache, and is about as portable as a suitcase. Why not retire it to the nearest landfill (after recycling key components, I suppose), and pick up something made in the past decade? What could you possibly do on something that old anyway? Use it as a portable...terminal?

    "Ask Slashdot" seems to be, a lot of the time, about chasing your tail and wasting hours of your time figuring out kludgey solutions to silly problems. This is the case here, I think.

    --
    "Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
    1. Re:Why bother? by Gordonjcp · · Score: 4, Insightful

      Because it's fun to play with old crap. For much the same reason as people put twin-choke carbs and fat alloys on elderly Fords - to see what it can do if you tweak it.

    2. Re:Why bother? by juan.fernandez · · Score: 1

      In 7 years of linux use i never asked any question before in any kind of public forum other than those "friendly" irc help channels, and never without spending the time it took to help someone else in return. It is none of your business if i make a question and i got a solution, maybe the luck of the beginner? How many questions about linux have you made in public forums? how many answers did you get? was any of them the solution for your problem, or just a bunch of nosense words obviously product of some kind of genetic unability to understand the real joy about technology? Really, Mister, my modest opinion is that you should try to show a bit more respect for other people's hobbies

  5. This is a bug in 2.2.20 by schon · · Score: 3, Informative

    It's not your computer, it's 2.2.20 I've had the exact same problem with every build I tried. 2.2.19 works fine, and "make bzImage" works fine. However with the exact same config, 2.2.20 "make zImage" hacks when booting with an "out of memory" error. (On machines with 64 t0 256MB of RAM, kernel built with both glibc and libc5.)

    Two solutions:
    Run 2.2.19, with appropriate security patches.

    Use "make bzImage" instead.

    1. Re:This is a bug in 2.2.20 by Phork · · Score: 1

      im sorry, but it really doesnt matter what version of libc you have when you build your kernel, the kernel doesnt make much(any?) use of libc.

      --
      -- free as in swatantryam - not soujanyam.
    2. Re:This is a bug in 2.2.20 by schon · · Score: 1

      the kernel doesnt make much(any?) use of libc

      Yes, but the compiler does.

  6. Try a 2.0.x kernel by bluGill · · Score: 4, Informative

    Seriously. 2.0.x lacks some features, and is a little slower in some areas, but it came from the day when 386s were not uncommon, so compromises were made to make them work better.

    How much I can't say, I just remember that when 2.2 first went stable I was told my 386 is better off staying with 2.0. It still is today, as my mail spool, though I keep it behind a firewall due to age.

    1. Re:Try a 2.0.x kernel by Anonymous Coward · · Score: 1, Funny

      heh. i installed debian hamm with a 2.0.x series kernel on a unfirewalled 386 with 8MB RAM and a 40MB HDD as a print server. from the logs the script kiddies broke in and then left in disgust. :)
      they didnt even bother to install backdoors - there wasnt enough space on the drive for a backdoor anyway.

  7. Here's why, and also 2.4? by Anonymous Coward · · Score: 0

    I have a 386 deployed as a production server. It's colocated far away, and I can't physically get to it without a lot of trouble. It's mostly working fine and has for a LONG time, and fundamentally, if the box does the job, why replace it?

    Another reality is that yesterday's underpowered desktop systems look a lot like today's lightweight embedded systems. A 386 or 386SX with 1MB of RAM might be the core of a palmtop or wearable box being sold new today. The problem of supporting lightweight embedded systems and the problem of supporting old hardware is frequently similar.

    On a similar note to this main topic, has anyone gotten 2.4 to work on a real 386? It fails to boot on mine, and does so in various ways depending on kernel versions. Some 2.4.x versions don't even start, and others start to boot but then panic not far into the boot process. 2.2.x runs okay on the same box.