preliminary test of d-i on the mips board SWARM from Broadcom
I've done some very preliminary tests with debian-installer on a mips
development board from Broadcom, the BCM91250A, also known as SWARM.
This is a standard ATX board with USB and PCI, and can run in little
and big endian mode. Guido Guenther, Thiemo Seufer and I are going to
work on adding support for this board to Debian and debian-installer,
with Karsten Merker helping with generic mips support.
First, I added support for this sub-arch to linux-kernel-di. This
works, but I noticed that some more modules would be nice. I
requested them in #238428.
This sub-arch currently does not build any images in d-i, so I added a
netboot image in my test environment (i.e. not commited to CVS) to
generate the kernel and an initrd (taken from alpha's netboot image).
I then used sibyl (the bootloader for these boards, which is not in
Debian yet) to boot the kernel and the initrd. The kernel in Debian
(kernel-image-2.4.22-sb1-swarm-bn) does not come with initrd support,
so this failed. I reported this bug (#238447), and built my own.
The standard debconf frontend is kind of awkward to use via the serial
console. While lists are okay because the current item is displayed
in bold, the buttons cannot be used easily because it is impossible to
see which one is selected at the moment. I guess we should use a
different debconf frontend, but I was surprised to see that no other
architecture does that. Actually, I just realize that perhaps my
minicom settings are just messed up, and it's possible to turn on
colour somehow. I think I remember doing this in the past. Okay,
using "cu" instead of minicom, I get colour. If anyone knows how to
get colour in minicom, please let me know.
The system installed arcboot-installer, which is the bootloader for
SGI MIPS system. I've commited a fix to arcboot-installer so it's
only installed on SGI sub-arches. I've commited a similar fix so delo
is only used on DECstations. The boot loader for this board, sibyl,
is not in Debian yet. Thiemo Seufer is working on this.
In the main menu, I selected "Select a keyboard layout", and chose
PS2. But then I was still on this point in the main menu, rather than
on the next one ("Detect network hardware").
In "Partition a hard drive", it found my IDE disks, but actually
partitioning did not work. In the logs, I noticed:
Jan 10 20:03:43 (none) user.info partitioner.postinst: INFO: Using architecture depend fdisk configuration
Jan 10 20:03:54 (none) user.info main-menu: (process:2445): sh: cannot open /dev/tty: No such device or add
~ # cfdisk /dev/ide/host0/bus0/target0/lun0/disc
in a shell works without any problems. I don't know why it tries to use
/dev/tty. (Yes, I passed devfs=mount to the kernel. /dev/console exists,
/dev/tty does not.)
BTW, partman worked without any problems. I would like to use partman
as default for this mips sub-architecture, but fdisk for others (SGI).
At the moment, this doesn't seem to be possible.
When it came to installing a kernel, it did not know which one and
showed me a list (the list was correct). I've commited a fix to CVS
so it knows the right kernel automatically.
In summary, we need:
- initrd support in the kernel
- a kernel for little endian
- sibyl (the bootloader)
Once we have sibyl, we can create a sibyl-loader udeb. We can then also
think of creating bootable images. This board can boot from:
- IDE hard drive (with sibyl)
- via TFTP (either with embedded initrd in the kernel, or by loading
sibyl which can then load the kernel and initrd)
- PCMCIA ATA flash card: presumably with a FAT file system
- IDE CD: I have no idea how.