instalación de Debian GNU/Hurd. problemas con settrans y login
este hilo deriva de http://www.esdebian.org/esdebian/27049/esdebianita-mes-octubre-2008
Bueno, parece que la cosa ha ido bien... a medias. Las instrucciones están clarísimas, gracias de nuevo. Un par de problemas:
El primero, cómo no, con la red. Por mucho que miro en el arranque, no consigo ver si se detecta la tarjeta de red y menos qué nombre se le asigna. El caso es que al aplicar settrans (ya sea con eth0, eth1, etc.) me devuelve siempre:
/hurd/pfinet: eth[0,1, (el que sea)]: (os/device) no such device
settrans: /hurd/pfinet: Translator died
¿Dónde hay que mirar con atención exactamente?, sale todo tan rápido...
El segundo problema es que no puedo acceder al modo multiusuario. En el proceso de instalación no pide crear ningún usuario ni asignar contraseña al root. Únicamente, después de la segunda pasada de ./native-install dice que ya podemos ingresar en modo multiusuario, acceder como root y asignar la contraseña con passwd, aunque yo no lo hice y seguí tus instrucciones. Aunque intente entrar como root, no reconoce el usuario y devuelve:
root: command not found
en la pantalla de login. ¿Te ocurrió a ti algo parecido?
- Inicie sesión o regístrese para enviar comentarios
- 282 lecturas



