Well, managed to get the damned thing working! Runs pretty smoothly with 100MHz, so I can't complain!
If anyone's interested (e.g. cast-fish!), here's how I managed it with no CD or USB, a P1 processor and 40MB RAM:
(Sequence shortened significantly! Lots of experimentation)
Now, I did have and use a floppy drive (partly for convenience, partly necessity) but I want to provide a complete guide for those who have no USB, CD, floppy or even working keyboard.
First things first, connect your hard drive. You can use a £5 USB-IDE cable, or connect it directly, using a laptop-desktop IDE adaptor if necessary.
Type 'dmesg' just after you connect to find the device name. It should appear frequently as 'sdX' in the output.
First, let's partition and format the drive.
sudo fdisk /dev/sdX
o
p
Now, you'll need to set some swap space, so I got my target's RAM size, doubled it, then divided it by the cylinder size shown, in megabytes. For me: 40*2 /1, so 80 cylinders of swap space.
n
p
1
1
[default minus swap space, as discussed]
n
p
2
[default]
[default]
t
2
82
a
1
p [just to check!]
w
Right, that's the partition done, now to format. I used ext2, but you could probably use ext3 with no problems.
sudo mkfs.ext2 [or ext3] -I 128 [to avoid compatibility problems] /dev/sdX1
Now you'll need to download Grub4DOS here:
https://code.google.com/p/grub4dos-chenall/downloads/listExtract it and cd to the directory, then:
sudo ./bootlace.com --time-out=0 /dev/sdX
sudo mkdir /mnt/sdX1
sudo chmod 0777 /mnt/sdX1
sudo mount /dev/sdX1 /mnt/sdX1
cp ./grldr /mnt/sdX1
Now to make the menu.lst file:
vi /mnt/sdX1/menu.lst
i
root (hd0,0)
kernel /bzImage root=/dev/hda1 vga= [ look here: http://wiki.tinycorelinux.net/wiki:display_modes ]
chainloader (hd0,0)
[esc]
:wq
Now download tinycore.iso from the homepage. We'll need to extract some files, easiest way is to use the archive manager:
sudo file-roller
Now open up tinycore.iso, open 'boot' and extract bzImage to /mnt/sdX1. Then extract tinycore.gz. Open that archive and extract tinycore.cpio. Open
that archive and extract all the files to /mnt/sdX1.
Now close the archive manager and download Xfbdev:
http://distro.ibiblio.org/tinycorelinux/3.x/tcz/Xfbdev.tczCopy it to /mnt/sdX1/opt/tce. Create the directory if it doesn't exist.
sudo umount /mnt/sdX1
You should now be able to disconnect the hard drive and put it back into the target machine.
Upon booting, if everything worked, TC should try to start Xvesa. One of these should happen:
If you get a black screen with a cursor, but no prompt, press CTRL+C, then type 'sudo reboot' to try it again
If you get a good desktop, then you can stop here! Xvesa works for you.
If you get a grub prompt, check menu.lst and bzImage. Enter the commands in menu.lst one by one to check for problems. On newer machines, you might need to use /dev/sda1 rather than /dev/hda1.
If you can't get it to boot from hard disk (and it's not a BIOS issue) check for grldr and run ./bootlace.com once more.
If you get a white or garbled screen after initial loading, press ALT+BACKSPACE, and carefully type 'touch /tmp/text' then 'sudo reboot'
Assuming the last option occurred, upon rebooting you should be in the TC shell. You might need to press CTRL+C
Attempting to start Xvesa automatically set up our .xsession file.
Right, from the TC prompt:
sudo rm -f /tmp/text
tce-load -c -i /opt/tce/Xfbdev.tcz
Now, let's check everything went OK...
Xfbdev --help
cat .xsession
The first command should spew out a lot of usage documentation. If it doesn't e.g. 'not found', you'll need to reload the TCZ file.
With the second command you should see about 10 lines of code. One of them should be a long line with 'Xvesa' in it. If it doesn't, do a 'sudo reboot' and try starting Xvesa once more.
Now do 'sudo vi .xsession' to open the editor. Press 'i', navigate to the long line, and replace with:
Xfbdev -mouse /dev/input/mice,5 -nolisten tcp -I &>/dev/null
(/dev/input/mice,5 should be replaced by whatever was originally in the command line for Xvesa in .xsession)
Yep, straight from the wiki page!
Now press ESC, then type ':wq', then 'sudo reboot'
If everything worked, you should now have a working desktop
If the screen is garbled, it probably tried to start Xvesa again. Check the .xsession file.
If you only have a blank screen with a cursor for some time, press CTRL-C and type 'Xfbdev --help'. If it says 'not found', reload the TCZ file, ensuring to use the -c and -i options.
A cursor but no desktop means there is a problem with the window manager.
If it always goes to the prompt, remove /tmp/text.
Right, that's everything, I believe. Any questions?