WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: tinycore on 133MHZ~16MB OLD TOSHIBA SATELITE PRO 445CDX not booting  (Read 3798 times)

Offline dan0804smith

  • Newbie
  • *
  • Posts: 11
  so i bought this old toshiba to mess around with.  it has a cd drive and it i have a live cd in it.  it gets to the tinycore prompt screen where it asks for enter to start up.  no matter what i do it wont boot up.  when i press enter it doesnt boot up it just stays there with the  blinking bar under it.  when i type in noswap it doesnt work.  when i type in tinycore ide-core.nodma=1.0, it doesnt work.  not even the base command doesnt work.   i think that the cd drive isnt fast enough to run a cd ( it is from 1997ish).  another possible reason this isnt working is that maybe there is no available harddrive space to store tinycore (since it can fit in the ram)   what are your thoughts on the possibilities on why this doesnt work.

Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11654
Re: tinycore on 133MHZ~16MB OLD TOSHIBA SATELITE PRO 445CDX not booting
« Reply #1 on: August 10, 2011, 02:09:29 AM »
Hi dan0804smith
You don't have enough RAM.

Offline dan0804smith

  • Newbie
  • *
  • Posts: 11
Re: tinycore on 133MHZ~16MB OLD TOSHIBA SATELITE PRO 445CDX not booting
« Reply #2 on: August 10, 2011, 02:43:16 AM »
pretty sure you only need 11mb RAM to run with the assistance of a hard drive.  i have 16mb ram so it should be working.  do you think i am right or wrong on this statement, any assistance would be helpful.  ty verymuch for your time

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11048
The only barriers that can stop you are the ones you create yourself.

Offline SamK

  • Hero Member
  • *****
  • Posts: 713
Re: tinycore on 133MHZ~16MB OLD TOSHIBA SATELITE PRO 445CDX not booting
« Reply #4 on: August 10, 2011, 06:22:46 AM »
It might be worth looking at distros that are specifically targeted at legacy, low spec kit. 
For example:

Grey Cat Linux and Minimum System Requirements
http://www.angelfire.com/anime/db/gcl/

Deli (or one of its spinoffs)
http://deli.tavvva.net/
Minimum System Requirements
http://deli.tavvva.net/wiki/doku.php?id=deli:purpose
   

Offline dan0804smith

  • Newbie
  • *
  • Posts: 11
