Instalando OpenBSD 4.0 en un Soekris con Flashdist

2006-11-19 por Angel Abad, etiquetado como bsd

Manual traducido de: http://www.nmedia.net/~chris/soekris/install.html

En este manual se muestra como instalar OpenBSD en un Soekris NET4501 sobre una compat flash, en este caso para hacer las funciones de firewall y establecer tuneles IPSEC.

Instalación del NET4501

1. Durante el arranque del Soekris (con la flash insertada), vera un mensaje similar a este:

0064 Mbyte Memory                   CPU 80486 133 MHz
Pri Mas  ATA_FLASH                  LBA 489-4-32   31 Mbyte

En el ejemplo anterior, 489-4-32 representa los Cilindros, PistarPorCilindro(Cabezas) y SectoresPorPista, los valores C-H-S.

Conecte su consola serie a la caja del Soekris (19200 baud). Introduzca la tarjeta flash en el Soekris, enciendalo, y anote los valores C-H-S de su sesión serie. Recuerdelos ya que Flashdist le preguntará por ellos más adelante.

(Si su Soekris no muestra esos valores, siga las instrucciones de la web de Soekris para actualizar de la 1.15 a una BIOS más moderna)

2. Desempaquete base4X.tgz y etc4X.tgz en un directorio, por ejemplo, /tmp/openbsd.

(Asegúrese de utilizar la opción p con tar o los ficheros no serán extraídos con los permisos adecuados y su instalación (al menos sshd y login) no funcionará correctamente!). (De forma alternativa, si está ejecutando flashdist en un OpenBSD/i386 y quiere evitar este paso, puede especificar / en vez de /tmp/openbsd en el argumento número 4 para instalar el contenido de flashsmall.txt desde sus sistema operativo actual. Esto ahorra tiempo, pero copia el estado actual de /etc, incluyendo master.passwd y otros ficheros de configuración, así que deberá editarlos.)
mkdir /tmp/openbsd
cd /tmp/openbsd
tar xzpf /path/to/base40.tgz
tar xzpf /path/to/etc40.tgz

3. Compile el kernel del NET4501

cp /path/to/NET4501 /usr/src/sys/arch/i386/conf/NET4501
cd /usr/src/sys/arch/i386/conf
config NET4501
cd ../compile/NET4501
make

Por supuesto, que cualquier kernel que compile debe estar construido con la misma versión de código fuente que está instalando en el Soekris. O en caso de que esté usando un snapshot para instalar desde el, intente construir las últimas fuentes cerradas.

4. Edite el fichero rc en el directorio de flashdist para añadir sus opciones.

(Deberá cambiar por lo menos las direcciones IP, la puerta de enlace, el hostname, etc...)

tar xvf flashdist.tar
cd flashdist
vi rc

5. Use flashdist para instalar en su tarjeta flash

(se asume que está utilizando un adaptador USB-CF con una flash en sd2). Asegúrese de ejecutar flashdist.sh desde el directorio flashdist, ya que sino podría acceder a otros ficheros.

./flashdist.sh sd2 flashsmall.txt /usr/src/sys/arch/i386/compile/NET4501/bsd /tmp/openbsd

O, si quiere instalar todo (/etc, /usr) desde su estación de trabajo.

./flashdist.sh sd2 flashsmall.txt /bsd /

6. Edite /etc/rc y configure sus parámetros de red (ips, rutas, etc)

.

Active ntpd si quiere usarlo (recomendado). Active dhcpd si lo necesita. Edite ntpd.conf, dhcpd.conf, pf.conf, etc... Si está usando nsh puede configurar las rutas y las interfaces directamente dentro de nshrc o a través del CLI nsh.

Ya debería tener una flash arrancable para su NET4501. Si tiene problemas arrancando, quizás necesite seguir las instrucciones del inicio del script para obtener la geometría correcta.

Modificando la flash después de arrancar

Cuando esté logueado la consola serie del net 4501, puede usar vi y otras aplicaciones para configurar su tipo de terminal, como por ejemplo:

export TERM=vt220

Si quiere hacer cambios en el dispositivo de solo lectura mientras esta logueado en el, haga lo siguiente:

mount -o rw,noatime /dev/wd0a /

Haga sus cambios, y después vuelva a montarlo en modo sólo lectura:

mount -o ro /dev/wd0a /

Creando una imagen de disco virtual con flashdist

Si quiere utilizar flashdist para crear una imagen de disco, en vez de trabajar sobre la flash, use vnconfig(8). Este método solo funciona si especifica la geometría a flashdist manualmente. Primero necesita crear una imagen del tamaño de la flash:

dd if=/dev/zero of=flashimg bs=512 count=125440

Donde bs, el blocksize, es igual a los bytes por sector usados en la flash (casi siempre 512), y count es el número total de sectores. En este ejemplo, el número total de sectores es 125440, pero por supuesto, es diferente para cada tipo de flash o disco duro. Se calcula con C*H*S, donde C es Cilindros, H es Cabezas (pistas por cilindro), y S son Sectores por pista.

Una vez tenga la imagen de disco, necesita que se comporte como un disco normal.

vnconfig -c svnd0 flashimg

Ahora puede usar el dispositivo svnd0 con flashdist, en vez de sd0 u otro disco del sistema. Cuando esté preparado para instalarlo en la flash, necesita desconfigurarla antes de usarla.

vnconfig -u svnd0

Ahora el fichero 'flashimg' es tu imagen de disco y está preparada para ser escrita en la flash.

dd if=flashimg of=/dev/sd0c

Instalando NSH

NSH puede ser instalado fácilmente. Simplemente desempaquete nsh bajo el directorio de flashdist.

cd flashdist-XXXXXXXX
tar xvf ~/nsh-XXXXXXXX.tar

Ahora, construya NSH.

cd nsh
make

Con NSH compilado, flashdist lo instalará automáticamente.

Enlaces