Subject: Re: netbsd 2.0 on rs6000 43p, what I've been able to do so far, and
To: Rongsheng Fang <rfang@cs.gmu.edu>
From: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
List: port-prep
Date: 01/25/2005 22:08:04
On Tue, 25 Jan 2005 05:56:26 -0500
Rongsheng Fang <rfang@cs.gmu.edu> wrote:

> Just want to make this a little louder: I tried installing the snopshot=20
> (announced by Jochen yesterday) on my 43p-140 last night and experienced=
=20
> the _exact_ problem Tim had.
Yes. Getting a disklabel on the disk is tricky. I mounted a scratch disk
in my 43P-140 to provide you with an installation log.

I did it this way:
boot sysinst_com0.fs
Exit to shell.
ifconfig pcn0
mount NFS volume containing distribution sets by hand, then:

You must use sysinst.fs and generic.fs when you want to use VGA console.

# dd if=3Dgeneric_com0.fs of=3D/dev/sd0c
# fdisk sd0
[...]
Partition table:
0: Linux/MINIX (sharing disk with DRDOS) or Personal RISC boot (sysid 65)
    start 0, size 2879 (1 MB, Cyls 0-0/45/45), Active
1: <UNUSED>
2: <UNUSED>
3: <UNUSED>
# fdisk -u -1 sd0
sd0: no disk label
Disk: /dev/rsd0c
NetBSD disklabel disk geometry:
cylinders: 3708, heads: 20, sectors/track: 113 (2260 sectors/cylinder)
total sectors: 8380080

BIOS disk geometry:
cylinders: 521, heads: 255, sectors/track: 63 (16065 sectors/cylinder)
total sectors: 8380080

Do you want to change our idea of what BIOS thinks? [n]=20

Partition 1:
<UNUSED>
The data for partition 1 is:
<UNUSED>
sysid: [0..255 default: 169]=20
start: [0..522cyl default: 2879, 0cyl, 1MB] 1cyl
size: [0..521cyl default: 8364015, 521cyl, 4084MB]=20

We haven't written the MBR back to disk yet.  This is your last chance.
Partition table:
0: Linux/MINIX (sharing disk with DRDOS) or Personal RISC boot (sysid 65)
    start 0, size 2879 (1 MB, Cyls 0-0/45/45), Active
1: NetBSD (sysid 169)
    start 16065, size 8364015 (4084 MB, Cyls 1-521/162/10)
2: <UNUSED>
3: <UNUSED>
Should we write new partition table? [n] y

As you can see there are different fdisk(8) and disklabel(8) geometrys.
I choose the NetBSD partition to start on a fdisk(8) cylinder boundary.
IIRC this makes the fdisk(8) stuff more happy.

Now comes the tricky part. We have to write an initial disklabel(5) to
the disk with default values. Otherwise disklabel(8) will refuse to
write a disklabel(5) to the disk later.

I changed slice c: to cover the entire disk because I got problems
writing a new kernel to the disk later. Seems port-prep has some problems
with MBR partitions as it doesn't reserve partition d: for the entire disk
as port-i386 dos.

# disklabel -i -I sd0
sd0: no disk label
partition> P
7 partitions:
#        size    offset     fstype [fsize bsize cpg/sgs]
 c:   8364015     16065     unused      0     0        # (Cyl.      7*-   3=
707)
 d:      2879         0     unused      0     0        # (Cyl.      0 -    =
  1*)
 e:   8364015     16065     unused      0     0        # (Cyl.      7*-   3=
707)
partition> W
Label disk [n]? y
Label written
partition> c
Filesystem type [?] [unused]:=20
Start offset ('x' to start after partition 'x') [7.10841c, 16065s, 7.84424M=
]: 0
Partition size ('$' for all remaining) [3700.89c, 8364015s, 4083.99M]: $
 c:   8380080         0     unused      0     0        # (Cyl.      0 -   3=
707)
partition> W
Label disk [n]? y
NetBSD slice at 16065, partition C at 0
Write outside MBR partition? [n]: y
Label written
partition> R
Rounding [sectors]: c
partition> a
Filesystem type [?] [unused]: 4.2BSD
Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: 8c
Partition size ('$' for all remaining) [0c, 0s, 0M]: 128M
 a:    262160     18080     4.2BSD      0     0     0  # (Cyl.      8 -    =
123)
partition> b
Filesystem type [?] [unused]: swap
Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: a
Partition size ('$' for all remaining) [0c, 0s, 0M]: 256M
 b:    524320    280240       swap                     # (Cyl.    124 -    =
355)
partition> f
Filesystem type [?] [unused]: 4.2BSD
Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: b
Partition size ('$' for all remaining) [0c, 0s, 0M]: $
 f:   7575520    804560     4.2BSD      0     0     0  # (Cyl.    356 -   3=
707)
partition> P
7 partitions:
#        size    offset     fstype [fsize bsize cpg/sgs]
 a:    262160     18080     4.2BSD      0     0     0  # (Cyl.      8 -    =
123)
 b:    524320    280240       swap                     # (Cyl.    124 -    =
355)
 c:   8380080         0     unused      0     0        # (Cyl.      0 -   3=
707)
 d:      2879         0     unused      0     0        # (Cyl.      0 -    =
  1*
)
 e:   8364015     16065     unused      0     0        # (Cyl.      7*-   3=
707)
 f:   7575520    804560     4.2BSD      0     0     0  # (Cyl.    356 -   3=
707)
partition> W
Label disk [n]? y
NetBSD slice at 16065, partition C at 0
Write outside MBR partition? [n]: y
Label written
partition> Q


Now start /sysinst.

Choose "Edit the MBR partition table" (do not choose "Use the entire disk")
but accept the already existing partitions without changing them.

Choose "Use existing partition sizes". Edit the options for the a: and f:=20
slices. Set "newfs" to "Yes", set "block size:" to "8192" (or what ever
default value the menue presents to you.), set " mount options:" to=20
"softdep" and "mount point:" to "/" resp. "/usr".

E.g.:
 The current values for partition `a' are,=20
 Select the field you wish to change:
=20
                           MB cylinders   sectors
                      ------- --------- ---------
 a:         FStype:     FFSv1
 b:          start:         8        8      18080
 c:           size:       128      116     262160
 d:            end:       136      124     280240
 e:          newfs:       Yes
 f:  avg file size:         4 fragments
 g:     block size:      8192 bytes
 h:  fragment size:      1024 bytes
 i:          mount:       Yes
 j:  mount options: softdep=20
>k:    mount point:         /
 l: Change input units (sectors/cylinders/MB)
 m: Restore original values
 x: Partition sizes ok

When done with editing the disklabel(5) will be rewitten. Answer "y" when
disklabel(8) asks to write outside MBR partition.=20
From here on everything should work without further cheating.
--=20


tsch=FC=DF,
       Jochen

Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/