Mostrando las entradas con la etiqueta bsd. Mostrar todas las entradas
Mostrando las entradas con la etiqueta bsd. Mostrar todas las entradas

viernes, 4 de julio de 2008

FreeBSD 7 + lighttpd + php5 + cgi

Lo primero será instalar el lighttpd:

# cd /usr/ports/www/lighttpd
# make install clean clean-depends


Después, el PHP 5. Lo mejor será hacerlo directamente desde las extensiones, ya que compilará las extensiones elegidas y PHP5 como dependencia:

# cd /usr/ports/lang/php5-extensions
# make install clean clean-depends


En caso de que se quisiese instalar el PHP 5 a pelo, sin extensiones, lo mejor sería hacerlo así para poder tener sesiones:

# /usr/ports/lang/php5
# make CONFIGURE_ARGS+=--enable-session install clean clean-depends


En todo caso ésta última no es una buena forma de instalarlo, yo al menos tuve problemas al querer instalar php5-mysql, incluso desde php5-extensions, ya que aunque instalaba, luego en realidad no había soporte para la base de datos.

Seguimos. Como soy un poco tiquismiquis, voy a crear un directorio específico para los logs del lighttpd:

# mkdir /var/log/lighttpd
# chmod -R 755 /var/log/lighttpd
# chown -R www:www /var/log/lighttpd


Ahora hay que editar el archivo de configuración del lighttpd y dejarlo a nuestro gusto. Está localizado en /usr/local/etc/lighttpd.conf. Antes de nada le hacemos una copia de seguridad, y luego lo editamos:

# cp /usr/local/etc/lighttpd.conf /usr/local/etc/lighttpd.conf.orig
# vi /usr/local/etc/lighttpd.conf


Para empezar, en la sección "server.modules", hay que activar el "mod_cgi" (viene comentado por defecto). Para completar el soporte CGI hay que buscar las líneas que haya de "cgi.assign" y sustituirlas por la siguiente para poder ejecutar PHP vía CGI:

cgi.assign = (".php" => "/usr/local/bin/php-cgi" )

Otras líneas que puede que haya que modificar para que se adecúen a la configuración de nuestro servidor:

En mi caso esta es la ruta en donde están las páginas html:

## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root = "/usr/local/www/html/"


Para que grabe los logs en el directorio creado anteriormente:

## where to send error-messages to
server.errorlog = "/var/log/lighttpd/lighttpd.error.log"

#### accesslog module
accesslog.filename = "/var/log/lighttpd/lighttpd.access.log"


También puede ser interesante cambiar el puerto del servidor:

## bind to port (default: 80)
server.port = 8080


En caso de que no sea el 80, buscar la siguiente línea y comentarla, ya que sino las páginas se siguen sirviendo desde el puerto 80.

$SERVER["socket"] == "0.0.0.0:80" { }

Ya sólo queda editar el archivo /etc/rc.conf, añadir lighttpd_enable="YES" para que el demonio se lance al encender el ordenador, y listo.

martes, 1 de julio de 2008

Montaje de particiones ext2/ext3 en FreeBSD 7

Después de un rato de prueba y error, descubrí que para montar una partición ext2/ext3 en FreeBSD 7 hay que cargar el módulo de ext2, y luego ya realizar el montaje de forma normal como si fuera cualquier otro sistema de ficheros:

# kldload ext2fs
# mount -t ext2fs /dev/daXsX /mnt/XXX

Link: http://blog.nezz.be/past/2008/4/18/mounting_ext2_partition_on_freebsd/

sábado, 31 de mayo de 2008

Automontaje de dispositivos con HAL en FreeBSD 7 + KDE

Texto simplificado de este otro tutorial:

http://daemonforums.org/showthread.php?p=3218

En primer lugar, KDE tendrá que tener soporte para HAL; en caso contrario habría que recompilarlo.

En /etc/devfs.conf habrá que añadir permisos, si es que no los hay ya, sobre los siguientes dispositivos:

