WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: tiny core on 486  (Read 4150 times)

Offline blu

  • Newbie
  • *
  • Posts: 6
tiny core on 486
« on: February 02, 2010, 03:57:27 PM »
I installed on a ide hdd TC. If I put the hdd in the computer, it boots ok, it works. If I put the same hdd in 486 I get kernel panic.

I wished to revive the 486 :(.

Any suggestions, ideas?

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
Re: tiny core on 486
« Reply #1 on: February 02, 2010, 04:02:16 PM »
Known bug in the 2.x series. You could run 1.x, or wait for 3.x.
The only barriers that can stop you are the ones you create yourself.

Offline blu

  • Newbie
  • *
  • Posts: 6
Re: tiny core on 486
« Reply #2 on: February 02, 2010, 04:07:21 PM »
This means it will work. That's great.

Offline blu

  • Newbie
  • *
  • Posts: 6
Re: tiny core on 486
« Reply #3 on: February 02, 2010, 05:32:08 PM »
I have read the FAQ and discovered that minimum ram is 48mb. But I have only 20. Should I forget the project? X( I wanted to make a lamp on my 486.

Offline danielibarnes

  • Hero Member
  • *****
  • Posts: 548
Re: tiny core on 486
« Reply #4 on: February 02, 2010, 06:58:43 PM »
As a test, I tried to boot a 20MB microcore virtual machine using the "embed" boot parameter. It ran out of memory during the startup. It might be possible with heavy customization, but it would still be very difficult. I'd definitely suggest more memory.

Offline bmarkus

  • Administrator
  • Hero Member
  • *****
  • Posts: 7183
    • My Community Forum
Re: tiny core on 486
« Reply #5 on: February 02, 2010, 08:43:30 PM »
Known bug in the 2.x series.

Can you provide details?
Béla
Ham Radio callsign: HA5DI

"Amateur Radio: The First Technology-Based Social Network."

Frank

  • Guest
Re: tiny core on 486
« Reply #6 on: February 02, 2010, 10:52:23 PM »
@blu: Do the maths. The events are:

1) bootloader loads compressed kernel (bzImage) -- this needs 2 MB RAM.
2) bootloader loads compressed filesystem (tinycore.gz) -- this needs an additional 8 MB RAM.
3) kernel decompresses itself -- I have no exact number, but we can cautiously estimate that it will be 1-2 MB larger afterwards.

Up to this point, 2 + 8 + 1 MB = 11 MB (of your 486's 20 MB RAM) are already used, and only 9 MB are left. Probably less. And now comes

4) kernel tries to decompress filesystem (tinycore.gz). If I do that by hand, the decompressed filesystem (tinycore) needs 14.5 MB. With 11 (of 20) MB RAM already used, that is 5.5 MB "over the limit" of your hardware. The kernel cannot decompress the filesystem with the little available RAM, and aborts with an out-of-memory error.

I am sure that you can revive the 486, and put it to good use. But *not* with tinycore's relatively big (for this small amount of physical RAM) initram filesystem. You need something with a much much smaller initram filesystem, or with no initram filesystem at all.


@danielibarnes: Just out of curiosity. I boot tinycore in qemu. Sometimes I ask qemu to emulate a 486 CPU. As long as I allow enough emulated RAM (for me, 32 MB is the absolute minimum to avoid an out-of-memory error), the 486 CPU works. Did you by any chance also try 486 emulation (if yes: in which emulator software?), and can you confirm or disconfirm whether a 486 CPU works? Thank you.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
Re: tiny core on 486
« Reply #7 on: February 03, 2010, 06:56:29 AM »
Known bug in the 2.x series.

Can you provide details?

Our users found out that the glibc in 2.x includes some 686 code:
http://forum.tinycorelinux.net/index.php?topic=1685.0

As you can imagine, we had no idea, as none of us has the hardware, and it wasn't high on priority to test 486 compat in software either.

Re Qemu, its 486 emulation is not 486-compliant, it allows the 686 code without issue. Bochs is a better test.

@blu: SIMM memory is damn cheap, if your motherboard can take more, adding some ram should help things.
The only barriers that can stop you are the ones you create yourself.

Frank

  • Guest
Re: tiny core on 486
« Reply #8 on: February 03, 2010, 09:35:38 AM »
Quote
Our users found out that the glibc in 2.x includes some 686 code:
http://forum.tinycorelinux.net/index.php?topic=1685.0

I think we are observing the birth of an urban myth here ;D

Among many other possible explanations, it was briefly speculated in that thread that GCC might have introduced i686 opcodes (machine instructions) even though compiling for i486. However, whereas many error messages were reported in that thread, none of them contains the words "invalid opcode" (which would indicate this problem). A conclusion like "Our users found out ..." is therefore not really justified by that thread.

Quote
Re Qemu, its 486 emulation is not 486-compliant, it allows the 686 code without issue.

That's a really strong claim -- so Qemu, a high-profile project, messes up across not one, but two CPU generations? Do you have any pointers to websites where that issue is described?

Offline florian

  • Full Member
  • ***
  • Posts: 116
    • Home Page
Re: tiny core on 486
« Reply #9 on: February 03, 2010, 02:38:13 PM »
Quote
I have read the FAQ and discovered that minimum ram is 48mb. But I have only 20. Should I forget the project? X( I wanted to make a lamp on my 486.

Not possible to boot core in RAM with that config. Perhaps a way forward could be "scatter" mode, but once you go that way, you're pretty much on your own. :o

ps: a few years ago I played with muLinux to turn a very old 486 with 8Mb into a usable workstation :)