Post by Andy Ruhlahci 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.