Subject: sysinst 1.3.2
To: None <port-i386@NetBSD.ORG>
From: Michael Richardson <mcr@solidum.com>
List: port-i386
Date: 06/11/1998 16:20:13
-----BEGIN PGP SIGNED MESSAGE-----
I just loaded 1.3.2 on my desktop in my new office.
I had set aside a 300Mb partition for NetBSD. I also have
an NTFS, a DOS fs, and a Linux one. I'm posting this as a sort
of HowTo... If someone would like to post this, you have my permission.
Disk /dev/hda: 64 heads, 63 sectors, 1023 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/hda1 2 2 154 308448 a5 BSD/386
/dev/hda2 155 155 510 717696 5 Extended
/dev/hda3 * 511 511 815 614880 7 OS/2 HPFS
/dev/hda4 816 816 1023 419328 6 DOS 16-bit >=32M
/dev/hda5 155 155 281 256000+ 83 Linux native
/dev/hda6 282 282 442 324544+ 83 Linux native
/dev/hda7 443 443 510 137056+ 82 Linux swap
I turn out not to have much a 1023 sector issue, since my disk is just
over 2Gb in size, and I just lost the bit extra.
I used Linux pfdisk to set up the partitions. I wish we had our
own pfdisk program on our boot disk, particularly since I have a number
of patches I'd like to do for it.
I originally used the NT boot selector, but since my NT partition
is "C" and the DOS one is D, I had to go through stupidity to get the
LILO boot blocks into the NT's C disk. One has to do this every time
one installs a new kernel under Linux. (So stupid. Why not have a second
stage boot program?)
1. set boot=/dos/bootsect.lnx in my /etc/lilo.conf
2. /sbin/lilo
3. reboot with NT.
4. copy D:bootsect.lnx to C:bootsect
5. reboot, pick Linux.
I then switched to OSBS. Alas, you see that my Linux partitions all
live in an extended partitions. OSBS can't handle this. Turns out that
one can use LILO to do the boot selection. I now have an /etc/lilo.conf:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/vmlinuz
label=linux
root=/dev/hda10
read-only
other=/dev/hda1
label=NetBSD
other=/dev/hda3
label=NT
Now, about my NetBSD 1.3.2 installation.
I use pfdisk under Linux to find out the sector offsets of the Linux
partitions, and I wrote this down. I also noted the sector offsets of
my DOS partition.
I downloaded the NetBSD split files to my /dos/netbsd (using Linux). I did
it because I had space there, and I wasn't sure if ext2fs was compiled into
the install kernel. I knew that msdos was.
Caveat: the DOS file system doesn't like boot.fs.gz, at least Linux isn't
smart enough to use long file names. No big deal, since I just needed that
to make the boot floppy.
Reboot from floppy... install system, use only part of the disk, edit
the disklabel. The following would be nice additions for sysinst:
1. ability to import BIOS partitions in as NetBSD slices.
2. ability to understand extended partitions, and do #1 on them.
[when we have 16+ slices, we should probably do this automatically]
I had to reboot back to Linux twice to get all the numbers that I was
missing. Watch it: when you pick "sector" units with pfdisk, the sizes
are still printed in kilobytes.
You may be tempted to build your NetBSD partition with pfdisk, since it
supports the "x"-link option. Don't. It is broken in v2.1 for extended
partitions. It imports them, but forgets to add the offset of the extended
partition.
The next problem that I had was that sysinst doesn't understand the split
files. How come? It is easy enough. ^C, and 'cat foo.?? >foo.tgz' and
I restarted.
Okay, things were good, and I installed, mounted my ext2fs partitions, my
DOS partition, and copied some configs around. I'm now pulling syssrc down
at 28.8 (did I mention it is a startup?... yeah, I got 10x that bandwidth
at my home office) so I can build a kernel that has pms0 support.
I must say it is nice to have up-to-date X support. I just copied my
Linux XF86Config, and I think it'll work once I get the mouse driver
configured.
A problem I had when I went back to Linux. The partitions got renumbered.
Smartly, Linux tries to fsck its root even when you ask for single user
mode.... It gets screwed up, since /etc/fstab is wrong. Actually, to get
to that point, you have to boot it with an argument that tells it where
its root is. Before I installed NetBSD, I had:
Partition check:
hda: hda1 hda2 < hda5 hda6 hda7 > hda3 hda4
Afterwards, I have:
Partition check:
hda: hda1 < hda5 hda6 hda7 hda8 hda9 > hda2 < hda10 hda11 hda12 > hda3 hda4
I used NetBSD to edit Linux's /etc/fstab, and the root=/dev/hda10 to make
tell the kernel where the root is.
:!mcr!: | Solidum Systems Corporation, http://www.solidum.com
Michael Richardson |For a better connected world,where data flows faster<tm>
Personal: mcr@sandelman.ottawa.on.ca. PGP key available.
Corporate: <A HREF="mailto:mcr@solidum.com">mcr@solidum.com</A>.
-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: noconv
Comment: Processed by Mailcrypt 3.4, an Emacs/PGP interface
iQCVAwUBNYA79m5vCG0TOZrRAQF4NAQAr7cuY4tR+cztK7zDwFhiNkz2JXrwnp9K
KaJWXXoSbcUnWlt1pLhtwSs7D17L3kNr0xD9VJmlRbEXKPvggBt0iAyRX/VDfYVw
clphzY4iBf63/7rQXrzWHCynGE9heo7BX/i09tG3xNEfY27biBYZnBJk262oLvND
yRZTU5EioLg=
=Z/93
-----END PGP SIGNATURE-----