perm cd* 0666
perm acd* 0666

El usuario deberá estar en el grupo operators:

# pw groupmod operator -m nombre_usuario

En el archivo /etc/fstab no hay ninguna línea en la que se indique ninguno de los dispositivos para los que queremos el automontaje (cd*, acd*...)

Habilitar los servicios de DBUS y HAL en el archivo /etc/rc.conf:

dbus_enable="YES"
hald_enable="YES"

Habrá que modificar el archivo /usr/local/etc/PolicyKit/PolicyKit.conf para autorizar al usuario correspondiente el que pueda montar dispositivos. El archivo deberá quedar como algo parecido a esto (perdón por el deficiente sangrado y formateado):

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">

<!-- See the manual page PolicyKit.conf(5) for file format -->

<config version="0.1">
<match user="root">
<return result="yes"/>
</match>
<define_admin_auth group="wheel"/>
<match action="org.freedesktop.hal.storage.mount-removable">
<match user="nombre_usuario">
<return result="yes"/>
</match>
</match>
</config>

cambiando nombre_usuario por el nombre del usuario al que queramos dar permisos.

Por último, ya sólo quedará reiniciar KDE y probar que todo funcione.

De forma opcional, se puede configurar KDE para que cada vez que insertemos un CD-ROM con datos (o un llavero USB, por ejemplo) se muestre un icono en el escritorio para acceder fácilmente a él. Esto se puede hacer desde el KDE Control Center. Ir a Desktop -> Behavior, clicar en Device Icons, y configurarlo a gusto del consumidor.

Grabación en K3b como usuario sin privilegios

Recién instalado un FreeBSD 7 + KDE + K3b, los intentos de grabación con éste último fallan estrepitosamente. Concretamente al iniciar k3b se mostrará un mensaje como el siguiente:


Efectivamente, si vamos a Settings -> Configure K3b, Devices, podremos ver que no se detecta ni CD-ROM ni grabadora ni nada:


Para solucionarlo, añadir en /boot/loader.conf la linea:

atapicam_load="YES"

En /etc/rc.conf añadir la linea:

devd_enable="YES"

Comprobar los permisos en /etc/devfs.conf sobre los siguientes dispositivos:

perm cd* 0666
perm xpt* 0666
perm pass* 0666

Añadiendo esas lineas en devfs.conf se logra que los permisos sobre los dispositivos sean persistentes entre reinicios de la máquina.

Efectivamente, ahora al entrar en K3b debería aparecer en la esquina inferior izquierda un mensaje como el siguiente:


Y al volver a la configuración del programa ya debería aparecer la grabadora como disponible:


Intrucciones simplificadas a partir de este tutorial.

viernes, 30 de mayo de 2008

Instalar Internet Explorer en FreeBSD con IEs4Linux

IEs4Linux es un script que permite instalar y ejecutar Internet Explorer (concretamente las versiones 5.5, 6 e incluso 7) en Linux o cualquier otro SO ejecutando Wine. En nuestro caso, el sistema operativo elegido es FreeBSD :)

Para poder ejecutar el script que nos permita instalar el vilipendiado Internet Explorer, habrá que tener instalados desde los ports/packages:

archivers/unzip
archivers/cabextract
emulators/wine
ftp/wget

Además la emulación Linux deberá estar funcionando en el sistema.

El siguiente paso es descargar y descomprimir ies4linux:

# wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
# tar zxf ./ies4linux-latest.tar.gz

Y luego:

# env LANG=C /compat/linux/bin/bash
# cd ./ies4linux-2.99.0/
# ./ies4linux --no-gui --no-color

(o con las opciones que se deseen)

Aunque se supone que junto con el Internet Explorer instala Flash 9, en mi caso no se veían las páginas con Flash, pero se solucionó yendo a la página de Macromedia a instalando Flash desde allí.

¡Y listo!