hola :D
en cuanto a settrans, a mí me dio muchos problemas, es muy tiquismiquis la sintaxis y como no lo pongas todo perfecto no va (espacios incluídos). ¿estás utilizando VirtualBox? ¿NAT? si estás en una partición nativa de tu máquina, ten en cuenta que el soporte para hardware es limitado aún, vaya a ser que no reconozca tu tarjeta. Si es ése el caso no te quedará otra que bajar los paquetes desde otro sistema, y utilizar apt-offline o algo así.
De todas formas ten en cuenta que la barra que puse en el wiki enmedio del comando es sólo porque la necesita nano para no liarse con comandos largos. Repásalo bien. Yo tuve que hacerlo muchas veces hasta que lo hice bien.
En cuanto a lo segundo, ¿pones 'root' o 'login root'?
No tengo a mi Hurd aquí conmigo. Dentro de dos semanas cuando vuelva a España podré ayudarte mejor
Hola,
Bueno, parece que no me quito la empanada de encima. En efecto, había que teclear 'login root' en lugar de root a secas. El caso es que lo pone claramente en el texto que aparece en pantalla, pero no reparé en ello.
Respondiendo a tus preguntas, he instalado el Hurd en una partición del disco duro (un portátil Ahtec Signal X-9500M de septiembre de 2003). Me da una pereza horrorosa ponerme a instalar VirtualBox, otra Debian encima y luego el Hurd.
Lo de la tarjeta de red va a ser que no la detecta, por mucho que miro en el arranque, no consigo localizar ninguna línea que haga referencia a su detección (es una Broadcom Corporation NetXtreme BCM5705 Gigabit Ethernet, al menos eso dice KInfoCenter en el apartado PCI). ¿Te suena la manera de guardar los mensajes del arranque en un fichero? Como bien dices, tendré que intentar utilizar el apt-offline, aunque no tengo mucho tiempo, ni internet en casa para el fin de semana.
Por otra parte, he intentado mi primera compilación en GNU/Hurd y... fracaso total. Por defecto, parace que viene el gcc 4.2 (sin enlace simbólico a gcc, me costó un rato descubrir que hay que llamarlo como gcc-4.2). Pero bueno, al intentar construir un 'hola mundo' me llevé la sorpresa de que no encuentra la cabecera stdio.h. Me doy una vuelta por /usr/include y descubro que sólo hay 3 ficheros *.h en esa carpeta. No sé, será cuestión de mirar en los repositorios y comprobar los paquetes.
Bueno, vamos a dar un repaso a lo conseguido hasta ahora con la instalación del Hurd:
Para la instalación básica seguí las instrucciones de arctica en el wiki de esdebian (http://www.esdebian.org/wiki/debian-gnuhurd-virtualbox). Siguiendo este manualillo llegamos a obtener una instalación básica de Hurd: podemos loguearnos en el sistema y poco más.
El siguiente paso lógico es actualizar el sistema e instalar los paquetes que deseemos. Ahora bien, para esto es necesario tener conexión a internet, cosa que, en mi caso, no es posible, ya que el Hurd parece no reconocer mi tarjeta de red. Aun así podemos salir del paso, ya que apt permite la instalación de paquetes previamente descargados y almacenados en una estructura de directorios concreta. Las instrucciones para utilizar apt en modo offline se pueden ver en http://www.batmat.net/apt-offline/ch2.html y, basicamente, se pueden esquematizar en los siguientes pasos:
# mount -t ext2 /dev/hda3 /gnu
# mkdir /gnu/paquetes
Dentro de esta carpeta se crea la siguiente estructura:
/gnu/paquetes/
archives/
partial/
lists/
partial/
status
sources.list
apt.conf
El fichero status lo copiamos del directorio /gnu/var/lib/dpkg/, el sources.list de /gnu/etc/apt/ y el apt.conf lo creamos nosotros con el siguiente contenido:
APT
{
/* This is not necessary if the two machines are the same arch, it tells
the remote APT what architecture the Debian machine is */
Architecture "hurd-i386";
Get::Download-Only "true";
};
Dir
{
/* Use the disc for state information and redirect the status file from
the /var/lib/dpkg default */
State "/gnu/paquetes/";
State::status "status";
// Binary caches will be stored locally
Cache::archives "/gnu/paquetes/archives/";
Cache "/tmp/";
// Location of the source list.
Etc "/gnu/paquetes/";
};
En realidad, es más cómodo crear los ficheros apt.conf-linux, con el contenido anterior, y apt.conf-hurd (donde reemplazaremos todas las apariciones de /gnu/paquetes/ por /paquetes/.
# export APT_CONFIG="/gnu/paquetes/apt.conf-linux"
y nuestro apt seguirá las indicaciones dadas en el fichero apt.conf-linux. Ahora actualizamos la lista de paquetes y nos descargamos las novedades:
# apt-get update
# apt-get upgrade
fijaos que he hecho upgrade y no dist-upgrade, que da error. Los paquetes nuevos se descargan a nuestro directorio archives/.
Para descargar otros paquetes se utiliza apt-get install de manera normal. En mi caso, el objetivo es compilar GNU Octave en el Hurd, así que me bajo:
# apt-get install flex bison g++ gfortran libreadline5-dev texinfo \
texi2html libcurl4-gnutls-dev libfftw3-dev libpcre3-dev \
libqhull-dev zlib1g-dev gperf libglpk-dev libblas-dev \
liblapack-dev libsuitesparse-dev
Faltan algunas bibliotecas, como la que permite el trabajo con ficheros hdf5, pero no todos los paquetes de Linux están portados al Hurd. También me instalo otros paquetes que necesitaré o que, al menos a mí, me hacen la vida más fácil:
# apt-get install colormake python libgsl0-dev
# export APT_CONFIG="/paquetes/apt.conf-hurd"
Ahora se ve la utilidad de haber creado 2 versiones de apt.conf. De no haberlo hecho tendríamos que haber cambiado la ruta /gnu/paquetes/ por /paquetes/, que es un coñazo cuando hay que hacerlo varias veces.
A continuación tecleamos:
# apt-get ckeck
Y, por fin, instalamos. Primero las actualizaciones:
# apt-get --no-d -o dir::etc::status=/var/lib/dpkg/status upgrade
Y luego los paquetes que nos hayamos descargado:
# apt-get --no-d -o dir::etc::status=/var/lib/dpkg/status install flex \
bison g++ gfortran libreadline5-dev texinfo \
texi2html libcurl4-gnutls-dev libfftw3-dev libpcre3-dev \
libqhull-dev zlib1g-dev gperf libglpk-dev libblas-dev \
liblapack-dev libsuitesparse-dev colormake python \
libgsl0-dev
Es recomendable teclearlos todos a la vez porque, no sé por qué, si vas uno a uno, las dependencias comunes las reinstala y se pierde tiempo. Supongo que sea debido a lo de --no-d -o dir::etc::status=/var/lib/dpkg/status, aunque no sabría explicarlo.
A partir de aquí los pasos se repiten si queremos instalar más cosas. Hay que tener presente que el fichero status se actualiza cuando instalamos los paquetes en el Hurd, por lo que es necesario copiarlo a nuestro árbol de descarga de paquetes antes de comenzar a bajarnos cosas desde Linux.
Bien, ahora vamos a por el más difícil todavía: instalar las X. En la página de instalación del Hurd (http://www.debian.org/ports/hurd/hurd-install) vienen unas instrucciones, las cuales he seguido. Vamos otra vez paso a paso:
# apt-get xserver-xorg-core rxvt wmaker xinit xauth gnuplot
Lo del gnuplot es para ver si consigo hacer dibujitos con el Octave.
# console -d vga -d pc_mouse --repeat=mouse -d pc_kbd --repeat=kbd \
-d generic_speaker -c /dev/vcs
# cd /dev
# ln -s cons/kbd kbd
# ln -s cons/mouse mouse
y luego instalar los paquetes listados. A continuación configuramos las X:
# dpkg-reconfigure xserver-xorg
Abrimos el fichero /etc/X11/xorg.conf y modificamos la sección
"Pointer" para que ponga:
Section "Pointer"
Protocol "osmouse"
Device "/dev/mouse"
EndSection
En mi caso no hay sección "Pointer", pero hay un "Device" que parece el ratón detectado. De todas formas, he hecho pruebas con la sección "Pointer", sin ella, con "Device" y "Pointer", etc. y nada. También pone el manual que hat que desactivar las secciones "Emulate3Buttons" y "ZAxisMapping" en el caso de que estén activadas en el xorg.conf.
xauth: (argv):1: bad display name "hurd:0" in "list" command
xauth: (stdin):1: bad display name "hurd:0" in "add" command
En fin, esta es mi aventura con el Hurd. A ver si este fin de semana intento compilar el Octave y veo qué tal va. Si alguien más se anima, ya sabe lo que hay.
me parece genial que compartas esto, así la gente que se anime con el Hurd no estará tan perdida. yo nunca había utilizado esa forma de instalar paquetes, ni sabía cómo hacerlo porque mi tarjeta fue reconocida. A ver si en un par de semanitas puedo poner por aquí mi xorg.conf y algún dato más.
en serio, gracias :) :)
Hola,
Como comenté más arriba, este fin de semana me he puesto manos a la obra en la compilación de GNU Octave 3.0.3 en Debian GNU/Hurd. La experiencia ha sido todo un éxito, compila sin problemas, igual que en Linux. Si consigo hacer funcionar las X va a ser la monda.