One of the big problems with RAIDFrame support absence in GENERIC is that it's also lacking in RAMDISK and RAMDISK_CD. This prevents RAIDFrame users from doing binary updates off boot media.

This can be fixed with a few tweaks in src/distrib/i386/:

First, create a bsd.rd within cdrom39.fs (note, NOT cd39.iso!) with RAIDFrame support:

Because src/distrib/i386/ramdisk_cd/Makefile simply includes ${.CURDIR}/../common/Makefile.inc, appends "list.local" with a couple hundred extra-Kb or utilities, sets the floppy imagage to 2.8mb size, then declares $RAMDISK. (Which is a *very* ambiguous name, mind you, a better name would be something like $KERNERLCONF, etc.), one can simply adjust RAMDISK= to point to a src/sys/arch/i386/conf/$foo kernel conf file which will get automatically build on 'make release' in src/etc/ as 'bsd.rd'.

Simply copy src/sys/arch/i386/conf/RAMDISK_CD to conf/RAMDISK_CD+RAIDFrame append the following:

        pseudo-device   raid     4       # RAIDframe disk driver
        options         RAID_AUTOCONFIG

Then set the following in distrib/i386/ramdisk_cd/Makefile:

        RAMDISK=RAMDISK_CD+RAIDFrame

Next, make another kernel package available to the install script (GENERIC+RAIDFrame) as an option. Follow the same instructions for RAMDISK_CD for GENERIC.

Add the following to src/etc/etc.i386/Makefile.inc:

     bsd.mp+raidframe:
         cd ${.CURDIR}/../sys/arch/i386/conf && config GENERIC.MP+RAIDFRAME
         cd ${.CURDIR}/../sys/arch/i386/compile/GENERIC.MP+RAIDFRAME && \
            ${MAKE} clean && ${MAKE} depend && exec ${MAKE}

Then add the following to src/distrib/notes/m4.common:

        define({:-OpenBSDbsdmp+raidframe-:},
        {:-     bsd.mp+raidframe A stock GENERIC.MP MACHINE kernel, with support
                                 for multiprocessor machines, which can be used
                                 instead of the GENERIC kernel after the 
install.
                                 Also features CMU RAIDFrame support for
                                 upgrading exisint RAIDFrames.-:})dnl dnl

Then clean out your obj and src and rebuild.  Your $RELEASDIR/cdrom39.fs
(2.88mb Floppy image for use with mkisofs(1)) will contain a gzip(1)'d
bsd.rd with RAIDFrame support).

Run mkisofs(8) on your $DESTIDR with cdrom39.fs as your '-B'. You may now safely burn a CD-R for binary upgrades of existing RAIDFrame enabled OpenBSD systems, or use your .ISO with your DRAC card via remote media.

l8*
        -lava (Brian A. Seklecki - Pittsburgh, PA, USA)
               http://www.spiritual-machines.org/

"...from back in the heady days when "helpdesk" meant nothing, "diskquota"
meant everything, and lives could be bought and sold for a couple of pages
of laser printout - and frequently were."

Reply via email to