Encontrado en http://www.xdelta.net/blog/FreeBSD

Montar particiones NTFS en FreeBSD 7

NTFS-3G es un driver de código abierto que permite el acceso a particiones NTFS en modo lectura/escritura en Linux, FreeBSD, Mac OS X, NetBSD y Haiku. Permite montar sistemas de archivos de Windows XP, Windows Server 2003, Windows 2000 y Windows Vista.

En primer lugar habrá que instalar fusefs-ntfs, disponible como de costumbre en los ports:

# cd /usr/ports/sysadmin/fusefs-ntfs
# make install clean clean-depends

El solo se encargará de instalar las dependencias necesarias, entre ellas sysutils/fusefs-libs y sysutils/fusefs-kmod. Para su compilación es necesario que los fuentes del sistema estén instalados, por lo que otra opción sería instalar directamente el package:

# pkg_add -r fusefs-ntfs

El siguiente paso sería activar fuse en el arranque, lo que se lograría añadiendo la línea

fusefs_enable="YES"

al archivo /etc/rc.conf

En mi caso el objetivo final es montar en tiempo de arranque las particiones NTFS para que cualquier usuario pueda leer/escribir en ellas de forma transparente. Lo normal sería hacer esto añadiendo la información necesaria en /etc/fstab, pero lamentablemente esto parece que no es posible por razones técnicas; por ejemplo fuse se inicia después del montaje de ficheros del fstab. Alguna gente se ha creado un script tipo rc.d para montar los sistemas de ficheros de NTFS como un servicio más, pero en realidad la solución más sencilla es añadir la línea de montaje al fichero /etc/rc.local; en mi caso quedaría como sigue:

/usr/local/bin/ntfs-3g /dev/ad0s5 /mnt/d -o force,locale=es_ES.ISO8859-15

En teoría un usuario cualquiera podría montar sistemas de ficheros NTFS, pero en la práctica habría que pelearse con el devfs y esto por ahora no es mi intención :)

domingo, 18 de febrero de 2007

Pure-FTPD como servidor FTP con usuarios virtuales en OpenBSD 3.2

Artículo publicado originalmente en la página de "El Demonio" en agosto del 2003

En este artículo trata de cómo instalar y configurar el servidor de ftp Pure-FTPD con usuarios virtuales en una OpenBSD 3.2. ¿Por qué Pure-FTPD y no otro? Pues... porque es el que conozco, el que tengo instalado y con el que me tuve que pelear, ni más ni menos.
La confección del artículo está pensada con OpenBSD 3.2 en mente, que es lo que tengo instalado, pero debería funcionar con otras versiones sin dificultad e incluso con otros sistemas operativos sin necesidad de mucha adaptación.
Para la confección del mismo he utilizado la documentación oficial disponible (ver links al final del documento) y la experiencia propia.

Compilación e instalación
Podemos encontrar el port del Pure-FTPD en /usr/ports/net/pure-ftpd. Si no está ahí, quizás tienes los ports poco (¡o nada!) actualizados, o simplemente no los tienes. De todos modos, aquí sólo se va a tratar la instalación/configuración del Pure-FTPD, así que una vez que tengas una versión actualizada o que al menos tenga el Pure-FTPD, haz:

politvs# cd /usr/ports/net/pure-ftpd

