booting kernel.old uses /boot/modules, not modules.old

YONETANI Tomokazu qhwt+dfly at les.ath.cx
Wed Sep 1 05:31:32 PDT 2010


On Wed, Sep 01, 2010 at 01:03:04AM -0700, Matthew Dillon wrote:
> 
> :go to
> :  ${DESTDIR}/boot/kernel.${DESTLABEL} and
> :  ${DESTDIR}/boot/modules.${DESTLABEL},
> :respectively.  I believe that the idea was to be able to specify this
> :${DESTLABEL} in the boot loader, for example,
> :
> :  OK boot ${DESTLABEL}		# or maybe .${DESTLABEL}
> :
> :and $kernel and $module_path are set up to point to those locations.
> :I'm not sure how to do this in Forth, though.
> :
> :/boot/<directory> is fine as well, but it could be useful if we have
> :some make variables for installkernel target to point to where old
> :kernel/modules should go or where new kernel/modules should be installed.
> 
>     I managed to the whole thing in one day, including ripping out the
>     4th loader and putting in a saner C-based menu system.

That's cool!

>     Not only can we now boot from directories/{kernel+modules}, but
>     I got directories/loader.conf localization working so it is possible
>     to have different root mounts, and thus possible to boot 32 or 64 bits
>     (though of course root, bins, usr bins, etc have to be different),
>     as well as keeping around backup kernels+modules and such.

If you try to install a module from e.g. /sys/dev/acpica5, the KLD goes
to right under /boot, is this intended?  $modules_path contains /boot,
so KLDs installed that way should just work, but it also affects the
traditional method:

  $ cd /sys/config
  $ config -d /path/to/writable MYKERNEL
  $ make depend && make
  $ sudo make install

This will install the kernel to /boot/kernel/kernel but all KLDs under /boot.
This is because KLDs are now installed to ${DESTKERNDIR}, which defaults to
/boot/${KERNEL}, but no .mk files included from within a module directory
supplies the default value for ${KERNEL}.





More information about the Bugs mailing list