Date: Fri, 29 Oct 2004 23:26:05 +0300 From: Giorgos Keramidas <keramida@ceid.upatras.gr> To: Brad Waite <freebsd@wcubed.net> Cc: freebsd-questions@FreeBSD.org Subject: Re: Building part of world Message-ID: <20041029202605.GC1046@gothmog.gr> In-Reply-To: <20041029183742.GB76157@dan.emsphone.com> References: <2614.67.165.234.240.1099073745.squirrel@webmail.wcubed.net> <20041029183742.GB76157@dan.emsphone.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2004-10-29 13:37, Dan Nelson <dnelson@allantgroup.com> wrote: > In the last episode (Oct 29), Brad Waite said: > > I'm trying to update my sys/pci/if_sk.c and would like to be able to > > build several versions without having to build the entire world. > > Since that's a kernel driver, you only have to build a new kernel. An even better approach in the case of a single kernel driver is to leave it commented out in the kernel config file. Then it will be built as a module by default. After at least one buildworld/buildkernel cycle has finished correctly with this configuration, you can use the already populated /usr/obj tree to build just this module: # cd /usr/src/sys/i386/conf # config -g -d /usr/obj/usr/src/sys/MYKERNEL MYKERNEL # cd /usr/obj/usr/src/sys/MYKERNEL # make depend && make && make install If you have only touched a single .c file, the 'make depend' step is AFAIK optional. The rest should finish pretty fast. Brave people might even get away by building the sk module only, by emulating the specific part of the kernel build: # cd /usr/src/sys/modules/sk # env MAKEOBJDIRPREFIX=/tmp/sk \ KMODDIR=/boot/kernel DEBUG_FLAGS="-g" MACHINE=i386 \ KERNBUILDDIR="/usr/obj/usr/src/sys/MYKERNEL" make obj # env MAKEOBJDIRPREFIX=/tmp/sk \ KMODDIR=/boot/kernel DEBUG_FLAGS="-g" MACHINE=i386 \ KERNBUILDDIR="/usr/obj/usr/src/sys/MYKERNEL" make all If all this works, you can just kldload the new if_sk.ko from `/tmp/sk/usr/src/sys/modules/sk' to test your changes. HTH, Giorgos
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041029202605.GC1046>