Como queremos activar el soporte para usuarios virtuales, mensajes en castellano, y otras funcionalidades, tendremos que editar el archivo Makefile con nuestro editor favorito (el vi, claro :)), comentar la línea ya existente de CONFIGURE_FLAGS+= ... (ojo, seguramente estará partida con una barra como esta "\", así que comenta las dos líneas si no quieres que te de un error...) y añade esta por ejemplo:

CONFIGURE_ARGS+= --without-inetd --without-paranoidmsg --with-puredb \
--with-language=spanish --without-banner

Explico un poco los flags utilizados:

--without-inetd => No utilizo inetd, así así que yo lo voy a desactivar
--with-paranoidmsg => Se le mostrará siempre el mismo mensaje de error (en caso de que lo haya, claro) al usuario independientemente de cuál haya sido el error que lo haya provocado. Quizás no es muy útil a la hora de depurar errores de configuración, pero sí es útil por motivos de seguridad.
--with-puredb => Habilitamos usuarios virtuales
--with-language=spanish => Lenguaje castellano en los mensajes del servidor
--without-banner => No imprime banner de saludo <= Esta opción la hay como flavor

Otros flags que alguna gente podrá encontrar interesantes:

--with-nonroot => Permite que otros usuarios que no sean root ejecuten el servidor (con algunas limitaciones)
--with-quotas, --with-ratios => Activa cuotas de uso de disco, ratios de descarga...
--with-ftpwho => Soporte para el comando pure-ftpwho (nos da información sobre usuarios conectados, qué descargan, etc). Necesita algo más de memoria, y al parecer pueden enlentecer cuando se utilizar Pure-FTPD con inetd.

Haciendo:

politvs# ./configure --help

desde el directorio en donde están descomprimidos los fuentes (alguno que cuelgue de /usr/ports/net/pure-ftpd pero eso ya depende de la versión) podrás obtener todos los flags posibles que puedes utilizar, y sino consulta la página web oficial (casi todo lo que pongo aquí está extraído de allí), en donde hay varios "readmes".

En resumen: añade la línea CONFIGURE_FLAGS+= ... en el Makefile con los flags que quieras ;)

Ahora sólo queda hacer:

politvs# make install clean clean-depends

Y si no hay problemas y después de un rato compilando, deberíamos tener ya el Pure-FTPD instalado.

Usuarios virtuales
Uno de los puntos que me gustan del Pure-FTPD es la posibilidad de trabajar con usuarios virtuales. Para ello hay que realizar algunos pasos previos. En primer lugar, añadiremos un grupo y un usuario al sistema:

politvs# groupadd -g 6000 ftpgroup
politvs# useradd -g ftpgroup -u 6000 -d /dev/null -s /etc ftpuser


Esto no es estrictamente necesario (se pueden utilizar usuarios y grupos ya existentes), pero pienso que queda más claro y es lo que recomiendan en el "readme" de usuarios virtuales de la propia página web del programa. Ojo, hay que tener cuidado de que no exista ese usuario/grupo/uid/gid, ya que podría darnos problemas.

Seguramente te extrañará que el shell utilizado sea /etc; francamente a mi también :) pero es como dice el "readme" que hay que hacerlo. Para ello, es casi seguro que tengas que añadir la línea /etc en el archivo /etc/shells ya que seguramente no la tendrás. Hay otra posibilidad, más clara pero que no he probado, que es la de añadir /sbin/nologin (creo que ese es el path) en /etc/shells y utilizar éste como shell del usuario ftpuser; supongo que funcionará igual, ya que se trata simplemente de tener una shell falsa.

Procedemos ahora a añadir el primero de nuestros usuarios virtuales. De forma rápida sería algo así:

pure-pw useradd nombre-de-usuario-virtual -u nombre-real-del-usuario -g grupo-real-del-usuario -d /ruta/del/home/virtual

Es decir: si queremos añadir un usuario virtual pepe con el grupo y usuarios de sistema creados unas líneas atrás, y que tenga como home el directorio /mnt/ftp, tendremos que hacer:

politvs# pure-pw useradd pepe -u ftpuser -g ftpgroup -d /mnt/ftp

Nos preguntará la contraseña dos veces por motivos de seguridad.

A la hora de crear usuarios tenemos muchas otras opciones, como encerrarlo en su directorio, permitir que se conecte desde una dirección ip determinada... pero esto es solo un breve tutorial así que no me meteré a fondo con esto (tampoco podría porque no he hecho pruebas en este sentido).

