Date: Thu, 10 May 2007 08:13:59 +1000 From: "Jan Mikkelsen" <janm@transactionware.com> To: <freebsd-stable@freebsd.org> Subject: RE: Creating one's own installer/mfsroot Message-ID: <001601c79287$58721420$0502a8c0@IBMA618C20271E> In-Reply-To: <f1t5os$doi$1@sea.gmane.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Ivan Voras wrote: > Daniel O'Connor wrote: > > On Wednesday 09 May 2007 03:40, Matthew X. Economou wrote: > >> Could anyone recommend a good guide for developing one's=20 > own mfsroot > >> images suitable for recovery or scripted installation (not using > >> sysinstall)? It appears that one could develop a simplified > >> network-based installation process based around fdisk, disklabel, > >> newfs, mount_ufs, fetch, and pax, perhaps tied together with the > >> usual scripting tools (maybe miniperl or sh/sed/awk). > >=20 > > You could see how make release & FreeSBiE do it. >=20 > You could also look at the INSTALL guides for (early versions of?) > Dragonfly, it taught me how to install a BSD system from=20 > scratch, using > only what's in base of liveCD :) >=20 > (I consider it a bad sign that I've actually needed that=20 > knowledge once > to set up a production machine - I thought we're not in the stone age > anymore :( ) Well, that kind of knowledge is also what lets us leave (say) the bronze age. We have set up a boot CD (or pxeboot/nfs environment) where we can run a Ruby script that will take directives from a configuration file, = configure the disks, slices and partitions, align the partitions to start on a = block boundary appropriate for the underlying RAID system, to end on a = cylinder boundary, populate filesystems as required, etc. Also useful for using = an existing system to set up CF cards for Soekris systems with the correct geometry, etc. Building the system images and installation time filesystems is done = from a build system that builds everything in chroot environments, with as = little dependency on the host system as possible. It manages make buildworld/installworld/kernel, ports, non-ports installations (ie: user generated scripts), dependencies, parallel builds, making jails, etc. >From this we have a system where system installations are reproducible = and recoverable. Upgrading uses the same output from the build process = using a nanobsd-like second slice allowing inplace upgrades with little downtime = and recovery to the previous version. But the most important thing is that = the upgrade image was created using the same process as the installation = image, so we can always get to the same image after a full system rebuild. If anyone is interested, let me know and I'll see what I have to do to release it. Regards, Jan Mikkelsen janm@transactionware.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?001601c79287$58721420$0502a8c0>