Subject: Re: A little help with a root-on-NFS kernel?
To: John Hawkinson <jhawk@MIT.EDU>
From: gabriel rosenkoetter <gr@eclipsed.net>
List: port-i386
Date: 07/08/2000 11:13:56
Okay, clearly it's about time I give up and subscribe to port-i386
;^>.

(Gee, that only makes... umm... six NetBSD mailing lists for me to
procmail. Whee.)

On Sat, Jul 08, 2000 at 09:46:30AM -0400, John Hawkinson wrote:
> Not a dumb question! Especially, as we should ask ourselves,
> "How could the documentation have been clearer on this topic?"

Heh. I can accept that. I guess this would have been a real pain if I
didn't know at least vaguely what was supposed to be going on.

> [ Please try to excuse my anti- HOW-TO sentiment in the following
> text ;-) I'm a believer in One Source(tm) for documentation. ]

Yeah... but the rest of us aren't. Just look at the damn web page. ;^>

> 1. Ah. While the i386-specific info to the diskless HOWTO,
>    "http://www.netbsd.org/Documentation/network/netboot/intro.i386.html",
>    discusses HIMEM.SYS at this information does not appear to be in the
>    dosboot(8) or w95boot(8).  This is an oversight and needs fixing.

I guess I got lucky about picking the almost-wrong documentation,
then. ;^>

> 2. It's not very clear about how HIMEM.SYS gets in the way; can you
>    explain the symptoms and problems that you saw, please, so the
>    documentation can be better updated? Can we improve the diagnostics in
>    this case?

Well, if you just "reboot into DOS" from Windows, dosboot will happily
run, do the memory initialization, and then flash a full (640x480)
screen fully of funny, colored, some-blinking characters. And sit. No
booting.

Without HIMEM.SYS loaded everything's happy. I did on my laptop by
holding ^F2 just after the BIOS was done... just when the "Windows 98"
screen with the anti-scrollbar at the bottom pops up... too late, and
the machine just beeps its head off at me, too early and my BIOS goes
into error-checking mode. Doing it right gets one the Win98 boot menu,
from which I chose "Step-by-step confirmation" and just held down
ESC. (This *is* in the i386-specific diskless section, though the
reasons these files cause problems aren't given... not sure a new user
would care much why, though.)

> 3. There's no mention of dosboot(8) in the INSTALL.* notes. This is
>    an annoying omission.

Agreed.

> 4. Perhaps incidently, dosboot isn't available anywhere
>    convenient. Ideally it should be in binary/kernel/ (or closeby).

Well, it's not *that* hard to dig out of base.tgz if you know to look
(and have *any* other Unix machine around), but it definitely belongs
in the installation directory of the release's tree.

> Ah, well, that's because the diskless HOW-TO is not for installation, per
> se, but is for operating on a machine without a disk. That's not really
> what you want.

Well, yeah, and it's appropriate to be vague here, actually, since one
could boot a variety of kernels depending on which architecture and
for what purpose one was booting.

I think most people who end up using dosboot are doing it on an
otherwise-Windows machine without a spare drive... they also want to
use BSD on the console, but they want to do so, well, diskless. But
without inserting a floppy each time they boot.

Most people installing on a new machine *have* a floppy drive. I
didn't. On the other hand, it's nice that dosboot works perfectly for
this, and that ought to merit mention in INSTALL, probably.

> Do you think the diskless HOW-TO was unclear in indicating what
> it was intended for? Should the first paragraph be rewritten
> or re-emphasized to clarify that it is not talking about
> installation-without-a-floppy, but is instead talking about
> booting-normal-netbsd-with-no-local-netbsd-disks?

Oh no, I knew I was misusing the diskless approach. It was just the
first fallback after burning a CD (since I couldn't put a boot block
on the CD, lacking another i386 machine to build an install-floppy-
on-a-CD image).

Still, great that it worked.

(Ended up having to burn a CD with just the sets anyway, since the
install kernel doesn't support my xircom card, though by all
indications, we do support it with the xi driver. I presume it was
trimmed out as unecessary excess in an install kernel, which sort of
makes sense.)

> I've numbered the points above that I think we need to fix.
> Does anyone have any feedback on them, or suggested wording/implementation
> text?

Not that I'm an expert (beyond having used this approach to install...
well, almost install, pax is still chugging), but (and based on
mucking with macppc and mac68k ports) I'd say INSTALL should get a few
changes in its "Getting the NetBSD System on to Useful Media" section
(seeing as CD-Rs work quite well for installs when the network is
unavailable, and DOS floppies are pretty silly for installation these
days due to the quantity involved).

Something like belongs either in the "Getting the NetBSD..." section
or through drastic changes to the "Installing the NetBSD System"
section, which presumes one is installing via boot floppy (impossible
in my case).

([]ed sections should obviously be formalized.)

To install or upgrade NetBSD by using dosboot from a FAT partition on
your disk (regardless of how you choose to retrieve the installation
sets), you must do the following:

o   Have a FAT partition. [run defrag, use FIPS to create a--really
    small--FAT (NOT FAT32!!!) partition, initialize it in windows]
o   Copy dosboot.com and the installation kernel, netbsd-INSTALL
    (NOT GZIP'ED!) into your FAT partition from Windows.
o   Reboot, turning HIMEM.SYS off (if you have APM???) [see my notes
    above about this].
o   Presuming your FAT partition is D:\, do:

    C:\WINDOWS> d:\

    D:\> dosboot netbsd-INSTALL
    <kernel boots>
o   After the kernel comes up, you'll be in sysinst and can continue
    installing (formatting the hard drive, retrieving packages however
    you choose to).
o   Of note is that if you wipe out your Windows partition THIS
    PROCESS IS NOT REPEATABLE. If you make a mistake and NetBSD is
    unbootable, you'll find yourself looking for a Win98 CD to start
    over. [I did this... if it means anything, the install kernel
    looks for secr.tgz in the wrong place... in binary/sets instead of
    in sets/../secr. Because it didn't install all the packages,
    sysinst booted me out, and never set up an fstab on the disk (nor
    ran MAKEDEV, so when I boot there's no console and I can't bring
    the thing up.]

... and adding a section on how to boot from a CD that's not the
official NetBSD CD would be cool too.

> When this discussion dies down, all of the above should either
> be declared irrelevent, fixed, or send-PR'd ;-)

Are there really any other choices in life? ;^>

> Thanks for finding a lapse in the documentation!

No sweat, thanks for your help getting things straightened out.

       ~ g r @ eclipsed.net