NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: i386 install kernel doesn't detect SATA disks



Andy Ruhl <acruhl%gmail.com@localhost> writes:

> And INSTALL_FLOPPY looks like this:
>
> (andy@)[/usr/src/sys/arch/i386/conf] $ head -1 INSTALL_FLOPPY && grep
> ahci INSTALL_FLOPPY
> #       $NetBSD: INSTALL_FLOPPY,v 1.1.16.4 2013/06/19 07:50:15 bouyer Exp $
> #ahcisata*      at pci? dev ? function ?        # AHCI SATA controllers
>
> So it appears that someone thinks there shouldn't be AHCI for SATA in
> the install kernel. My result was the install kernel didn't detect my
> SATA disks until I rebooted and put them in IDE mode in the BIOS. And
> they wouldn't work with the production system until I rebooted and set
> them back to AHCI (fsbn error, I didn't write it down). Somewhere
> between slightly and mildly annoying.

I suspect that the theory is that machines where people use floppies do
not have AHCI, and that machines with AHCI will have a CDROM drive.

I guess the questions are:

  Why are you using INSTALL_FLOPPY, rather than INSTALL on a CD?

  If you are updating from older netbsd-5 to newer netbsd-5, do you
  really need to boot like that?


To point 2, I use (and partially wrote, and asked others to write)
pkgsrc/sysutils/etcmanage, which has an INSTALL-NetBSD script that
unpacks a build on a running system.  This is pretty trivial, and the
only tricky part is to use this order:

  back up and unpack kernel
  unpack sets:
    everthing but base and etc/xetc
    base
    DO NOT unpack etc/xetc

The ordering reason is that when crossing from 4 to 5, there were new
syscalls and libc used them, and if you unpacked the 5 base (including
libc) on a system running a 4 kernel, nothing worked.  But if you
already have the kernel, you can push reset.  Of course you should
unpack the kernel and reboot first.  The reason to do base last is that
the commands to unpack base will still work when the rest have been
updated.  So even doing a cross-branch update and forgetting to boot the
new kernel, the above is a one-reset-button method.

The point of etcmanage is to decide how to update /etc.  It's hard to
figure out etcmanage, but once done people seem to like it.  I update
systems along the stable branch with this all the time, with no manual
intervention - just run the INSTALL-NetBSD script and reboot.  The
BUILD-NetBSD script does the build and prepares some etcmanage data.

There is a different package sysbuild/sysupdate that addresses much of
the same issues.


You can of course change the INSTALL_FLOPPY kernel config and do a full
release build and use the kernel you built.

Attachment: pgpPqVQ9rtVSt.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index