Para modificar datos de usuarios ya creados tenemos el comando pure-pw usermod. Por ejemplo, si quisiéramos que pepe tenga una cuota de 1000 archivos y 10Mb, tendríamos que hacer algo así:

politvs# pure-pw usermod pepe -n 1000 -N 10

Pero no lo he probado, así que inténtalo tú mismo y luego dime si funciona, da problemas, o qué pasa.

Para borrar al usuario pepe:

politvs# pure-pw userdel pepe

Ojo, el home no se borra, tendrás que hacerlo a mano si quieres.

Cambiar la contraseña sería algo como esto:

politvs# pure-pw passwd pepe

De nuevo nos la preguntará dos veces.

Si lo que queremos es ver información sobre el usuario pepe:

politvs# pure-pw show pepe

En todos estos ejemplos están dando por sentado que estamos trabajando con la base de datos de usuarios creada por defecto por el Pure-FTPD, que es /etc/pureftpd.passwd. Podemos editar la información directamente en ese archivo, puesto que es texto plano (no recomendable). Sin embargo, hay que transformar esa información en un archivo binario con el que el Pure-FTPD pueda trabajar, y eso lo hacemos así:

politvs# pure-pw mkdb

Lo cual creará el archivo /etc/pureftpd.pdb (siempre que sigamos trabajando con la los parámetros por defecto). Hablando claro, viene a ser como una compilación. Cada vez que haya un cambio en el archivo .passwd, hay que "recompilarlo" para que el Pure-FTPD pueda usarlo.

Una opción interesante cuando añadimos usuarios, o cambiamos sus datos/contraseñas, es el modificador -m, que hace que, inmediatamente después de la acción, se reconstruya el archivo binario de información:

politvs# pure-pw passwd pepe -m
politvs# pure-pw userdel pepe -m


De esta forma ya no será necesario hacer pure-pw mkdb.
Iniciar el servidor

Bueno, llegó la hora de ver si todo esto funciona, así que activemos el servidor. En mi caso lo haré tal que así:

politvs# /usr/local/sbin/pure-ftpd -4 -B -j -lpuredb:/etc/pureftpd.pdb -lunix -c 2 -C 2 -A

¡Y ya deberíamos poder conectarnos! Explicaré un poco los flags utilizados:

-4 => Activa IPv4.
-B => Inicia el servidor como demonio.
-j => Crea los homes al entrar por primera vez si no existían con anterioridad.
-lpuredb:/etc/pureftpd.pdb => Activa los usuarios virtuales y leerá la información del archivo /etc/pureftpd.pdb
-lunix => Si la validación como usuario virtual no funcionó, la intentará como usuario de sistema.
-c 2 => Permite sólo dos clientes simultáneos como máximo.
-C 2 => Permite sólo dos conexiones simultáneas por IP.
-A => Los usuarios no pueden descender más allá de su home.
-I 15 => Timeout a los 15 minutos.

También hay otras posibilidades interesantes:

-S 42 => Conecta al puerto 42 en lugar de al 21 (que es el habitual por defecto)
-f none => Desactiva logs
-E => Prohibe clientes anónimos
-w => Soporte FXP para usuarios autenticados (¡¡ojo, que FXP es un protocolo inseguro!!)

Para más información sobre estos y para saber qué otros están disponibles, échale un ojo a la página man:

politvs# man pure-ftpd

Merecen especial atención los parámetros -lpuredb:/etc/pureftpd.pdb -lunix. En ese orden, intentará primero validarse como usuario virtual y luego como usuario del sistema. Sería cuestión de probar qué pasaría si tenemos un usuario con el mismo nombre en el sistema y en el Pure-FTPD y el orden de los parámetros es el contrario. Quizás ya no se pueda añadir como usuario virtual... Si alguien lo prueba, por favor que nos cuente qué pasa.
Usuarios anónimos (probar)