Re: tinycore on 133MHZ~16MB OLD TOSHIBA SATELITE PRO 445CDX not booting
« Reply #5 on: August 10, 2011, 12:21:00 PM »
thank you very much for the dilo name.  the only problem is that i can find a download site for it...:(

Offline maro

  • Hero Member
  • *****
  • Posts: 1228
Re: tinycore on 133MHZ~16MB OLD TOSHIBA SATELITE PRO 445CDX not booting
« Reply #6 on: August 11, 2011, 11:00:52 PM »
I'm aware that the following is somewhat utterly pointless: we all know that one needs at least 48 MB RAM for a current TC system (and 32 MB RAM for a MC one). But I found the question whether it is at least in principle possible to lower said minimum when using a so called "scatter installation" (i.e. extraction of the initrd to a hard disk) nevertheless intriguing. After a bit of probing and prodding I believe I can now offer such a prove of concept.

First off all my testing was done with virtual systems (e.g. QEMU as well as VBox), as even I don't own any piece of equipment that I could limit to 16 MB RAM. As it is clear that TC (or even MC) can't be booted of a CD-ROM on such a limited system I went on a hunt for a floppy based Linux system that has comes with just enough support to get the job done. After not having much luck with some other attempts I finally settled on one that I've found in the rescue system section of 'ibiblio.org'. Furthermore I decided that for this test a 40 MB disk image would be just enough.

So "armed" with these three devices (i.e. a boot floppy, a TC 3.8 CD-ROM and the target hard disk) I started the test system for the first time:
   qemu -m 16 -hda scatter_40M_A.img -cdrom tinycore_3.8.iso -fda ramf-120.img.bin -boot a
As it turns out the boot floppy contains a (legacy) GRUB installation (which will come in very handy in a moment) and offers the option to 'Boot Linux rescue system'. So after doing that (and choosing an appropriate key map) one ends up in the (root) shell of a Linux 2.4.21 system. That is indeed not quite current anymore, but it still gets the job done. I then went ahead and
  • wiped the entire hard disk,
  • created a (single) primary partition, formated it with EXT2, and mounted it,
  • copied the GRUB 'stage' files from the floppy to the hard disk,
  • created a GRUB configuration file on the hard disk, and
  • copied the TC kernel and extract the TC initrd

A scripted version of these steps is attached, and to save myself some trouble I've just copied that script onto the boot floppy (which had just enough room to allow for this). As the floppy is of MS-DOS format this step can be done with the help of pretty much any OS available. Therefore what I actually did was in the root shell to mount the floppy (e.g. via mount /dev/fd0 /mnt/floppy -t vfat) and execute the script (e.g. via sh /mnt/floppy/cr_scatter-install_ram120.sh).

At this stage I should note that depending on the QEMU version (and maybe the choice of disk image format) the initrd extraction process can take a while. I've noticed that it took ca. 16 minutes when using my usually preferred version (i.e. v0.11.1 with KQEMU), whilst it was rather faster in ca. 16 seconds with a typically slower, but more recent release (i.e. v0.14.1, either one ran on a WinXP host).

Nevertheless the hard disk had received as planned a "scatter installation" of TC, but was still lacking the proper GRUB setup (albeit the 'stage' files and the GRUB configuration were already in place). So I started the whole system again (e.g. via reboot), but this time went straight to the GRUB command mode (by pressing 'c' instead of 'Enter'). At this level I was able to finalize the GRUB installation via a root (hd0,0) command followed by setup (hd0) (please note that the former refers to the partition, whilst the latter refers to the entire disk).

After that I choose to shut down the system (e.g. via halt) to then remove the surplus media (i.e. the floppy and the CD-ROM) which in the world of this VM just meant that I used
   qemu -m 16 -hda scatter_40M_A.img
instead of the command from above.

So, after all these steps what does one end up with? Well, the system boots (as requested via a 'text' boot code) to the "usual" shell. Unfortunately (but not in the least bit surprising) there is only ca. 1 MB RAM left (taking the free output as indicator for that piece of information). Even when executing sudo cache-clear ; free the result is not vastly better (i.e. ca. 5.5 MB free). Either way the system is IMHO rather "useless", as it is not even able to run 'startx' without ending up in a segmentation fault. Again, none of this is really significant as I'm not suggesting that anyone would want to run an X server in that situation. I'm just using this as an example of the limitations which make any real practical use virtually impossible.

Finally, I'd like to state that I enjoyed playing around with this sort of "challenge". It gave me the opportunity to learn details (e.g. about this particular GRUB installation method) I had no prior knowledge about. Before I figured out the way that I've presented here, I had for example planned to "patch" the MBR directly and thought to have sorted out (almost) all the issues on that way. Only when (for some still unknown reason) my "brute force" method to identify the sector of the 'stage2' file failed to work did I go back and found out more about the capabilities of the GRUB command mode.

A notable mention should also go to the Tiny Slitaz builder. This is a web page which allows to create a floppy (or CD-ROM) image to boot a pretty minimal system. One gets to chose between different flavours of (minimal) kernels, the set of modules and a set of additional packages. I assume all this is derived from the "proper" Slitaz. Even though the samples and documentation suggest that it would operate with as little as 16 MB RAM, in my attempts I found that it needs at least 17 MB RAM nowadays. Which unfortunately disqualified it for my aim, but might be nevertheless quite a neat option for a floppy-based minimal Linux 2.6 system if the bar is set a little bit higher.


EDIT: Change of the attachment and a minor image name change.
« Last Edit: August 12, 2011, 08:09:04 PM by maro »

Offline maro

  • Hero Member
  • *****
  • Posts: 1228
Re: tinycore on 133MHZ~16MB OLD TOSHIBA SATELITE PRO 445CDX not booting
« Reply #7 on: August 12, 2011, 08:44:43 PM »
If the previous post was not already boring enough, here comes now a small update: In parallel to the scatter installation of TC 3.8 with a Linux 2.4 boot floppy on a 16 MB RAM (emulated) system (as detailed in reply #6), I had done the same using a 48 MB system (only for the installation phase) to use the "standard" TC CD-ROM. That means for the installation phase I used:
    qemu -m 48 -hda scatter_40M_D.img -cdrom tinycore_3.8.iso -boot d

Using the attached script (which is highly similar to the one used in reply #6) I ended up with a scatter installation which achieved virtually the same disk content as the one created above. Obviously the system was actually put to a test with:
    qemu -m 16 -hda scatter_40M_D.img

So, what is the reason for this update? Well, as it turns out the scatter installation done by TC itself was able to at least start the 'Xvesa' X server, which was a notable difference to the previous test. Therefore I undertook a careful comparison of both disk images. I finally found out that the earlier creation did not set the setUID flags for '/bin/busybox', '/usr/bin/Xvesa', and '/usr/bin/sudo'. I put this down to a bug in the 'cpio' applet of the 'chruchbox' executable used on that floppy.

So I've amended the script I had used to cater for this issue (and updated the respective attachment above). Therefore the only remaining difference (at least that I'm aware of) are the '/boot/grub/stage[12]' files, as the above image uses v0.93 from the floppy, whilst the TC 3.x repository contains v0.97.

Therefore I can now report that the 'Xvesa' X server is actually able to run on a 16 MB RAM system. But the desktop background remains black as the 'hsetroot' command (from '~/setbackground') ends up with a segmentation fault. Nevertheless the 'wbar' is showing up and the (default) window manager (i.e. 'flwm_topside') appears to be functional. Still there is no room in the RAM to run any meaningful application.

I wonder whether there is any (tiny) server that could be put to use on such a limited system, but I guess I've now "flogged this dead horse" more than I should have done.

Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11654
Re: tinycore on 133MHZ~16MB OLD TOSHIBA SATELITE PRO 445CDX not booting
« Reply #8 on: August 12, 2011, 08:59:19 PM »
Quote
Still there is no room in the RAM to run any meaningful application.

I wonder whether there is any (tiny) server that could be put to use on such a limited system, but I guess I've now "flogged this dead horse" more than I should have done.
Maybe not a server, but the  iptables.tcz  package at about 600K might allow building a firewall. Maybe
also a DHCP server.

Offline floppy

  • Hero Member
  • *****
  • Posts: 577
Re: tinycore on 133MHZ~16MB OLD TOSHIBA SATELITE PRO 445CDX not booting
« Reply #9 on: August 17, 2011, 03:27:02 PM »
Hi dan0804smith
You don't have enough RAM.
RAM upgrade?.
Look at http://www.memorystock.com/memory/ToshibaSatellitePro445CDX.html
or
http://www.compuram.de/
Personally I contacted compuram.de by mail with my machine description, spoke with them at the phone, ordered the RAM (it changed if I remember from 36MB .. to 768 MB!.. which was in reality too much) and they sent the correct working RAM. It was not so expensive (for somebody not so creative like me.. not like the persons here in this tread who try to find a solution for your space shuttle).
And: I changed the processor for few euros, by buying it in ebay.
AMD K6-IIIATZ 550MHz MB DFI K6xv3/+66
P4 HP DC7100 3GB 3GHz
Samsung NC10 boot from SD card port (via USB reader)
.. all TinyCore proofed