Wednesday, Debtember 15, 1999
D'oh!
I finally got the
Thix
filesystem utilities mktfs
and tfsck
working, although
what I changed to make it work I'm not entirely sure since I wasn't keeping
that close a track of what I was doing. It seemed to go okay after I went
through the mktfs
code line by line, seeing the values being
calculated and stored in the superblock of its filesystem.
I had created two partitions on the drive in the laptop—an 8M partition for swap (if Thix supports it, I'm still not sure) and the rest (~108M) for the actual filesystem.
Finally I got an 108M (108.0117188 * 1024 * 1024 gives 113,258,496 bytes, so
you see I'm using the computer definition of megabyte, not the disks
manufacturer's definition) image file created, and a few runs through
tfsck
fixed it up. Ran gzip
over the image, which
compressed it down to something like an 11K file. I transfered it to floppy
(tar cf /dev/fd0 thxfs.img.gz
), sneakered it over to the
laptop.
I created a Minix filesystem on the 8M partition (using
Tom's Root Disk),
extracted the file from the floppy (tar xf /def/fd0
) and then
extracted the image file to the appropriate partition(gzip -dc
thxfs.img.gz | dd of=/dev/hda2
).
Several long minutes later, it was done. Booted from the Thix installation disk, it mounted the partition no problem, installed a bunch of stuff, popped the floppy out and rebooted.
Ah, the master boot record must be bad. Okay, this is easy. Let me approach this all wrong and spend an hour or so writing a custom boot sector on a floppy that will then read the partition table from a harddrive and boot from that.
It would have worked too, if it weren't for those pesky kids.
Sorry. I would have worked too, if in fact, a boot sector and kernel were actually part of the partition!
Oops. I should have read the installation instructions better. Especially the part:
Go into the Thix source tree (../thix). Edit the file fs/mount.c and set the root_device to point to the partition you want to install Thix on. That is, uncomment this lines: /* /dev/hda3 */ int root_device = HDC_MAJOR * 0x100 + 4;
and well, it goes on from there. Had I a bit more time, I probably could do it. Heck, had I a bit more time, I probably could have gotten Linux on the thing.
Mark suggested FreeBSD or Slackware. Can't use FreeBSD since I think that requires a math-coprocessor (although I'm sure Mark will correct me if that is not the case) and I unfortunately ran out of time to try Slackware (which probably would work).
I'm out of time, because I'm leaving for Palm Springs in, oh, less than 12 hours now.