En teoría (ésto no lo he probado), si existe un usuario ftp y tiene su propio home, Pure-FTPD aceptará conexiones anónimas como anonymous o como ftp los archivos compartidos deberán estar en el directorio home del usuario. No es necesario hacer chown a esos archivos, sólo a los directorios en los que se quiera que pueda escribir.

Banners
En el caso de existir un archivo .banner en el directorio home del usuario o del servidor virtual, se imprimirá cuando un usuario se conecte a modo de mensaje de bienvenida. Este archivo no debe superar los 4000 bytes o no se mostrará.

También puede haber en cada directorio un archivo .message que será mostrado cuando un cliente entre en el directorio.

Inicio de Pure-FTPD cada vez que iniciemos el ordenador
Pues sólo sería añadir algo como:

# Pure-FTPD
if [ -f /usr/local/sbin/pure-ftpd ]; then
echo -n ' Pure-FTPD'
/usr/local/sbin/pure-ftpd -4 -B -j -lpuredb:/etc/pureftpd.pdb -lunix -c 2 -C 2 -A
fi


... en nuestro /etc/rc.local. Podríamos refinarlo un poco más, pero así nos sirve.

Logs
Quizás queramos cambiar el archivo de log o la información que en él se va a mostrar. Por defecto el Pure-FTPD lo hace a través del syslog la configuración de este demonio la podemos cambiar a través del archivo /etc/syslog.conf, así editamos este archivo con nuestro editor favorito (de nuevo vi). Habrá ya una línea para ftp de este estilo:

ftp.info /var/log/xferlog

pero yo creo que es más claro loguear a otro archivo y que se incluya en este toda la información disponible, así que cambiaremos esta línea por esta otra:

ftp.* /var/log/ftp

y luego sólo nos quedará reiniciar. Esta opción queda a gusto del consumidor.

Links y agradecimientos
Página oficial de Pure-FTPD
Documentación oficial

Me gustaría aprovechar y agradecer la existencia de la página de "El Demonio" por dar cabida a este humilde documento y facilitarnos la vida con sus documentos. Eternamente agradecido.

Despedida
Y creo que eso es todo. Espero que este documento os haya servidor de algo.

jueves, 21 de diciembre de 2006

Actualización de NetBSD en Jornada 690

¡Hola a todos!

Estreno la bitácora con una pequeño recordatorio de cómo hay que actualizar la NetBSD que tenía instalada en mi HP Jornada 690e. Otro día cuento cómo llegó a mis manos :)

Para empezar, lo primero que hice fue hacer una copia de seguridad de lo que ya tenía instalado. La instalación la había hecho sobre una tarjeta Compact Flash de 512 Mbytes, así que utilizando un lector de tarjetas, desde mi ArchLinux ejecuto el siguiente comando:

lysandra# dd if=/dev/sda of=/ruta/del/backup/netbsd_jornada690_512M.dd

y luego comprimo la imagen con bzip2 (usando KDE, para no complicarme la vida :) También, por si las moscas, me copié los archivos de la partición fat de la tarjeta CF (simplemente montar la partición sda1 desde la línea de comandos y copiar el contenido por ahí).

Para la siguiente parte, la actualización del SO propiamente dicha, se necesita una NetBSD. En tiempos la tuve instalada pero ya no, así que utilicé el un live cd para i386 que sacaron hace poco (se puede descargar de ftp.netbsd.org, no es complicado encontrarlo y ahora mismo no tengo el enlace a mano). La NetBSD es necesaria porque el soporte de lectura/escritura de sistemas de archivos UFS en Linux está aun un poco verde, al parecer, aunque la verdad es que no lo he probado.

Así pues, reiniciamos con el Live CD de la NetBSD y tras configurar la red y lo que nos vaya pidiendo, y después de enchufar el lector de tarjetas, procedemos a la actualización.

