Highpoint 370/372 - ¿En resumen, ... que es lo que hay que hacer para usar MI RAID?
17 de Noviembre de 2005
Linux
Para esto hay dos caminos yo prefiero el primero, ... lo considero mucho más estable y con múcho mas futuro. No tiene sentido usar un driver propietario en un S.O. libre, ... ¿o si?
Usar un kernel que funcione:
Yo uso un 2.4.19-ac4. A pesar de ello el 2.4.20 tampoco funciona, es posible que encontreis otros parches de Alan Cox (ac) que vuelva a funcionar. Si montais un 2.4.19-ac4 necesitareis hacer un par de cambios. En un principio basta con descargar el kernel 2.4.19:
http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.19.tar.gz∞
Y a mayores el parche de Alan Cox -ac4:
http://www.kernel.org/pub/linux/kernel/people/alan/linux-2.4/2.4.19/patch-2.4.19-ac4.gz∞
Para los que no hallais trabajado anteriormente con el kernel, un "parche" es un fichero de texto con una "especie de script" que es interpretado por el programa patch que en este caso se ha usado para pasar un kernel 2.4.19 a un kernel 2.4.19-ac4.
En un principio descomprimimos el kernel:
#tar -zxf linux-2.4.19.tar.gz
y lo parcheamos
#cd linux-2.4.19
#zcat -d ../patch-2.4.19-ac4.gz | patch -p1
(con zcat descomprimios el gzip y se lo enviamos ya descomprimido a patch en un unico paso, el -p1 de patch se lo he puesto pq nos encontramos dentro del directorio del kernel 2.4.19, si estubieramos en el padre de ese directorio usariamos -p0)
Una vez parcheado el kernel tendremos que compilarlo.
Para ello si queremos conservar la antigua configuración podemos ejecutar make oldconfig (esto nos copiará nuestro fichero config de "/boot/config-???") al directorio actual con nombre ".config".
A continuación configuraremos un poco mas nuestro kernel: ejecutaremos "make menuconfig" o si lo preferimos "make xconfig" para verlo en modo grafico si es que estamos en las X11.
Una vez que nos halla aparecido el menú entraremos en la sección de IDE y a su vez otra vez en IDE :P. Localizaremos los lugares donde hable de raids highpoint 366, 372 y/o 370 y las activaremos no como modulos (debieran de ser unas 3 pero no necesariamente las 3 tienen q hablar de chips diferentes, ... nos podemos encotrar por ejemplo que mencionan solamente el 366 3 veces :P) Vuelves a la primera ventana y le das a save and exit.
Compilamos el kernel:
El siguiente comando es sólo para algunas versiones del kernel que dan error en las ultimas distribuciones, ... es posible que no necesites ejecutarlo.
#export LC_ALL="es"
#make dep
#make modules
#make
#make modules_install
#make install
Ahora un problema, ... (¿otro?). Cuando pruebes este kernel te darás cuenta de que no arranca
diciendo que no puede localizar la partición de arranque (ya sea pq usas root=LABEL="/" , root=/dev/ataraid/d0p3 o root=/dev/ataraid/disc0/part3 ). ¿Solución?: Crear los dispositivos dentro del fichero initrd.
#mkdir /boot/pruebas
#cd /boot/pruebas
#mkdir temp
#zcat -d ../initrd-2.4.19.img > init
#mount init temp -o loop
#cd temp/dev
#mkdir ataraid
#mkdir disc0
#cd ataraid
#mknod d0 block 114 0
#mknod d0p1 block 114 1
#mknod d0p2 block 114 2
#mknod d0p3 block 114 3
#mknod d0p4 block 114 4
#mknod d0p5 block 114 5
#mknod d0p6 block 114 6
#mknod d0p7 block 114 7
#mknod d0p8 block 114 8
#mknod d0p9 block 114 9
#mknod d0p10 block 114 10
#mknod d0p11 block 114 11
#mknod d0p12 block 114 12
#mknod d0p13 block 114 13
#mknod d0p14 block 114 14
#mknod d0p15 block 114 15
#cd disc0
#mknod disc block 114 0
#mknod part1 block 114 1
#mknod part2 block 114 2
#mknod part3 block 114 3
#mknod part4 block 114 4
#mknod part5 block 114 5
#mknod part6 block 114 6
#mknod part7 block 114 7
#mknod part8 block 114 8
#mknod part9 block 114 9
#mknod part10 block 114 10
#mknod part11 block 114 11
#mknod part12 block 114 12
#mknod part13 block 114 13
#mknod part14 block 114 14
#mknod d0p15 block 114 15
#cd /boot/pruebas
#umount temp
#gzip init
#cp init.gz ../initrd-2.4.19.img
Si reconfiguramos el lilo ahora (si se necesita) ya tendríamos nuestro kernel 100% funcional.
Nota: Las particiones a partir de ahora serán accesibles desde /dev/ataraid/d0pX o /dev/ataraid/disc0/partX (sinendo X el nº de partición), posiblemente tengamos que cambiar el fichero /etc/fstab o bien generar uno nuevo y utilizandolo unicamente con este nucleo.
Usar un kernel de la rama 2.4 con el driver de la raid "deshabilitado" y montar el driver "opensource" (mentira, ... no es opensource) de highpoint.
Por ejemplo el 2.4.18-4 (el que biene en redhat 8), ...En un principio podemos incluso compilar sólo el nucleo y dejar los módulos sin compilar ni instalar :P aun que necesitaremos usar el GCC 3 si está compilado en GCC 3 o el GCC 2 si está compilado en GCC 2.
Lo primero es instalar el RPM con los mismos fuentes con que se compiló el que queremos sustituir y el RPM con el kernel ya compilado.
Una vez instalado tendremos que hacerle un par de modificaciones:
· En el directorio "drivers/ide/" modificaremos "ide-pci.c", tenemos que localizar y eliminar:
{DEVID_HPT34X, "HPT34X", PCI_HPT34X, NULL, ...
{DEVID_HPT366, "HPT366", PCI_HPT366, ATA66_HPT366, ...
(Esto es lo que indica la documentación de highpoint pero es posible que en el kernel que tu usas tengas mas lineas similares a continuación de estas o justo antes. En kernels como el incluido en mandrake a demás estan colocadas "de forma que quede bonito" por lo que es posible que esté partido en varias lineas.)
Volviendo al directorio del kernel modificaremos "Makefile": En muchas distribuciones de linux distinguen entre las versiones "oficiales" del kernel y las que compila el usuario. Para hacer que nuestro binario sea compatible con el antiguo cambiaremos la versión (aparece al principio de todo) por la versión que nosotros usamos, ... por lo que en redhat quedaría algo asi como: 2.4.18-4athlon (para un athlon como el mio :P) en lugar de 2.4.18-4custom
Una vez hecho esto necesitamos usar la misma configuración del kernel que acabamos de instalar.
Los rpms de redhat y de mandrake incluyen un fichero en /boot/config- que podemos usar para compilar nuestro nuevo kernel,... basta con copiarlo al directorio de los fuentes con el nombre ".config"
Una vez llegado a este punto toca compilar el kernel,.. ejecutamos make menuconfig o make xconfig y vamos a la sección IDE a desactivar todo resto de los drivers de highpoint, .... salimos, ... guardamos,... y ejecutamos:
#make dep
#make
#make bzImage
y copiamos el fichero arch/i386/boot/bzImage a /boot/vmlinuz-2.4.18-4athlon (o el nombre que debiera de llebar en función de vuestra versión del kernel.
Ahora necesitamos recompilar el driver de highpoint, ... en este caso podemos estar ante 2 situaciones:
Nuestro kernel está compilado en GCC2
Compilalo según la documentación incluida con los drivers.
Nuestro kernel está compilado en GCC3
Modifica el fichero hpt37x2lib.o para que el compilador crea que lo hemos compilado con GCC3 :P
"gcc2_compiled" -> "gcc3_compiled"
"CC: (GNU) 2.96" -> "GCC: (GNU) 3.2 " (ojo al espacio del final)
y lo compilas según la documentación incluida con los drivers.
Una vez hecho esto copiamos el modulo resultante (hpt37x2.o) a /lib/modules/2.4.18-athlon/drivers/scsi/ y generamos un nuevo initrd que carge el driver automaticamente (si no no podríamos arrancar directamente usando el raid):
/sbin/mkinitrd -f --preload scsi_mod --preload sd_mod --preload ext3 --with=hpt37x2 /boot/initrd-2.4.18-4athlon.img 2.4.18-4athlon
Si reconfiguramos el lilo ahora (si se necesita) ya tendríamos nuestro kernel 100% funcional.
Usar un kernel que funcione:
Yo uso un 2.4.19-ac4. A pesar de ello el 2.4.20 tampoco funciona, es posible que encontreis otros parches de Alan Cox (ac) que vuelva a funcionar. Si montais un 2.4.19-ac4 necesitareis hacer un par de cambios. En un principio basta con descargar el kernel 2.4.19:
http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.19.tar.gz∞
Y a mayores el parche de Alan Cox -ac4:
http://www.kernel.org/pub/linux/kernel/people/alan/linux-2.4/2.4.19/patch-2.4.19-ac4.gz∞
Para los que no hallais trabajado anteriormente con el kernel, un "parche" es un fichero de texto con una "especie de script" que es interpretado por el programa patch que en este caso se ha usado para pasar un kernel 2.4.19 a un kernel 2.4.19-ac4.
En un principio descomprimimos el kernel:
#tar -zxf linux-2.4.19.tar.gz
y lo parcheamos
#cd linux-2.4.19
#zcat -d ../patch-2.4.19-ac4.gz | patch -p1
(con zcat descomprimios el gzip y se lo enviamos ya descomprimido a patch en un unico paso, el -p1 de patch se lo he puesto pq nos encontramos dentro del directorio del kernel 2.4.19, si estubieramos en el padre de ese directorio usariamos -p0)
Una vez parcheado el kernel tendremos que compilarlo.
Para ello si queremos conservar la antigua configuración podemos ejecutar make oldconfig (esto nos copiará nuestro fichero config de "/boot/config-???") al directorio actual con nombre ".config".
A continuación configuraremos un poco mas nuestro kernel: ejecutaremos "make menuconfig" o si lo preferimos "make xconfig" para verlo en modo grafico si es que estamos en las X11.
Una vez que nos halla aparecido el menú entraremos en la sección de IDE y a su vez otra vez en IDE :P. Localizaremos los lugares donde hable de raids highpoint 366, 372 y/o 370 y las activaremos no como modulos (debieran de ser unas 3 pero no necesariamente las 3 tienen q hablar de chips diferentes, ... nos podemos encotrar por ejemplo que mencionan solamente el 366 3 veces :P) Vuelves a la primera ventana y le das a save and exit.
Compilamos el kernel:
El siguiente comando es sólo para algunas versiones del kernel que dan error en las ultimas distribuciones, ... es posible que no necesites ejecutarlo.
#export LC_ALL="es"
#make dep
#make modules
#make
#make modules_install
#make install
Ahora un problema, ... (¿otro?). Cuando pruebes este kernel te darás cuenta de que no arranca
diciendo que no puede localizar la partición de arranque (ya sea pq usas root=LABEL="/" , root=/dev/ataraid/d0p3 o root=/dev/ataraid/disc0/part3 ). ¿Solución?: Crear los dispositivos dentro del fichero initrd.
#mkdir /boot/pruebas
#cd /boot/pruebas
#mkdir temp
#zcat -d ../initrd-2.4.19.img > init
#mount init temp -o loop
#cd temp/dev
#mkdir ataraid
#mkdir disc0
#cd ataraid
#mknod d0 block 114 0
#mknod d0p1 block 114 1
#mknod d0p2 block 114 2
#mknod d0p3 block 114 3
#mknod d0p4 block 114 4
#mknod d0p5 block 114 5
#mknod d0p6 block 114 6
#mknod d0p7 block 114 7
#mknod d0p8 block 114 8
#mknod d0p9 block 114 9
#mknod d0p10 block 114 10
#mknod d0p11 block 114 11
#mknod d0p12 block 114 12
#mknod d0p13 block 114 13
#mknod d0p14 block 114 14
#mknod d0p15 block 114 15
#cd disc0
#mknod disc block 114 0
#mknod part1 block 114 1
#mknod part2 block 114 2
#mknod part3 block 114 3
#mknod part4 block 114 4
#mknod part5 block 114 5
#mknod part6 block 114 6
#mknod part7 block 114 7
#mknod part8 block 114 8
#mknod part9 block 114 9
#mknod part10 block 114 10
#mknod part11 block 114 11
#mknod part12 block 114 12
#mknod part13 block 114 13
#mknod part14 block 114 14
#mknod d0p15 block 114 15
#cd /boot/pruebas
#umount temp
#gzip init
#cp init.gz ../initrd-2.4.19.img
Si reconfiguramos el lilo ahora (si se necesita) ya tendríamos nuestro kernel 100% funcional.
Nota: Las particiones a partir de ahora serán accesibles desde /dev/ataraid/d0pX o /dev/ataraid/disc0/partX (sinendo X el nº de partición), posiblemente tengamos que cambiar el fichero /etc/fstab o bien generar uno nuevo y utilizandolo unicamente con este nucleo.
Usar un kernel de la rama 2.4 con el driver de la raid "deshabilitado" y montar el driver "opensource" (mentira, ... no es opensource) de highpoint.
Por ejemplo el 2.4.18-4 (el que biene en redhat 8), ...En un principio podemos incluso compilar sólo el nucleo y dejar los módulos sin compilar ni instalar :P aun que necesitaremos usar el GCC 3 si está compilado en GCC 3 o el GCC 2 si está compilado en GCC 2.
Lo primero es instalar el RPM con los mismos fuentes con que se compiló el que queremos sustituir y el RPM con el kernel ya compilado.
Una vez instalado tendremos que hacerle un par de modificaciones:
· En el directorio "drivers/ide/" modificaremos "ide-pci.c", tenemos que localizar y eliminar:
{DEVID_HPT34X, "HPT34X", PCI_HPT34X, NULL, ...
{DEVID_HPT366, "HPT366", PCI_HPT366, ATA66_HPT366, ...
(Esto es lo que indica la documentación de highpoint pero es posible que en el kernel que tu usas tengas mas lineas similares a continuación de estas o justo antes. En kernels como el incluido en mandrake a demás estan colocadas "de forma que quede bonito" por lo que es posible que esté partido en varias lineas.)
Volviendo al directorio del kernel modificaremos "Makefile": En muchas distribuciones de linux distinguen entre las versiones "oficiales" del kernel y las que compila el usuario. Para hacer que nuestro binario sea compatible con el antiguo cambiaremos la versión (aparece al principio de todo) por la versión que nosotros usamos, ... por lo que en redhat quedaría algo asi como: 2.4.18-4athlon (para un athlon como el mio :P) en lugar de 2.4.18-4custom
Una vez hecho esto necesitamos usar la misma configuración del kernel que acabamos de instalar.
Los rpms de redhat y de mandrake incluyen un fichero en /boot/config- que podemos usar para compilar nuestro nuevo kernel,... basta con copiarlo al directorio de los fuentes con el nombre ".config"
Una vez llegado a este punto toca compilar el kernel,.. ejecutamos make menuconfig o make xconfig y vamos a la sección IDE a desactivar todo resto de los drivers de highpoint, .... salimos, ... guardamos,... y ejecutamos:
#make dep
#make
#make bzImage
y copiamos el fichero arch/i386/boot/bzImage a /boot/vmlinuz-2.4.18-4athlon (o el nombre que debiera de llebar en función de vuestra versión del kernel.
Ahora necesitamos recompilar el driver de highpoint, ... en este caso podemos estar ante 2 situaciones:
Nuestro kernel está compilado en GCC2
Compilalo según la documentación incluida con los drivers.
Nuestro kernel está compilado en GCC3
Modifica el fichero hpt37x2lib.o para que el compilador crea que lo hemos compilado con GCC3 :P
"gcc2_compiled" -> "gcc3_compiled"
"CC: (GNU) 2.96" -> "GCC: (GNU) 3.2 " (ojo al espacio del final)
y lo compilas según la documentación incluida con los drivers.
Una vez hecho esto copiamos el modulo resultante (hpt37x2.o) a /lib/modules/2.4.18-athlon/drivers/scsi/ y generamos un nuevo initrd que carge el driver automaticamente (si no no podríamos arrancar directamente usando el raid):
/sbin/mkinitrd -f --preload scsi_mod --preload sd_mod --preload ext3 --with=hpt37x2 /boot/initrd-2.4.18-4athlon.img 2.4.18-4athlon
Si reconfiguramos el lilo ahora (si se necesita) ya tendríamos nuestro kernel 100% funcional.
Valora este capítulo:
Autor y licencia de 'Highpoint 370/372 - ¿En resumen, ... que es lo que hay que hacer para usar MI RAID?'
|
Opiniona sobre 'Highpoint 370/372 - ¿En resumen, ... que es lo que hay que hacer para usar MI RAID?' (1)
Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.
Opina sobre este monografía |
Wikis relacionados con 'Highpoint 370/372 - ¿En resumen, ... que es lo que hay que hacer para usar MI RAID?'
Este CÓMO describe cómo usar un RAID software bajo Linux. Debería usar los parches RAID...
Más »
Este documento describe cómo usar el sistema de spooling para impresoras de líneas que provee...
Más »
En este documento se presenta la información acerca de la instalación, configuración, ejecución y mantenimiento...
Más »
El Dr. Goleman sistematiza el concepto de la inteligencia emocional, lo toma científico, exponiendo un...
Más »
La opinión -académica o popular- suele ser definitiva en otorgar a César Vallejo la preeminencia...
Más »

