YaifO - Yet another installer for OpenBSD
Copyright (c) 2007-2011 Michael Erdely Copyright (c) 2005 Waldemar Brodkorb OpenBSD-current version (c) 2010-2011 Frank Denis All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
=========================================================================
There are some situations where a modified installer for OpenBSD is useful. For example if you want to remotely install without any access to a keyboard or serial terminal. Or you would like to do a RAID installation, which is not supported by default. Another example is a fully automatic installations.
At the moment only remote install via Secure Shell is implemented.
There is no binary installer available, you should always compile it on your own.
As first step you need to modify the configuration file "config". See the comments in the file. Then create or copy a RSA2 public key into authorized_keys in this directory. Some of my machines are really slow so I like to create only RSA2 host keys for installation. (ssh-keygen -t rsa) You may also copy the /etc/ssh/ssh_host* files to this directory if you are upgrading an existing installation.
To build and compile the installer you should have the OpenBSD source tree in /usr/src and then:
id -un
ssh_host*_key*)Use dd to put the yaifo.fs image on the hard disk. Overwriting the root partition of a running OpenBSD system do not work without single usermode and read-only mounted root partition. For such installations/upgrades use yaifo.rd with the existing boot loader.
Example for an OpenBSD system wth a SCSI disk:
Example for a FreeBSD system after forcing disks to read-only and disabling disk-overwrite protection:
Example for a Linux rescue system and an IDE disk:
Or OpenBSD via ftp:
Reboot and connect via ssh root@ip-address and install as normal.
You can use yaifo.rd to boot from an installed system or via network.
There is no yaifo.fs for macppc. To use the yaifo.rd from within OS X, copy yaifo.rd and ofwboot to the root directory in OS X. Reboot and get into Openfirmware (Cmd,Option,O,F). Type: boot hd:,ofwboot /yaifo.rd
The standard bootloader does not allow RAMDISK's bigger than 3.8 MB, so you have to use bootloaders compiled with RELOC=0x480000 to boot yaifo images. For OpenBSD/sparc you need yaifo.net instead of boot.net in your tftpboot directory.
This is a work in progress and is considered broken at this time.