Saving, not Sabotaging

by hobbitalastair

As I mentioned in this post, I managed to get the Toshiba working – at a decent speed…

Now for the technical details!

I used Sabotage Linux, a lightweight linux distro based on the Musl C library and busybox. The process was somewhat convoluted:

  1. Install Sabotage Linux, either to a VM or to the HDD. I installed to the HDD, because my PC does not support virtual machines and the iMac is still not finished.
  2. Cross compile from the Sabotage Linux system, building a custom system.
  3. Tar up the custom system, and copy to a USB stick.
  4. Boot up the Toshiba with the Linux from Scratch live CD, which does boot, unlike many other live CD’s.
  5. Partition the hard drive on the Toshiba, and untar the custom system from the USB stick to the drive.
  6. Install a bootloader. I used Grub, mostly because I was unable to get Syslinux to work.

A few gotcha’s:

  • Sabotage Linux does not cross-compile easily – it has multiple bugs in the packages and packaging system. For one, the generated download scripts appended an S to the end of the URL, breaking the download. This was solved by editing the pkg file and adding a space to the end of each URL. Some of the packages also required other modifications.
  • A separate boot partition is required at the start of the drive. The BIOS in the Toshiba refuses to go beyond the 512MB mark on the disk…
  • The kernel needs generic PATA support and ISA support compiled in – otherwise it will not boot.
  • ACPI support in the Toshiba is broken – although I believe that, by disabling certain features (PCI maybe?) I should be able to get ACPI to work. Note that ACPI requires the latest BIOS.

It would be a challenge to complete this without my PC – the stripped down kernel only takes about 10-15 minutes to compile :). On my Pi, it took a couple of days…

I’d like to move to the iMac sometime in the near future, but mostly because the iMac is supposed be there for compiling software, and other similar tasks.