flashrd

flashrd 20110303 is ready for OpenBSD 4.9 on both i386 and amd64.

flashrd 20110421 is ready for OpenBSD 5.0.

OpenBSD 4.9 fixes a number of kernel bugs caused by the GCC4 compiler transition and also includes fixes in a number of areas from OSPF and kernel route synchronization to enhanced MPLS IP VPN support.  flashrd on OpenBSD 4.9 is tested on i386 extensively, and lightly on amd64.

OpenBSD 5.0 includes msi interrupt support to get rid of interrupt sharing, various other performance enhancements, various fixes to OSPF, BGP and MPLS support, pf improvements, and more.

The main flashrd web site is here: http://www.nmedia.net/flashrd/

Use this area for discussion about flashrd

Leave a comment ?

15 Comments.

  1. I have the following problems when trying to build a OpenBSD 4.7 image using the current (20101001) version:

    more /tmp/mkkern.eQQAurV
    FLASHRD:743: opl* at eso? is orphaned
    (nothing matching eso? declared)
    FLASHRD:744: opl* at sb? is orphaned
    (nothing matching sb? declared)
    FLASHRD:745: opl* at ess? is orphaned
    (nothing matching ess? declared)
    *** Stop.

    • The new functionality in flashrd was only tested on an OpenBSD 4.8 kernel compilation.

      For OpenBSD 4.7, you can simply remove the ‘config.strip’ file and flashrd will leave the kernel config untouched.

      Alternately, if you want to use a larger ramdisk than default, you should be able to add the following lines to config.strip to make it compile a 4.7 kernel. Try this first and let me know if it works.

      opl.*at eso.*
      opl.*at sb.*
      opl.*at ess.*

  2. Got it… This latter option seems to work. The page does imply that the new version will work with 4.7. Thanks very much.

    • Yes it was an assumption, I didn’t actually test 4.7. OpenBSD 4.8 is a much better system if you are running things like ospfd, bgpd, want to try MPLS VPN support, or (of course) if you need any of the newer hardware support in 4.8. Which reminds me, I really need to update nsh for rdomains/rtables and IPv6.

  3. I’ve started using flashrd for 4.8 and now I am wondering how to efficiently upgrade to 4.9. Ideally, I’d like to do it by replacing the kernel /flash/bsd and storing new image to /flash/new/openbsd.vnd and rebooting. Copying openbsd.vnd from soekris box running 4.8 to other OpenBSD system and mounting the slices went fine but the untarring from base49.tgz failed because I reached the capacity of the /usr slice in the openbsd.vnd image.

    • the FAQ lists some simple upgrade methods, get openbsd.vnd from a 4.9 image and it would be fairly easy

      you have to configure the kernel image for sd0 if you don’t use wd0 as your default disk device

  4. Hi Chris, thanks very much for flashrd, I’ve fallen in love with single board computers now!

    I’m using 20110303 and finding that even though tardirs is commented out in /etc/rc.shutdown, /var gets tarred anyway by default. (except in single user mode when rc.shutdown is skipped)

    I think this is because /etc/rc sources /etc/rc.conf, which sources /etc/rc.conf.local, which defines tardirs to “var”. The solution is to explicitly define tardirs to the empty string in /etc/rc.shutdown instead of leaving it commented out.

    The reason I started looking into this was because I was occasionally getting a partially populated /var on boot, presumably as a result of the power being cut whilst /var was being tarred.

    Can I suggest that you change /etc/rc.shutdown to a) define an empty tardirs variable and b) tar the files to a temporary file that gets moved to the destination file on completion instead of overwriting the existing file?

    Cheers and thanks again for flashrd.

  5. What is the status of flashrd for OpenBSD 5.0? Do you wait for the official release and then start the testing/porting at that time? Or have you already been testing.

    Russell

    • I believe the flashrd edition for 4.9-current should work fine on 5.0 release. I’ll mark it as so on the web site.

  6. What is the default operation of the syslog daemon on flashrd? Does it differ from the standard OpenBSD configuration?

    Russell

  7. From the point of view of syslogd, nothing should be different at all. However, /var is writeable in the default flashrd setup but it’s also transient, unless you save it on shutdown.

  8. I think I asked about this before but cannot find an answer. My openbsd.vnd has cca 273 MB and the /usr slice within is running out of space, had to exclude man pages for the system to fit. How to resize/grow it ? The underlying storage has enough space left.

    • @vlad – I edited the flashrd script. Look for the lines

      export vnddirs="root bin etc sbin usr" # must match vnddirs= in stand/rc and fstab
      #export vndsize="102400 auto 102400 auto auto"

      which show the mappings between the dirs and the vndsize. Change the appropriate parameter in vndsize. For mine I made a 1GB /usr

      export vndsize="102400 auto 102400 auto 2097152" # 1GB /usr partition tweak

      I’ve not investigated how flashrd creates the auto sizes yet though.

  9. Thanks for this package Chris. Been playing around with OpenBSD for a while now and this will be useful for a diskless ipv6 router project.
    I managed to install to CF using my Mac OSX 10.6 – firstly I built flashrd in a OpenBSD 5.0 Virtual Box VM then exported the image back to the Mac via sftp (OpenBSD VM wouldn’t recognise my USB cardreader).

    Under OSX I put the CF in an external USB cardreader where it appears as /dev/disk1.

    macbookpro:flashrd nickb$ mount
    /dev/disk0s2 on / (hfs, local, journaled)
    devfs on /dev (devfs, local, nobrowse)
    map -hosts on /net (autofs, nosuid, automounted, nobrowse)
    map auto_home on /home (autofs, automounted, nobrowse)
    /dev/disk1s1 on /Volumes/FLASHRD (msdos, local, nodev, nosuid, noowners)

    I then unmounted the disk from the OSX filesystem -

    macbookpro:flashrd nickb$ diskutil unmount /Volumes/FLASHRD
    Volume FLASHRD on disk1s1 unmounted

    Finally I wrote the image file to the flash card using dd -

    macbookpro:flashrd nickb$ sudo dd if=flashimg.i386-20120126 of=/dev/disk1 bs=64

    Finally I installed the CF card using a CF to 3.5IDE adapter bought on Ebay.

  10. Correction to the above – dd command should end with

    BS=64k

    (WP doesn’t allow me to preview before submitting :cry:

Leave a Comment