Subject: Re: System load?
To: Glyn Astill <glynastill@yahoo.co.uk>
From: Andy Ruhl <acruhl@gmail.com>
List: port-cobalt
Date: 12/11/2006 07:57:38
On 12/11/06, Glyn Astill <glynastill@yahoo.co.uk> wrote:
> Sorry to sound basic, if I upgrade the kernel to v4 will that mean
> that I'm running version 4 of NetBSD?
>
> In theory this shouldn't change the way my machine works, it'll just
> be running a newer kernel?
>
> What worries me is if I compile a poo kernel and am unable to get
> back into the os to put the old image back.
>
> What are the Qube specific switches and configurations used to do
> this?
>
> I think I'm going to need some hand hloding through this or I may
> cry.

Start with this.

(Same old "back up your box" disclaimer will apply eventually)

Mount your Linux partition and do ls -l in the boot directory on the
Linux partition. Here's a quick example:

My Qube2 disk (non fixed font garbled, sorry):

# disklabel -r wd0
# /dev/rwd0d:
type: ESDI
disk: IC35L060AVER07-0
label: fictitious
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 119150
total sectors: 120103200
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # microseconds
track-to-track seek: 0  # microseconds
drivedata: 0

8 partitions:
#        size    offset     fstype [fsize bsize cpg/sgs]
 a: 118993074   1110126     4.2BSD   2048 16384 28608  # (Cyl.   1101*- 119149)
 b:   1048576     61550       swap                     # (Cyl.
61*-   1101*)
 c: 120041650     61550     unused      0     0        # (Cyl.     61*- 119149)
 d: 120103200         0     unused      0     0        # (Cyl.      0 - 119149)
 e:     61487        63 Linux Ext2      0     0        # (Cyl.
0*-     61*)
 f: 120041650     61550     unused      0     0        # (Cyl.     61*- 119149)

Linux partition is /dev/wd0e, so let's mount it:

# mount -t ext2fs /dev/wd0e /mnt
# ls -l /mnt/boot
total 104
-r-xr-xr-x  1 root  wheel  22470 Sep 19  2005 boot.gz
-r--r--r--  1 root  wheel  27838 Jul 12  2004 boot.old.gz
-r-xr-xr-x  1 root  wheel  22473 Sep 19  2005 vmlinux.gz
-r--r--r--  1 root  wheel  27838 Jul 12  2004 vmlinux.old.gz

I'm not remembering at this point if it's vmlinux.gz or boot.gz that
is being read by the Cobalt firmware... I believe it's vmlinux.gz. The
point is, if it's this small (22k or so), then it's really just the
NetBSD bootloader, and this is good news. What it means is, you can
just change the NetBSD kernel in / at your own whim to try different
kernels.

Meaning:

1. compile a new kernel
2. cp /netbsd /netbsd.old
3. cp newkernel /netbsd
4. reboot

It's not very likely that you will render the machine unbootable, I
haven't had that problem in quite a long time now. The main thing to
remember is, you can change the kernels all you want. But once you
start upgrading userland utilities to match that kernel, you can't
then go backwards back to your old kernel.

My best advice is:

Find a newer kernel that is newer than your current userland. I'm not
sure if 3.1 is, anyone? If so, you can get it here:
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cobalt/binary/kernel/netbsd-GENERIC.gz

Then put that one in place and try it. If this one is not newer than
your userland, then you'll have to grab either the release-4 or
current source and compile a kernel. The NetBSD guide has rather good
instructions on doing this. But maybe we can help.

Andy