Date: Tue, 15 May 2012 10:28:38 +0200 From: Polytropon <freebsd@edvax.de> To: "Thomas Mueller" <t.mueller1@insightbb.com> Cc: freebsd-questions@freebsd.org Subject: Re: Building FreeBSD to install or update in two DESTDIRs Message-ID: <20120515102838.de3a2a40.freebsd@edvax.de> In-Reply-To: <83.5C.10195.F37A1BF4@smtp02.insight.synacor.com> References: <83.5C.10195.F37A1BF4@smtp02.insight.synacor.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 14 May 2012 20:45:51 -0400, Thomas Mueller wrote: > I guess after the first installkernel, to default location, > I should immediately make installkernel again, this time with > DESTDIR=/mnt? That should be possible, you only have to make sure that both "install targets" are fine with the kernel you just built (e. g. both i386 _or_ amd64). > Better to "make buildkernel" and "make installkernel" as two > separate steps, rather than "make kernel"? Yes. You only need to "make buildkernel" once, then "make installkernel" for both $DESTDIRs. > After rebooting single-user, do "mergemaster -p", > then "mergemaster -p -D /mnt", and then "make installworld" and > immediately following that, "make installworld DESTDIR=/mnt" ? Refer to the commend header in /usr/src/Makefile for the correct procedure. Without having it tested, the following commands in SUM (after you have successfully installed the new kernels) should work as intended: # merpemaster -p # make installworld # make delete-old # mergemaster # merpemaster -p -D /mnt # make installworld DESTDIR=/mnt # make delete-old DESTDIR=/mnt # mergemaster -D /mnt # reboot Also see the comment regarding "make delete-old-libs" to be applied after reboot correspondingly. > After that, I would do "mergemaster -i" followed by > "mergemaster -i -D /mnt"? And then make delete-old followed > by "DESTDIR=/mnt make delete-old"? It should be possible to pass DESTDIR= to make instead of "prefixing" make with it. The parameter seems to be applied for _any_ of the targets (as long as it would affect that target). You can add additional parameters to the mergemaster examples above (such as -i). > Would I need to do "make distribution"? I don't think so, unless you want to create a distribution media. > First time, "make installkernel DESTDIR=/mnt" only installed part. What parts (of the kernel set) have been installed? To observe differences, it might be helpful to save a `ls` or `ls -lR` output before and after the installation and compare them. > I installed to USB stick only after fully upgrading on main > installation, finally copied /boot/kernel directory, and that > USB stick is now bootable. So now I know how to make a USB > stick bootable with GPT. Maybe kernel modules for GPT have been missing? Check /etc/src.conf for any strange settings, see "man 3 src.conf" for details. You can use this file to customize and "tweak" your builds. > Maybe some of the files were cleaned out? I'm not sure in how far the install* targets to remove files. I suppose they will overwrite files if required... > It is surely useful to have a rescue backup, considering the > possibility of an update going awry on the main installation. That's right. :-) -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120515102838.de3a2a40.freebsd>