Subject: Re: still not clear on the bootloader thing
To: Brian <bmcewen@comcast.net>
From: Andy Ruhl <acruhl@gmail.com>
List: port-cobalt
Date: 03/11/2005 12:36:02
On Fri, 11 Mar 2005 07:19:43 -0500, Brian <bmcewen@comcast.net> wrote:
> 
> So, I still am not clear when exactly the bootloader changed.
> 
> In the list archives,
> 
> Per Dale in July/Aug 2004:
> ------------
> The cobalt "bios" is actually a linux kernel in rom.  It definitely
> has some size limitations, both compressed and uncompressed.  Search
> the archives of this list for more info.
> 
> To get around these problems, the current netbsd "rescue" disk installs
> a netbsd bootloader but renamed as vmlinux.gz so the linux firmware
> can load/run it.  It does not have the size limitations that the
> firmware loader has.  It (of course) knows about netbsd partions and
> netbsd kernel names, so you don't need to fiddle around with copying a
> new kernel to the linux partition anymore.
> -------------
> 
> What I'm not clear on, to which "rescue" CD is he referring?  When did
> this change really happen?  I had gathered that the netboot CD that
> Dennis made had this limitation, at least an existing limitation was
> brought up on the list a few times not that long ago.  I see nothing in
> the netbsd/cobalt file trees or portion of netbsd.org website with a
> rescue CD for cobalt/MIPS- since we have no CD-ROM drive, that's not
> surprising.
> 
> I installed 1.6.1 from Dennis' netboot CD. Am I good to build whatever
> size 2.0 kernel I want, or do I have to grab the new, renamed
> bootloader from one of the 2.0 netboot CD .iso's. I have unpacked all
> the 2.0 stuff (I think:) and have no vmlinux.gz in those trees anyway.
> 
> Is this a totally idiotic question? <grin> If so, why?
> 
> I'm feeling like this is another case of the existing, everyone (but
> me) seems to know, but it isn't documented thing- like pulling specific
> branches like the     cvs with -rpkgsrc-2004Q4
> example on this list recently.

I'm not sure how much I'm answering for you here, but I'll take a shot.

The Qube firmware by default looks for a gzipped file called
/boot/vmlinux.gz. This file must exist on the first partition, and
must be an old revision of the ext2fs (see this
http://mail-index.netbsd.org/port-cobalt/2000/10/05/0000.html). In our
case, this vmlinux.gz file is actually the bootloader if you used the
rescue CD, but I think it should work if you just copy the bootloader
in there if you obtain it from the CD. I'm not positive about this
though.

You can also put a kernel (or bootloader) in a file called
/usr/games/.doug which will be booted if you hold down all 4 buttons.
This also needs to be gzipped.

Once the bootloader is booted, it then knows how to find the netbsd
kernel on the netbsd root partition, and you're done.

Note that once NetBSD boots, the linux partition is completely
inconsequential to NetBSD operation. It's only for boot purposes. This
is nice because you can build whatever kernel you want and generally
do anything you want with NetBSD (upgrade, add disks, etc) and it will
still work as long as you don't bother the linux partition.

Andy