Autor: admin

  • Videos del Hackmeeting 2009

    Para tal efecto tenemos el canal del hackmeeting en esta URL:

    http://giss.tv/dmmdb//index.php?channel=hackmeeting

     

    Y para disfrute de todos, aquí tenemos el video de la charla y montaje de la antena de guifi.net en el Centro Social Okupado y Autogestionado «Patio Maravillas» de Madrid durante el +MadHack (hackmeeting 2009)

    MadHack2009

  • Manifiesto en defensa de los derechos fundamentales en internet

    Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de
    modificaciones legislativas que afectan al libre ejercicio de las
    libertades de expresión, información y el derecho de acceso a la
    cultura a través de Internet, los periodistas, bloggers, usuarios,
    profesionales y creadores de internet manifestamos nuestra firme
    oposición al proyecto, y declaramos que…
    1.- Los derechos de autor no pueden situarse por encima de los derechos
    fundamentales de los ciudadanos, como el derecho a la privacidad, a la
    seguridad, a la presunción de inocencia, a la tutela judicial efectiva
    y a la libertad de expresión.

    2.- La suspensión de derechos fundamentales es y debe seguir siendo
    competencia exclusiva del poder judicial. Ni un cierre sin sentencia.
    Este anteproyecto, en contra de lo establecido en el artículo 20.5 de
    la Constitución, pone en manos de un órgano no judicial -un organismo
    dependiente del ministerio de Cultura-, la potestad de impedir a los
    ciudadanos españoles el acceso a cualquier página web.

    3.- La nueva legislación creará inseguridad jurídica en todo el sector
    tecnológico español, perjudicando uno de los pocos campos de desarrollo
    y futuro de nuestra economía, entorpeciendo la creación de empresas,
    introduciendo trabas a la libre competencia y ralentizando su
    proyección internacional.

    4.- La nueva legislación propuesta amenaza a los nuevos creadores y
    entorpece la creación cultural. Con Internet y los sucesivos avances
    tecnológicos se ha democratizado extraordinariamente la creación y
    emisión de contenidos de todo tipo, que ya no provienen prevalentemente
    de las industrias culturales tradicionales, sino de multitud de fuentes
    diferentes.

    5.- Los autores, como todos los trabajadores, tienen derecho a vivir de
    su trabajo con nuevas ideas creativas, modelos de negocio y actividades
    asociadas a sus creaciones. Intentar sostener con cambios legislativos
    a una industria obsoleta que no sabe adaptarse a este nuevo entorno no
    es ni justo ni realista. Si su modelo de negocio se basaba en el
    control de las copias de las obras y en Internet no es posible sin
    vulnerar derechos fundamentales, deberían buscar otro modelo.

    6.- Consideramos que las industrias culturales necesitan para
    sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que
    se adecuen a los nuevos usos sociales, en lugar de limitaciones tan
    desproporcionadas como ineficaces para el fin que dicen perseguir.

    7.- Internet debe funcionar de forma libre y sin interferencias
    políticas auspiciadas por sectores que pretenden perpetuar obsoletos
    modelos de negocio e imposibilitar que el saber humano siga siendo
    libre.

    8.- Exigimos que el Gobierno garantice por ley la neutralidad de la Red
    en España, ante cualquier presión que pueda producirse, como marco para
    el desarrollo de una economía sostenible y realista de cara al futuro.

    9.- Proponemos una verdadera reforma del derecho de propiedad
    intelectual orientada a su fin: devolver a la sociedad el conocimiento,
    promover el dominio público y limitar los abusos de las entidades
    gestoras.

    10.- En democracia las leyes y sus modificaciones deben aprobarse tras
    el oportuno debate público y habiendo consultado previamente a todas
    las partes implicadas. No es de recibo que se realicen cambios
    legislativos que afectan a derechos fundamentales en una ley no
    orgánica y que versa sobre otra materia.

  • Nueva generación de sistemas de ficheros para Linux: NiLFS y exofs

    Sistemas de ficheros basados en logs

    NiLFS(2) es otro sistema de ficheros con la caracteristicas de realizar «instantáneas» (snapshots) de los datos. Otros sistemas de ficheros que incluyen snapshots son ZFS, LFS o Ext3cow.

     

    Es un sistema de ficheros ideal para discos de estado solido (SSD), ya que se minimizan las escrituras y borrados, ampliando el tiempo de vida de estas memorias.

     

    John Ousterhout y Fred Dougles ya propusieron este tipo de sistemas en 1988 y fué implementado en el sistema operativo Sprite en 1992.  Un sistema de ficheros basado en logs concibe el sistema como un registro (log) circular en el que los datos y metadatos se escriben por la parte delantera y el espacio libre se va recuperando por la cola.  Con este sistema los datos pueden aparecer 2 más veces en el log, pero como el log va avanzando cronologicamente, sólo los datos más recientes se toman como datos activos.

     

    La demostración de NiLFS(2)

    se hizo sobre el kernel 2.6.27 de linux y la versión 2.6.30-rc1 ya incluye NiLFS(2) en la rama principal.

     

     

     

    Sistemas de almacenamiento basados en objetos

     

    En los sistemas de almacenamiento tradicionales se usan bloques para guardar los datos, y los metadatos ocupan parte de estos bloques.  En un sistema de almacenamiento basado en objetos, en lugar de trabajar con bloques de tamaño fijo se trabajan con objetos de tamaño variable y sus metadatos asociados.

     

    exofs fue creado en IBM por Avnishay Traeger y fué llamado OSD file system (osdfs). Actualmente, Panasas, continúa el proyecto y lo ha renombrado a exofs.

     

     

    Para más información sobre como instalar y usar estos sistemas de ficheros, visitar la referencia.

     

    Referencia:

    NiLFS(2) and exofs

     

  • Go: El nuevo lenguaje de programación de Google

    En google han dedicido que necesitamos otro «lenguaje de sistemas», y nos traen «Go». Go promueve la creación de sistemas y servidores como si fueran un conjunto de procesos que se comunican, llamados goroutines. Puedes arrancar miles de goroutines y olvidarte de los desbordamientos (stack overflows). Ha sido liberado con licencia BSD.

    Más información en GoLang.org, donde puedes encontrar Go FAQ y un tutorial.

    Es interesante reseñar que en este proyecto han trabajado Russ Cox y Rob Pike, personas que han pasado por Bell Labs, lugar donde se inventó C, Unix y Plan9.

    No es extraño que la implementación de Go herede cosas de todos ellos.

    Tambien puedes ver el video de presentación en Google Tech Talks, donde Rob Pike da la charla de presentación explicando las características del lenguaje.

    Para seguir profundizando, puedes visitar: http://go-lang.cat-v.org/: Recursos sobre el Lenguaje Go.


  • XtreemOS 2.0 publicado

    XtreemOS 2.0 ha sido publicado. Uno de los componentes principales es el sistema de ficheros distribuido XtreemFS.

    «XtreemOS nos brinda nuevas oportunidades a la computación distribuida, tales como una gestión sencilla de los procesos y su monitorización»

     

    Tal como comentan en http://lwn.net/Articles/362285/ sería interesante comparar XtreemOS y XtreemFS con otras soluciones, como

    por ejemplo Xcpu, el cual basandose en protocolo 9p de Plan9 tiene una finalidad similar.

    XCPU: a new, 9p-based, process management system for clusters and grids

    http://xcpu.org/

     

     

    Otros enlaces de interés:

    http://es.wikipedia.org/wiki/XtreemOS

  • Emacs: Trabajar con ficheros .php con MuMaMo (multi major mode)

    Referencias:

    http://www.emacswiki.org/emacs/MuMaMo

    http://www.emacswiki.org/emacs/NxhtmlMode

    http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html#php

     

    Nos descargamos la última version de Nxhtml desde el sitio: http://ourcomments.org/cgi-bin/emacsw32-dl-latest.pl y concretamente nos basta con el archivo .zip en el enlace que pone «Download latest nXhtml (zip file)».

     

    Lo descomprimimos donde queramos y añadimos a nuestro .emacs la ruta para tener disponible este modo.

     

    (load "YOUR-PATH-TO/nxhtml/autostart.el")

     

    Recargamos nuestro .emacs con M-x load-file .emacs. (Esto sólo es necesario hacerlo una vez, y sólo si ya tuvieras emacs abierto)

     

     

    Abrimos cualquier fichero .php y ya podemos editar con ese modo.

      M-x nxhtml-mumamo

     

    nxhtml-mumamo usa distintos colores para los distintos trozos de código, además de otras funcionalidades.

     

    Para aprender más, echad un vistazo a los tutoriales

     

     

     

     

    PHP con nxhtml

  • Emacs: Grabar ficheros en UTF-8

    La fuente que me dió la solución fué esta:    http://hacks.catdancer.ws/emacs-utf8.html

     

    En el trabajo no puedo trabajar con GNU/Linux como en casa. Pero si uso emacs para mis desarrollos, combinado con FTPDrive para acceder a los ficheros ftp remotos como si fueran una carpeta local (al estilo de curlFTPfs de GNU/Linux).

    Al crear un fichero desde emacs en ese directorio y luego abrirlo en el navegador no se visualizaban las tildes, eñes, etc…

    Como solucionarlo:

    1. Escribe M-x customize-variable RET auto-coding-alist RET
    2. Pulsa en el primer botón “INS” (arriba en la página).
    3. En “File name regexp”, introducir \.php\'
      (Barra-invertida punto P H P  barra-invertida comilla-simple).
    4. En “Coding system”, introducir utf-8
    5. Pulsar el botón “Save for Future Sessions”.

    Como manera alternativa de hacerlo podrías añadir esto a tu fichero .emacs:

     (setq auto-coding-alist
       (cons '("\\.php\\'" . utf-8) auto-coding-alist))
    

    Otro consejo de zoperman

  • Llamada a la participación en el hackmeeting 2009

    Temas

    Estos son algunos de los temas que se han tratado en otros
    hackmeeting o sobre los que nos gustaría compartir en el
    próximo. Pero no son los únicos. Buscamos nuevos puntos de
    vista y descubrimientos que os interese mostrar, debates que
    queráis coordinar, ideas y técnicas que queráis compartir:

    Inciando…

    • Iniciación a GNU/Linux (instalación, administración, redes, etc.)
    • Programas libres: GNU/Linux, Debian, etc.
    • Ciberpunk
    • Acceso universal a la red, al conocimiento y a la técnica
    • Filosofia hacker

    HumanWare

    • Reality hacking, DIY, autogestión
    • Copyleft, procomún, acceso libre y abierto, FLOK. etc.
    • Copyfights: Defensas frente al copyright, restricción de acceso, etc.
    • Hacktivistas.net, situación actual y proyecto.
    • Gobiernos en la red: Paquete «Telecom» de la UE, ley ADOPI, etc.
    • Corporaciones en la red: copyright, patentes, espionaje, lobbies, monopolios …
    • Hacktivismo y desobediencia civil electrónica, presente, pasado, futuro
    • Hacktivistas.net, situación actual y proyecto.
    • Educacion y nuevas tecnologías (plan educación 2.0, etc.)
    • Redes sociales, marketing viral: La red social para movimientos sociales N-1,
    • Bases de datos distribuidas e integración con herramientas de movimientos sociales: webs, listas, wikis, etc
    • Hacklabs
    • Fabricación digital, fabbing, software, conocimiento libre, conexiones con cultura hacker
    • Redes P2P (defensa, clientes, protocolos, organización, servidores, …)
    • Caso «the pirate bay»
    • Hacking jurídico
    • Geo-wiki-cartografía: hibridando el espacio y el ciberespacio
    • Espacio público y flujos electrónicos; espacios creative commons; arquitectura flos; wikiplaza
    • Mesas redondas sobre libros ciberpunk o cualquiera de los otros temas de esta lista
    • ¿es posible crear una internet totalmente autogestionada? ¿problemas? ¿alternativas?
    • Virtualización o cómo se vive en las empresas el «software libre».
    • La HackNET, ¿existe? ¿qué protocolo seria el más adecuado?

    Comunicación

    • Artivismo, guerrilla de la comunicación
    • Redes inalámbricas (wireless) autogestionadas
    • Comunicacion sin cable a largas distancias.
    • Ampliar la red telefónica InterHacklabs ???
    • Guifi.net
    • Comunicacion urbana. Conexiones a internet seguras y gratuitas en una ciudad cualquiera del mundo.
    • kit para hacer stream desde una mani.
    • Telemática y (contra)información alternativa
    • Guerrilla Hertziana: Un taller de construcción de un emisor FM.
    • Intervención en onda analógica. Reaprovechamiento de ese espacio frecuencial para nuestros beneficio.
    • Packet Radio.
    • Mediactivismo: Edición de vídeo y audio con herramientas y formatos libres
    • Taller de video. Report*hack*es.
    • Servidores autónomos, ISPs alternativos, data centers alternativos
    • Privacidad, anonimato, pseudonimato en la red
    • Encriptacion. Arquitecturas de seguridad en sistemas de red. Anonimato online: Tor, proyecto Anonymous.
    • Asterisk, telefonía publica, comunicaciones por la patilla, Piratel.
    • Experimentación con TDT. Demostración en directo de ello?.

    NerdCore

    • Criptografía, esteganografía
    • Phreak, Hack, Crack
    • Virus, inteligencia artificial, vida artificial, cibernética
    • Tarjetas inteligentes, firma digital, e-DNI
    • Seguridad
    • Tecnoliberación (RFID, DRM…)
    • Taller Latex avanzado: taller práctico de maquetación avanzada con Latex.

    Hardware y robótica

    • Reciclaje de hardware
    • Trucos (sacar energía del teléfono, montar una mesa de PC con materiales reciclados, etc)
    • Talleres de antenas, radios, bicihacking, etc.
    • Ensamblaje de motores
    • Arduino avanzado.+
    • pinguino project basado en el 18F2550, con IDE en Python.
    • Fabrica tu propia caja fuerte con cerradura por contraseña o por proximidad de dispositivos bluetooth. ¿Arduino?
    • Proyectos de robots grafiteros con gnu/linux. camion, con cuerdas desde pared)en otras plataformas.
    • Musica colectiva mediante wifi o bluetooth.
    • Drum’n Bass + Visual scene
    • Energias: energia solar para las máquinas, aerogeneradores, motor de aceite, motor de hidrógeno
    • reciclaje de hardware.
    • Dispositivos de altura sin cables: Fabricar globo.

    Además de las modalidades presenciales, el HM también admite
    participación virtual, serán bienvenidos texto, vídeo, audio
    que será colgado en la red (así como cualquier otra cosa que
    se os ocurra en formato digital).

    Cómo proponer un nodo

    Todas las propuestas de nodos se comentan en la lista de
    correo del HM (hackmeeting @ sindominio.net), recomendamos,
    por tanto, que te suscribas a la lista en
    http://listas.sindominio.net/mailman/listinfo/hackmeeting
    para empezar a participar en el nodo que propongas y ver el
    proceso que sigue tu propuesta.

    En cualquier caso para proponer un nodo sigue las instrucciones del wiki:

    O envía un mensaje con el encabezamiento «[nodo] nombre_propuesta» a estas dos
    direcciones:

    • hackmeeting @ sindominio.net
    • charlas @ sindominio.net (ésta última encargada de coordinar los horarios de las actividades-nodo del HM).

    En el cuerpo del mensaje proponemos que rellenes el siguiente
    formulario (o lo modifiques a tu gusto o exigencias de tu
    propuesta):

    • Información para el público/participantes
    1. Modalidad
      1. Charla
      2. Taller
      3. Mesa redonda
      4. Póster
      5. Exposición
      6. Reunión coordinación
      7. Performance
      8. Otros
    2. Nombre del/a dinamizador/a, autor/a, coordinador/a
    3. Título(s)
    4. Resumen
    5. Palabras clave
    6. Conocimientos recomendados para los participantes
    7. Estructura/contenido
    8. Metodología: exposicion, discusión, cacharreo, etc.
    9. Duracion
    10. Lecturas recomendadas. Para la gente que quiera entrar en el tema antes de entrar en el nodo.
    11. Navega-acción copirata: cómo podría integrarse el nodo en la manifestación?
    • Información para coordinar:
    1. Material necesario (incluyendo tipo de espacio por si hace falta un espacio abierto sin sillas o lo que sea).
    2. Preferencias de horarios
    3. Seguridad de asistencia (del 1 al 10)
    4. Documentos o archivos del nodo (si la hay, para colgar en la web: transparencias, textos, programas, etc.)

    Otras formas de participación

    Otras formas de participación aparte de los nodos de
    actividades (como aportar material, participar en las
    asambleas, coordinar actividades, hacer streaming,
    traducciones, etc.) son bienvenidas y necesarias. Para
    más información y coordinación la asamblea del HM se reúne
    virtual y permanentemente en la lista de correo hackmeeting @ sindominio.net. Podéis suscribiros en: http://listas.sindominio.net/mailman/listinfo/hackmeeting

    Más información

    El primer hackmeeting se hizo en Florencia el 1998 y desde
    entonces se han ido repitiendo anualmente en Italia (la web
    http://hackmeeting.org recoge el último HM celebrado en
    Italia y enlaces a todos los anteriores). El 2000 se celebró
    el primer hackmeeting hispanoparlante en Barcelona y hemos ido repitiendo el encuentro todos los años.

    Para más información nos podeis escribir a la lista de correo
    hackmeeting @ sindominio.net o visitar directamente la página
    web del hackmeeting:

    http://sindominio.net/hackmeeting

  • Hackmeeting 2009

    Temas

    Estos son algunos de los temas que se han tratado en otros
    hackmeeting o sobre los que nos gustaría compartir en el
    próximo. Pero no son los únicos. Buscamos nuevos puntos de
    vista y descubrimientos que os interese mostrar, debates que
    queráis coordinar, ideas y técnicas que queráis compartir:

    Inciando…

    • Iniciación a GNU/Linux (instalación, administración, redes, etc.)
    • Programas libres: GNU/Linux, Debian, etc.
    • Ciberpunk
    • Acceso universal a la red, al conocimiento y a la técnica
    • Filosofia hacker

    HumanWare

    • Reality hacking, DIY, autogestión
    • Copyleft, procomún, acceso libre y abierto, FLOK. etc.
    • Copyfights: Defensas frente al copyright, restricción de acceso, etc.
    • Hacktivistas.net, situación actual y proyecto.
    • Gobiernos en la red: Paquete «Telecom» de la UE, ley ADOPI, etc.
    • Corporaciones en la red: copyright, patentes, espionaje, lobbies, monopolios …
    • Hacktivismo y desobediencia civil electrónica, presente, pasado, futuro
    • Hacktivistas.net, situación actual y proyecto.
    • Educacion y nuevas tecnologías (plan educación 2.0, etc.)
    • Redes sociales, marketing viral: La red social para movimientos sociales N-1,
    • Bases de datos distribuidas e integración con herramientas de movimientos sociales: webs, listas, wikis, etc
    • Hacklabs
    • Fabricación digital, fabbing, software, conocimiento libre, conexiones con cultura hacker
    • Redes P2P (defensa, clientes, protocolos, organización, servidores, …)
    • Caso «the pirate bay»
    • Hacking jurídico
    • Geo-wiki-cartografía: hibridando el espacio y el ciberespacio
    • Espacio público y flujos electrónicos; espacios creative commons; arquitectura flos; wikiplaza
    • Mesas redondas sobre libros ciberpunk o cualquiera de los otros temas de esta lista
    • ¿es posible crear una internet totalmente autogestionada? ¿problemas? ¿alternativas?
    • Virtualización o cómo se vive en las empresas el «software libre».
    • La HackNET, ¿existe? ¿qué protocolo seria el más adecuado?

    Comunicación

    • Artivismo, guerrilla de la comunicación
    • Redes inalámbricas (wireless) autogestionadas
    • Comunicacion sin cable a largas distancias.
    • Ampliar la red telefónica InterHacklabs ???
    • Guifi.net
    • Comunicacion urbana. Conexiones a internet seguras y gratuitas en una ciudad cualquiera del mundo.
    • kit para hacer stream desde una mani.
    • Telemática y (contra)información alternativa
    • Guerrilla Hertziana: Un taller de construcción de un emisor FM.
    • Intervención en onda analógica. Reaprovechamiento de ese espacio frecuencial para nuestros beneficio.
    • Packet Radio.
    • Mediactivismo: Edición de vídeo y audio con herramientas y formatos libres
    • Taller de video. Report*hack*es.
    • Servidores autónomos, ISPs alternativos, data centers alternativos
    • Privacidad, anonimato, pseudonimato en la red
    • Encriptacion. Arquitecturas de seguridad en sistemas de red. Anonimato online: Tor, proyecto Anonymous.
    • Asterisk, telefonía publica, comunicaciones por la patilla, Piratel.
    • Experimentación con TDT. Demostración en directo de ello?.

    NerdCore

    • Criptografía, esteganografía
    • Phreak, Hack, Crack
    • Virus, inteligencia artificial, vida artificial, cibernética
    • Tarjetas inteligentes, firma digital, e-DNI
    • Seguridad
    • Tecnoliberación (RFID, DRM…)
    • Taller Latex avanzado: taller práctico de maquetación avanzada con Latex.

    Hardware y robótica

    • Reciclaje de hardware
    • Trucos (sacar energía del teléfono, montar una mesa de PC con materiales reciclados, etc)
    • Talleres de antenas, radios, bicihacking, etc.
    • Ensamblaje de motores
    • Arduino avanzado.+
    • pinguino project basado en el 18F2550, con IDE en Python.
    • Fabrica tu propia caja fuerte con cerradura por contraseña o por proximidad de dispositivos bluetooth. ¿Arduino?
    • Proyectos de robots grafiteros con gnu/linux. camion, con cuerdas desde pared)en otras plataformas.
    • Musica colectiva mediante wifi o bluetooth.
    • Drum’n Bass + Visual scene
    • Energias: energia solar para las máquinas, aerogeneradores, motor de aceite, motor de hidrógeno
    • reciclaje de hardware.
    • Dispositivos de altura sin cables: Fabricar globo.

    Además de las modalidades presenciales, el HM también admite
    participación virtual, serán bienvenidos texto, vídeo, audio
    que será colgado en la red (así como cualquier otra cosa que
    se os ocurra en formato digital).

    Cómo proponer un nodo

    Todas las propuestas de nodos se comentan en la lista de
    correo del HM (hackmeeting @ sindominio.net), recomendamos,
    por tanto, que te suscribas a la lista en
    http://listas.sindominio.net/mailman/listinfo/hackmeeting
    para empezar a participar en el nodo que propongas y ver el
    proceso que sigue tu propuesta.

    En cualquier caso para proponer un nodo sigue las instrucciones del wiki:

    O envía un mensaje con el encabezamiento «[nodo] nombre_propuesta» a estas dos
    direcciones:

    • hackmeeting @ sindominio.net
    • charlas @ sindominio.net (ésta última encargada de coordinar los horarios de las actividades-nodo del HM).

    En el cuerpo del mensaje proponemos que rellenes el siguiente
    formulario (o lo modifiques a tu gusto o exigencias de tu
    propuesta):

    • Información para el público/participantes
    1. Modalidad
      1. Charla
      2. Taller
      3. Mesa redonda
      4. Póster
      5. Exposición
      6. Reunión coordinación
      7. Performance
      8. Otros
    2. Nombre del/a dinamizador/a, autor/a, coordinador/a
    3. Título(s)
    4. Resumen
    5. Palabras clave
    6. Conocimientos recomendados para los participantes
    7. Estructura/contenido
    8. Metodología: exposicion, discusión, cacharreo, etc.
    9. Duracion
    10. Lecturas recomendadas. Para la gente que quiera entrar en el tema antes de entrar en el nodo.
    11. Navega-acción copirata: cómo podría integrarse el nodo en la manifestación?
    • Información para coordinar:
    1. Material necesario (incluyendo tipo de espacio por si hace falta un espacio abierto sin sillas o lo que sea).
    2. Preferencias de horarios
    3. Seguridad de asistencia (del 1 al 10)
    4. Documentos o archivos del nodo (si la hay, para colgar en la web: transparencias, textos, programas, etc.)

    Otras formas de participación

    Otras formas de participación aparte de los nodos de
    actividades (como aportar material, participar en las
    asambleas, coordinar actividades, hacer streaming,
    traducciones, etc.) son bienvenidas y necesarias. Para
    más información y coordinación la asamblea del HM se reúne
    virtual y permanentemente en la lista de correo hackmeeting @ sindominio.net. Podéis suscribiros en: http://listas.sindominio.net/mailman/listinfo/hackmeeting

    Más información

    El primer hackmeeting se hizo en Florencia el 1998 y desde
    entonces se han ido repitiendo anualmente en Italia (la web
    http://hackmeeting.org recoge el último HM celebrado en
    Italia y enlaces a todos los anteriores). El 2000 se celebró
    el primer hackmeeting hispanoparlante en Barcelona y hemos ido repitiendo el encuentro todos los años.

    Para más información nos podeis escribir a la lista de correo
    hackmeeting @ sindominio.net o visitar directamente la página
    web del hackmeeting:

    http://sindominio.net/hackmeeting

  • Aventuras con DragonFlyBSD y GRUB2

    INTRODUCCIÓN

     

    DragonFlyBSD es el novedoso derivado de FreeBSD con el sistema de ficheros Hammer, el cual incluye como caracteristicas principales: recuperación de fallos, chequeo de la integridad de los datos, control del historial de los ficheros, así como la posibilidad de hacer un mirror hacia otros volúmenes.

    GRUB2, aunque aún en desarrollo, ya permite mucho más que su predecesor Grub 0.97.

    En nuestro caso, Grub2 nos permitió arrancar un sistema operativo, DragonFlyBSD, instalado en un disco no reconocido por la BIOS, y que por lo tanto, no podía ser arrancado con los gestores de arranque tradicionales.

     

    CONSIDERACIONES INICIALES

     

    El ordenador utilizado es un viejo ordenador sin controladora de discos SATA, y ninguna opción en la BIOS para reconocer esos discos duros. Recientemente se le añadido una controladora PCI para discos SATA, pero eso no cambia el hecho de que no es reconocida por la BIOS.

    Entonces tenemos:

    • 1 disco IDE con Debian GNU/Linux instalado.
    • 1 disco SATA no reconocido por la BIOS.

     

    INSTALACIÓN DE DragonFlyBSD

    Bajamos el LiveCD de DragonFly de http://www.dragonflybsd.org/download/ y lo grabamos en un CD.

    Arrancó el ordenador con el LiveCD, el cual al final del arranque, nos permite entrar como root para probar el sistema operativo, o como installer,  Al  entrar como installer se inicia el proceso de instalación, el cual SI reconoce el disco duro SATA, e instalo DragonFly en él, El proceso es muy sencillo y lineal. Elijo el sistema de ficheros Hammer, en lugar del tradicional UFS.

    Ya tenemos DragonFly instalado, pero aún no puedo arrancarlo, ya que la BIOS no lo reconoce…

    Así que antes de reiniciar entramos como root en el LiveCD y copiamos el kernel de DragonFly en la partición de Debian donde estará grub2.

    mkdir /tmp/ad0s1
    mount_ext2fs /dev/ad0s1 /tmp/ad0s1
    mkdir /tmp/ad0s1/boot/dragonfly
    cp /boot/kernel /tmp/ad0s1/boot/dragonfly/
    umount /tmp/ad0s1
    

    Cambiar ad0s1 por la particion de tu disco duro que contenga grub. Puedes ayudarte de dmesg, mount y fdisk para saber cual es.

    Es hora de reiniciar y arrancar Debian desde el primer disco IDE.

    INSTALACIÓN DE GRUB

     

    Desde Debian, instalamos grub2. Puedes usar tu gestor de paquetes favoritos (synaptic, aptitude, etc…) En mi caso.

    # apt-get install grub2 grub-common grub-pc grub-splashimages

    Estas son las versiones de los paquetes que se instalarón:

    ii  grub-common                               1.96+20090603-1
    GRand Unified Bootloader, version 2 (common files)
    ii  grub-pc                                   1.96+20090603-1
    GRand Unified Bootloader, version 2 (PC/BIOS version)
    ii  grub-splashimages                         1.2.3
    a collection of great GRUB splashimages
    ii  grub2                                     1.96+20090603-1
    GRand Unified Bootloader, version 2 (dummy package)

    En Debian, nos sale el siguiente mensaje:

     Los scripts de actualización han detectado en /boot/grub una configuración
    heredada de  una versión anterior de GRUB. 
    
     Para reemplazar la versión anterior de GRUB en su sistema, se recomienda
    que se ajuste  /boot/grub/menu.lst para que cargue en cadena a partir de su
    configuración  preexistente de GRUB. Este paso debería hacerse ahora de forma
    automática.   
    
     Antes de instalar GRUB 2 directamente en el MBR («Master Boot Record») se
    recomienda  que acepte cargarlo en cadena desde el menu.lst y que verifique que 
    puede utilizar la  nueva configuración de GRUB 2. 
    
     En cualquier caso, cuando quiera que GRUB 2 se inicie directamente desde
    el MBR, puede hacerlo usando (como root) la siguiente orden:
    upgrade-from-grub-legacy
    
     ¿Desea realizar la carga en cadena desde menu.lst? 
    

    Recomendamos aceptar la sugerencia de Debian, lo cual viene bien para probar hasta asegurarnos de que grub2 ha quedado perfectamente configurado, y que nos quiere decir es que grub2 se cargará encadenado desde grub-legacy.

    Si cometemos algun error en la configuración de grub2 siempre podremos seguir arrancando desde grub, y una vez que verifiquemos que grub2 está perfecto, podremos instalar grub2 en el MBR con el comando: upgrade-from-grub-legacy.

    De momento, continuemos.

    INSTALANDO GRUB2 CON EL MÓDULO ATA

     

    Puedes saltarte la parte de modificar grub-install si tu ordenador reconoce sin problemas a los discos duros SATA.

    GRUB2 tiene un diseño modular, y al instalarlo podemos elegir que modulos queremos que se instalen.

    Copiamos todos los módulos en /boot/grub

    cp /usr/lib/grub/i386-pc/*.mod /boot/grub
    

    Aplicamos este parche a /usr/sbin/grub-install.  Puedes usar la herramienta patch, o modificarlo manualmente.
    Elminando las lineas que comienzan por «-» y añadiendo las que comienzan por «+».

    Con este parche le indicamos a grub2 que use siempre el módulo ata para
    detectar todos los discos duros (SATA incluidos) saltandose lo que le
    haya indicado la BIOS.

    --- grub-install.old	2009-06-04 09:02:32.000000000 +0200
    +++ grub-install	2009-06-11 15:51:43.000000000 +0200
    @@ -254,7 +254,7 @@
     
     # The order in this list is critical.  Be careful when modifying it.
     if [ "${target_cpu}-${platform}" = "i386-pc" ] ; then
    -    modules="$modules biosdisk"
    +     modules="$modules ata"
     else
         modules="$modules ata"
     fi
    @@ -267,7 +267,7 @@
         else
           install_drive="`$grub_probe --target=drive --device ${install_device}`"
         fi
    -    grub_drive="`$grub_probe --target=drive --device ${grub_device}`"
    +    grub_drive="`$grub_probe --target=drive --device ${grub_device}|sed -e 's/h
    d/ata/'`"
     
         # Strip partition number
         install_drive="`echo ${install_drive} | sed -e s/,[0-9]*[a-z]*//g`"
    @@ -291,7 +291,9 @@
             modules="$modules fs_uuid"
         fi
     else
    -    prefix_drive=`$grub_probe --target=drive --device ${grub_device}`
    +     uuid="`$grub_probe --target=fs_uuid --device ${grub_device}`"
    +     prefix_drive="(UUID=${uuid})"
    +     modules="$modules fs_uuid"
     fi
     
     relative_grubdir=`make_system_path_relative_to_its_root ${grubdir}` || exit 1
    
    

    En futuras versiones de Grub2 se incluirá el parámetro «–disk-module», con lo que se evitará tener que parchear grub-install.

    Modificamos  /etc/grub.d/40_custom y añadimos la entrada para poder arrancar DragonFlyBSD.

    menuentry "DragonFlyBSD" {
        set root=(ata3)
        # chainloader +1 #No se usa. No hacemos chainload porque la BIOS no reconoce ese disco
        freebsd (ata0,1)/boot/dragonfly/kernel
        set FreeBSD.vfs.root.mountfrom=hammer:ad6s1a
    }
    

     

    Notas:

    (ata0,1)

    hace referencia a la primera partición del primer disco duro. Donde esta instalado grub2, y donde anteriormente copiamos el kernel de DragonFly.

    (Este valor lo obtuvimos porque en nuestros experimentos durante arranques anteriores vimos que grub2 permite hacer «ls» en su prompt para listar los discos duros, o incluso el contenido de los discos duros. Una maravilla.

    ataX,X es la nomenclatura de los discos cuando se usa el modulo ata de grub2

    )

     

    hammer:ad6s1a

    hace referencia a montar el disco ad6s1a (según la nomenclatura de DragonFlyBSD) con el sistema de ficheros hammer.

    (Este valor lo obtuvimos tras instalar DragonFlyBSD con el LiveCD, desde el LiveCD supimos como reconoce DragonFlyBSD al segundo disco SATA)

    Es hora de instalar GRUB2, en la primera partición del disco duro IDE, con los módulos que a nosotros nos dieron resultado. Lo instalamos en la primera partición del disco duro IDE (Debian)  /dev/hda1 en lugar del MBR, ya que como hemos dicho conservaremos grub-legacy hasta confirmar que grub2 puede arrancar todos los sistemas operativos.

    Esto debe ejecutarse en una sola línea.

    grub-install --modules="date pc ata boot ls gpt raid ext2 ufs fat echo cpio gzio 
    gfxterm video aout pcpart extcmd help reboot blocklist fs_uuid sh parttool linux 
    fshelp dm_nv datehook jpeg test bsd cmp memdisk acpi elf affs xfs cpuid crc play 
    mdraid sleep search chain lua memrw ata_pthru configfile linux16 raid5rec hello 
    vga_text vbeinfo gptsync bufio hdparm bitmap terminfo hfs lsmmap png tar lspci 
    tga scsi lvm raid iso9660 raid6rec udf vbe handler raid6rec halt read multiboot 
    xnu normal loopback sfs jfs vbetest cat afs hexdump loadenv minicmd drivemap 
    font vga" /dev/hda1

     

    Esto generará el archivo /boot/grub/grub.cfg con todas las líneas que permiten arrancar nuestros sistemas operativos. Vemos que aparece tambien la línea para arrancar DragonFlyBSD, ya que grub-install se encargá de añadir

    /etc/grub.d/40_custom a grub.cfg.

    Ya podemos reiniciar el ordenador. Nos saldrá la ventana tipica de Grub-Legacy, con una opción de hacer Chainload hacia Grub2, junto con las demás lineas para arrancar nuestros sistemas operativos.

    Si elegimos arrancar Grub2, veremos las opciones de Grub2.cfg y podremos arrancar DragonFlyBSD.

    A disfrutar.

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.