OpenBSD Journal

Yet another installer for OpenBSD

Contributed by grey on from the depenguinator, only better dept.

Waldemar Brodkorb writes:

I would like to announce the first official release of YaifO. It is a modified OpenBSD installer for remote installations or updates via Secure Shell. It is a source only release, because you have to configure your network configuration of the remote machine manually and add a RSA2 public key for authentication.

It has been tested and should work on alpha, i386, sparc and sparc64, and can be downloaded at

It is especially useful for people who like to switch their root server from Linux to OpenBSD without access to a serial line or keyboard. Please send comments, suggestions and flames to

(Comments are closed)

  1. By Matt Van Mater ( on

    I haven't tried this yet, but I saw him post an earlier version of it on tech@ a few weeks (months?) ago. I think this is a great idea and will be very useful. Hopefully the core devs will see it as useful enough to include in the tree, even if they disagree with this particular implementation.

    One problem with this tool and openbsd in general is there is no easy way (afaik) to create just a boot floppy when compiling from source... you have to build the whole system. Then again, maybe he has solved that problem and I'm just not aware of it. Building the system from source isn't really that big of a deal but it's an annoyance.

    1. By Peter Hessler ( on

      cd /usr/src/distrib/crunch && make clean obj depend all install
      cd /usr/src/distrib/[arch]/ && make

      1. By Matt Van Mater ( on

        Don't the steps you listed above just build crunchgen and a new kernel? What about the part that puts that kernel into a floppy image?

        Correct me if I'm wrong, but building crunchgen justs lets you compress a bunch of stuff into a single executable, so while I think these are the first two steps in the process it's not those whole solution right?

        1. By Jason Crawford ( on

          Actually, that builds any floppy images and the cdrom 2.88floppy emulation image, as well as the no-emulation boot image for the cd (for i386). Obviously for other archs, it builds their floppies or neccessary cdrom boot images. It needs crunchgen in the process of making these floppy images, but no, it doesn't just compile the floppy kernels, it makes the fully functioning images as well.

  2. By almeida ( on

    This project would benefit from better instructions. The included readme is not very detailed.

    It seems like you can do something like this:

    mv /bsd /bsd.old
    mv .../yaifo.rd /bsd

    And then when you login over SSH, you'll get the regular installer that you'd normally see from the console?

    I'm a little confused on the setup though.

    1. By Anonymous Coward ( on

      no. the machine would be sitting there at a prompt just like booting off a floppy to "Upgrade, Install..." etc.. How could you get to that remotely if you haven't gotten to the part of the install script that even lets you configure the network?

      1. By Archite ( on

        Ummm.... because as the README says, you edit the network info in the CONFIG file....

  3. By knomevol ( on

    i most wholeheartedly appreciate the work given to the significance of this. "yet another"?

    1. By Anonymous Coward ( on

      There was an earlier story some time ago about a graphical installer for OpenBSD. Don't know status of that project, though.

      1. By Anonymous Coward ( on

        Who cares? A graphical installer doesn't add anything, it doesn't solve a problem or allow people to do something new. This remote installer is actually a useful tool, that allows people to do something they couldn't otherwise do.

        1. By Anonymous Coward ( on

          yeah gfx is for lamers anyway, the same ppl who don't want to rtfm are impressed w/ gui install. why bother, they already have mac, win and linux....
          now if u put ansi gfx then it's different... that is elite! ;)

          1. By Sean Brown ( on

            Moving to a graphical installer would be a silly move for OpenBSD. How many systems have no or unsupported display adapters? How many times is OpenBSD installed using a serial terminal? By having one installer that is universal across platforms, OpenBSD has a consistent experience on all supported platforms. Having both would just add more work to the developers that would be better spent on other areas of the system.

        2. By Anonymous Coward ( on

          this is not that bad. This graphical installer was just a school project. They did it for the fun, just to show that it can be done and they can do it.

          btw, here's the url is and it has never been released , perhaps because of the bad and cold return they received from the community.

          1. By Anonymous Coward ( on

            of course it can be done, that was never in question. all the work they did amounts to putting the standard obsd install questions inside gfx windows. u still have to answer the same questions, and u gain nothing from it. makes for a decent (s)kewl projekt, but that's about it.... now Real Functionality is different matter completely and has nothing (zero) to do with pretty gfx. a good example is somebody who writes a program to install obsd directly on raidframe, with the software making intelligent decisions for u, but not guessing incorrectly. and that's not so easy u see, which is why all the lamers code gfx front-ends instead of tackling hard problems. ;)

  4. By bob ( on

    thnx for the work on the YaifO (N/T)

  5. By Anonymous Coward ( on

    The OpenBSD installer is 100% in my opinion .. but I hate to see how much the community is opposed to the GUI installer. Once the framework is laid out, it can be just as simple ... except graphical.

    Now of course, I'm not expecting the developers to take on this extra work which isn't absolutely necessary. It's just that if someone should desire to do so, why not let them?

    1. By Anonymous Coward ( on

      Nobody is stopping anyone. The point is, what the fuck does this have to do with anything? Why is this talk about GUI installers here in the comments about something completely unrelated. If you want to talk about GUIs go do it somewhere appropriate.

      1. By Archite ( on

        I completely agree. Yaifo is a great installer. I just used it to install a system that is 80 mi away from my house without a hitch. It's great. Now, it would be nice if people who comment about whether it is good or bad should actually read about what it is first in stead of jumping to conclussions about it! Combined with cdboot, this is an awesome thing; please try it before knocking it!!!

  6. By Anonymous Coward ( on

    Programmers ought to combine their efforts more and create an installer toolkit for use on any free Unix-like OS. I think the my OS installer is better than your OS's installer tit for tat is so cheezy. People who make good use of any halfway decent *nix need an interactive installer only once.

  7. By Anonymous Coward ( on

    I'm having trouble compiling this on Gentoo Linux. I am using PMAKE. Any pointers?

  8. By Bulba ( on

    # make

    (cd /usr/src/distrib/special/dmesg; make -f Makefile dmesg.o)
    `dmesg.o' is up to date.
    (cd /usr/src/bin/hostname; make -f Makefile hostname.o)
    `hostname.o' is up to date.
    cc -static -o instbin instbin.o dd.lo mount_cd9660.lo df.lo mount.lo mount_ext2fs.lo sshd.lo sync.lo restore.lo stty.lo ln.lo disklabel.lo pax.lo ping.lo cat.lo ifconfig.lo ls.lo rtsol.lo ping6.lo kbd.lo fdisk.lo less.lo mount_nfs.lo mount_msdos.lo ssh-keygen.lo grep.lo umount.lo ccdconfig.lo mknod.lo installboot.lo wicontrol.lo route.lo ftp.lo mount_ffs.lo dhclient.lo reboot.lo ed.lo cp.lo gzip.lo chmod.lo fsck_ffs.lo init.lo newfs.lo apmd.lo ancontrol.lo rm.lo mt.lo mkdir.lo sed.lo ksh.lo sleep.lo mv.lo expr.lo apm.lo dmesg.lo hostname.lo -L/usr/lib -lutil -lotermcap -ll -lm -ldes -lcrypto -lz
    sshd.lo: In function `main':
    sshd.lo(.text+0x1437): undefined reference to `closefrom'
    ccdconfig.lo: In function `dump_ccd':
    ccdconfig.lo(.text+0x8e6): undefined reference to `kvm_openfiles'
    ccdconfig.lo(.text+0x92c): undefined reference to `kvm_nlist'
    ccdconfig.lo(.text+0x93c): undefined reference to `kvm_close'
    ccdconfig.lo(.text+0x95a): undefined reference to `kvm_geterr'
    ccdconfig.lo(.text+0x981): undefined reference to `kvm_read'
    ccdconfig.lo(.text+0x992): undefined reference to `kvm_close'
    ccdconfig.lo(.text+0x9b0): undefined reference to `kvm_geterr'
    ccdconfig.lo(.text+0xa47): undefined reference to `kvm_read'
    ccdconfig.lo(.text+0xa67): undefined reference to `kvm_close'
    ccdconfig.lo(.text+0xa82): undefined reference to `kvm_geterr'
    ccdconfig.lo(.text+0xaa6): undefined reference to `kvm_read'
    ccdconfig.lo(.text+0xac5): undefined reference to `kvm_close'
    ccdconfig.lo(.text+0xae0): undefined reference to `kvm_geterr'
    ccdconfig.lo(.text+0xc7f): undefined reference to `kvm_close'
    ccdconfig.lo(.text+0xc8c): undefined reference to `kvm_close'
    ccdconfig.lo: In function `print_ccd_info':
    ccdconfig.lo(.text+0xd8e): undefined reference to `kvm_read'
    ccdconfig.lo(.text+0xdea): undefined reference to `kvm_geterr'
    ccdconfig.lo(.text+0xe37): undefined reference to `kvm_read'
    collect2: ld returned 1 exit status
    *** Error code 1

    Stop in /1/yaifo/obj (line 9 of
    *** Error code 1

    Stop in /1/yaifo (line 143 of /1/yaifo/Makefile).


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]