Proposal to modify behavior of installworld

YONETANI Tomokazu y0n3t4n1 at
Wed Feb 13 09:43:08 PST 2013


On Tue, Feb 12, 2013 at 06:15:51PM +0100, John Marino wrote:
> The following has happened to me a few times in the last 2 years:
> 1) I create a modification to world source
> 2) "make buildworld" completes successfully
> 3) Halfway through "make installworld" the system coredumps
> everywhere due to bug introduced in step 1).
> With the kernel, you can always just launch the previous kernel
> which was backed up prior to the new kernel getting installed.

You can set up a chroot jail to examine the experimental world
before overwriting your installation:

# hammer mirror-copy / /pfs/testworld
  (this works for me as the root filesystem is kept small on my system;
   you may want to use cpdup, rsync or some other tools, YMMV)
# mount -tnull /pfs/testworld /mnt
# cpdup /var /mnt/var
# cpdup /boot /mnt/boot
  (repeat this for other filesystems which are parts of the base system)

# mount -tnull -o ro /usr/src /mnt/usr/src	# source tree should work RO
# mount -tnull -o ro /usr/obj /mnt/usr/obj	# obj tree can be RO, too
# mount -tdevfs devfs /mnt/dev
# mount -ttmpfs tmpfs /mnt/tmp
# chroot /mnt
# cd /usr/src && make installworld && MAKEOBJDIRPREFIX=/tmp make upgrade

vkernel is a safer alternative as it doesn't share /dev, but it'll take
much longer to complete the procedure depending on the storage performance.

More information about the Users mailing list