fastest way to ghost/image multiple machines?

Mel fbsd.questions at rachie.is-a-geek.net
Wed Sep 12 13:34:26 PDT 2007


On Wednesday 12 September 2007 21:47:23 Steve Franks wrote:
> I'm interested in how to specify a release and a bunch of packages,
> and squirt it to multiple machines.  Or perhaps I'd like to spec the
> current binary contents of my machine (sans config files) so I could
> rebuild it from scratch later, without backups, or perhaps install
> another machine with my current set of packages, but 7.x instead of
> 6.2, etc.  Permutations on this theme seem endless, and don't appear
> to be focused on in the handbook.
>
> Also interested in installing to a spare disk in my system, then
> putting said disk in another system.  I always get errors after
> label'ing when I try it, presumably because I already have a
> filesystem mounted as root, and it trys to mount the new one as root
> to copy onto...

Sysinstall isn't smart enough. Use the source, Luke:
- /usr/src/UPDATING and search for cross-install (Hint: DESTDIR is your 
friend)
- /usr/obj|src can be nfs-mounted and installed from, here's a good tutorial 
you can expand on:
http://www.freebsddiary.org/makeworld-2boxes.php

Some gotchas/pointers:
- /sparedisk/etc/master.passwd will have stock user accounts
- sshd_enable=YES will not be in /sparedisk/etc/rc.conf (important when doing 
this remotely :) )
- /sparedisk/etc/rc.conf will not contain your network config.
- /sparedisk/boot/loader.conf does not exist, so you might be missing some
  drivers/features your new machine relies on.
- You can use sysinstall to partition the sparedisk, works like a charm even
  on running system, but....:
  - Use [W]rite before [Q]uit
  - Make sure there's an 'a' partition for what will be root ('/'), else the
    bootloader will give a cryptic error on the new system. This is best done
    by giving a mount point '/' initially, then going over and changing it's
    name.
  - Do not use mount points as they 'should' be, instead use a prefix, like:
    mkdir /mnt/usr /mnt/var /mnt/home
    then use /mnt as what should be '/', '/mnt/usr' what should be '/usr' etc.
    Sysinstall will also succeed in mounting then and you can go right ahead
    and make install DESTDIR=/mnt .

-- 
Mel who did the cross-install current not too long ago


More information about the freebsd-questions mailing list