Como ya comenté anteriormente, ya tenía instalada una NetBSD (ya ni me acuerdo la versión, la instalé lo menos hace más de un año) pero tenía algunos pequeños problemillas como que la consola era inusable por el contraste de los colores. Creo recordar que tampoco llegué a instalar ningún paquete de los disponibles. Así que, como realmente no había nada que guardar, formateé la partición UFS y volqué de nuevo el contenido de los sets. Por si acaso, antes del formateo hice una copia de seguridad del contenido de etc en la CF:

lysandra# mkdir /mnt/ufs
lysandra# mount -o softdep /dev/sd0a /mnt/ufs
lysandra# tar cf etc.tar /mnt/ufs/etc/
lysandra# umount /mnt/ufs


Después monté la partición de nuevo y procedí a descomprimir los sets:

lysandra# mount -o softdep /dev/sd0a /mnt/ufs
lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/base.tgz -C /mnt/ufs/
lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/etc.tgz -C /mnt/ufs/
lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/misc.tgz -C /mnt/ufs/
lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/text.tgz -C /mnt/ufs/
lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/kern-GENERIC.tgz -C /mnt/ufs/
lysandra# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
root_device 716904 716904 0 100% /
[...]
/dev/sd0a 471887 90742 357551 20% /mnt/ufs
[...]


lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/man.tgz -C /mnt/ufs/
lysandra# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
[...]
/dev/sd0a 471887 123523 324770 27% /mnt/ufs
[...]


lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/comp.tgz -C /mnt/ufs/
lysandra# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
[...]
/dev/sd0a 471887 205104 243189 45% /mnt/ufs
[...]


lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/xbase.tgz -C /mnt/ufs/
lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/xetc.tgz -C /mnt/ufs/
lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/xfont.tgz -C /mnt/ufs/
lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/xserver.tgz -C /mnt/ufs/
lysandra# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
[...]
/dev/sd0a 471887 272887 175406 60% /mnt/ufs
[...]

lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/xcomp.tgz -C /mnt/ufs/
lysandra# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
[...]
/dev/sd0a 471887 312276 136017 69% /mnt/ufs
[...]


Hago unas pausas de vez en cuando para ver el nivel de ocupación de la tarjeta. Si no se instalan las X, 256 Mbytes podrían ser más que suficientes, así que quizás haga más adelante una nueva reinstalación en una tarjeta más pequeña que la actual.

Unos últimos detalles sobre ficheros de la partición UFS:

lysandra# cd /mnt/ufs/
lysandra# mkdir cf
lysandra# cd /mnt/ufs/etc
lysandra# rm localtime
lysandra# ln ../usr/share/zoneinfo/Europe/Madrid localtime
lysandra# vi fstab
/dev/wd0a / ffs rw,noatime,nodevtime 1 1
/dev/wd0e /cf msdos -l,rw 0 0
lysandra# touch rc.conf
rc_configured=YES
hostname="jornada"
critical_filesystems_local="/cf $critical_filesystems_local"
no_swap=YES
savecore=NO
lysandra# cd /mnt/ufs/dev
lysandra# sh ./MAKEDEV all
./MAKEDEV: ses0: unknown device
./MAKEDEV: ses1: unknown device
./MAKEDEV: ses2: unknown device
./MAKEDEV: ses3: unknown device


Tan solo quedan un par de retoques:

lysandra# mkdir /mnt/fat
lysandra# mount -o -l /dev/sd0e /mnt/fat
lysandra# tar -x -p -z -f /ruta/archivos/netbsd/binary/sets/kern-GENERIC.tgz -C /mnt/fat/
lysandra# cp /ruta/archivos/netbsd/installation/hpcboot-sh3.exe /mnt/fat/hpcboot.exe


Y en principio nada más. Sólo reiniciar y ver si funciona :)

PoLiTvS

P.D. Queda pendiente publicar alguna fotillo del cacharro :) y detallar algunas opciones de configuración posteriores

Bibliografía: NetBSD And Handheld Platforms, de Valeriy Ushakov y Alistair Crooks (http://2004.eurobsdcon.org/uploads/media/EBSD04_37.pdf)