Wednesday, October 3, 2012

Fuloong

It's been a rocky ride so far.

Observation #1: PMON is a POS (and that's not "point of sale terminal")
  • Why serial console only gets the firmware boot time messages?
  • Why can't I look at all those messages scrolling by into oblivion?
...actually, you could write a book about the "why can't I XXX". Why PMON? If they did a TI where the braindead firmware just ran something like "boot.elf" in the order of USB, then HD, it would be still miles better. Would u-boot really be harder to port? It would certainly be less obscure. I think some grad students ported UEFI. Well...it's pseudo-UEFI, since UEFI doesn't technically *do* MIPS... *sigh*. There is EFI-MIPS, but, curiosly enough it's EDK-based, which makes me feel like I'm back in 2006, and is an obvious dead end for that matter alone.

Observation #2: Booting Linux via a hex input panel, if possible, would probably be simpler.
  • https://wiki.parabolagnulinux.org/MIPS_Installation
  • The numbering thankfully doesn't change from different USB ports.
  • Curiously enough, 'load' work faster than 'initrd'. I timed it against loading the same file. Expect to run to Voltage and back for a coffee before the initrd completes...
 Observation #3: Booting doesn't actually work.
  • Without initrd, I get a hang after the i8042 probe.
  • With initrd, I get the MIPS equivalent of a data abort from the firmware.
  • ...PMON can't handle an initrd.
 Observation #4: For an architecture endorsed by RMS, this is all unreasonably obscure.
  • I decided to chain-load  through GRUB2, but there are no GRUB2 prebuilts.
  • There is a GRUB2 prebuilt for the Yeelong, but this one just flashes "press ESC to skip loading on-disk grub.cfg", while ignoring both the USB HID and the serial.
  • There are no "newer" firmwares you can test chain-boot.
Technically, I don't care, but booting Linux is good proof that the hardware is alive, and allows for self-hosted development.

There was something already present on the disk (rays Linux), but it didn't boot with the default boot options. Manually doing -
PMON> load /dev/fs/ext2@wd0/boot/vmlinux-2.6.18-fl-v1.02
PMON> g init=/bin/bash
 ...got me far enough to change the password so I could use the system, copy the kernel and initrd from the USB stick, and add a boot.cfg entry (root=/dev/sda1 console=/dev/ttyS0)

Of course, still can't boot the Arch Linux build. I get a bunch of unaligned kernel access followed by a page fault.

Hmmm.

A

No comments:

Post a Comment