Highpoint RocketRAID 2680 FreeBSD

Официально были выпущены драйвера для FreeBSD версий до 8.0 включительно. Попытки присобачить rr2680.ko в более поздние версии не увенчались успехом.

Однако, удалось найти исходники для драйвера. Я их выложил здесь: rr268x-freebsd-src-v1.0.08.1222.tgz

Установка

Скомпилированный кернел модуль загружался, адаптер виделся, но диски через него не цеплялись. Возможно, надо компилировать ядро с поддержкой rr2680 и модуля cam.

Краткая инструкция есть внутри, однако я ее выложу здесь без перевода:

Инструкция из архива сорцов модуля

Common Steps

  1. Install kernel source package and building tools.
  2. Extract the driver files under the kernel source tree:
    cd /usr/src/sys/
    tar xvzf /your/path/to/rr2680-freebsd-src.tgz

In-Kernel

  1. Чтобы не тратить время на перекомпиляцию модулей, делаем следующее:
    cat >> /etc/make.conf
    MODULES_OVERRIDE=rr2680

    (Энтер, жмем Control+D)

  2. Update the kernel configuration file to include the HighPoint source. Assume the configure file is GENERIC, and new kernel configure file is MYKERNEL:

    cd i386/conf          (or amd64/conf for AMD64)
    cp GENERIC MYKERNEL

  3. Edit MYKERNEL, and add the following line under “RAID controllers interfaced to the SCSI subsystem”:

              device  "rr2680"   #HighPoint RocketRAID 2680

    1. Вместо пунктов 2 и 3, вставляем файлик

      HPT
      include GENERIC
      ident HPT
      device  rr2680          #HighPoint RocketRAID 2680

      в зависимости от конфигурации системы, в /usr/src/sys/amd64/conf/ или в /usr/src/sys/i386/conf/

  4. Modify necessary files:
    1. For i386 system, edit /usr/src/sys/conf/files.i386 and append the lines shown below:

      rr2680_lib.o             optional    rr2680 dependency  "$S/dev/rr2680/i386-elf.rr2680_lib.o.uu" \
      compile-with    "uudecode < $S/dev/rr2680/i386-elf.rr2680_lib.o.uu" no-implicit-rule
      dev/rr2680/os_bsd.c      optional        rr2680
      dev/rr2680/osm_bsd.c     optional        rr2680
      dev/rr2680/rr2680_config.c      optional        rr2680

    2. For amd64 system, edit /usr/src/sys/conf/files.amd64 and append the lines shown below:

      rr2680_lib.o                optional   rr2680 dependency "$S/dev/rr2680/amd64-elf.rr2680_lib.o.uu" \
                compile-with    "uudecode < $S/dev/rr2680/amd64-elf.rr2680_lib.o.uu" no-implicit-rule
      dev/rr2680/os_bsd.c         optional        rr2680
      dev/rr2680/osm_bsd.c        optional        rr2680
      dev/rr2680/rr2680_config.c      optional        rr2680

  5. Rebuild and install the kernel:
    1. for FreeBSD 5.x/6.x/7.x-i386:

      cd /usr/src/sys/i386/conf/
      /usr/sbin/config MYKERNEL
      cd ../compile/MYKERNEL/
      make cleandepend && make depend
      make 
      make install

    2. for FreeBSD 5.x/6.x/7.x-amd64:

      cd /usr/src/sys/amd64/conf/
      /usr/sbin/config MYKERNEL
      cd ../compile/MYKERNEL/
      make cleandepend && make depend
      make 
      make install

Kernel module

(don't lead me to working module creation)

  1. Install kernel source package and building tools.
  2. Extract the driver files under the kernel source tree:
    cd /usr/src/sys/
    tar xvzf /your/path/to/rr2680-opensource-v1.0-bsd.tgz

  3. Modify necessary files (DR)
  4. Build the driver module:

    cd /usr/src/sys/modules/rr2680
    make
    make install

  5. (Если по какой-то причине в /boot/kernel/ не появился наш rr2680.ko), то Copy the driver module to the kernel module directory

    cp rr2680.ko /boot/kernel/

  6. Reboot and load the driver under loader prompt. e.g:

            BTX loader 1.00  BTX version is 1.01
            Console: internal video/keyboard
            BIOS driver A: is disk0
            BIOS driver C: is disk2
            BIOS 636kB/74512kB available memory
            
            FreeBSD/i386 bootstrap loader, Revision 0.8
            (mailto:jkh@narf.osd.bsdi.com, Sat Apr 21 08:46:19 GMT 2001)
            Loading /boot/defaults/loader.conf
            /kernel text=0x24f1db data=0x3007ec+0x2062c -
    
            Hit [Enter] to boot immediagely, or any other key for command prompt.
            Booting [kernel] in 9 seconds°≠
            <-- press SPACE key here 
            Type '?' for a list of commands, 'help' for more detailed help.
            ok load rr2680
            /modules/rr2680.ko text=0xf571 data=0x2c8+0x254
            ok boot

  7. You can add a below line into /boot/defaults/loader.conf to load the driver automatically:

               rr2680_load="YES"

Please refer to the installation guide in HighPoint FreeBSD driver release package for more information.

TODO

  1. Найти рабочий б/п и слепить живой портотип. Если увидит диск, то
  2. Перекомпилировать FreeNAS с поддержкой rr2680. Если заработает, то
  3. Перейти наконец-то на XEN
freebsd/rr2680.txt · Last modified: 2014/09/28 23:13 by rybario
About this template
CC Attribution-Share Alike 4.0 International
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5