viernes, 29 de agosto de 2008

Todavía más fácil: Unetbootin

En estos últimos días dos lectores y amigos del blog (CoskiBukowski, de quién recomiendo su blog y ReiRok, a quien recomiendo abrirse uno. Gracias a los dos!) me hicieron llegar por mail un link hacia la página de esta utilidad: Unetbootin, que viene de Universal NetBoot Installer. Yo, como siempre, me tomé el trabajo de probarla antes de hablar, asi que aquí estoy

¿Y qué hace?

Entre otras cosas, hace automáticamente lo que nosotros venimos haciendo a mano en este blog: tomar la ISO de una distribución de linux y ponerla en un pendrive booteable. Explicitando un poco, lo que hace es, paso a paso:

  1. Extrae el contenido de la iso a la raíz del pen.
  2. Instala el bootloader (syslinux)
  3. Traduce el archivo de configuración de arranque (menu.lst de grub o syslinux.cfg) para construir su propio syslinux.cfg*
Y hace más que eso: Su capacidad principal es la de realizar estos pasos sin la imagen de disco, es decir que si elegimos una de las distribuciones de la lista de disponibles (que es extensa), el programita se encargará de bajarla primero, y después de pasarla al pen. De todos modos, yo prefiero bajar la iso con un programa que se dedique a eso (que tenga soporte proxy, descarga por partes y resume, por ejemplo Gigaget) y pasarla después.

Un detalle muy interesante con respecto a este programita es que no formatea el pendrive en cada instalación, lo que nos gusta particularmente porque nos permite, por ejemplo, poner varias distibuciones que no se pisen entre ellas (guardando el contenido de syslinux.cfg en cada paso y reconstruyendo el archivo a mano al final). Otra ventaja es que nos proporciona un modo de bootear desde el disco rígido en el menú (un punto flaco en el mismo syslinux).
Y de yapa, es portable.

Pruebenlo y me cuentan.

*La "traducción" es literal, es decir que separa la linea del kernel en "kernel" y "append", y pone dentro de "append" la linea "initrd". En algunos livecd, que dependen de opciones específicas para bootear por usb, esas las tenemos que poner a mano. Por ejemplo Geexbox funciona si cambiamos boot=cdrom por boot=sda1

Actualización: el amigo Reirok me corrige con lo del boot. Transcribo parte de su correo:

Otra cosa, recién estaba viendo el ultimo post.
Y vos decís que con el syslinux no podías bootear desde HD.
Por ahí no lo viste pero hay varios módulos en el pack de syslinux.
En el cual hay dos buenos, como chain.c32 y reboot.c32.
(están en sysliux/com32/modules/)
Con estos podes hacer chainloader y reboot del sistema.

Proba esto en el syslinux.cfg

# Boor from Harddisk
LABEL LOCAL
MENU LABEL Boot from Harddisk
Kernel chain.c32 hd0 1

# Reboot
LABEL REBOOT
MENU LABEL REBOOT
Kernel reboot.c32

Son para menu.c32 pero para vesamenu.c32 creo que también funciona.
Gracias por el aporte!

martes, 26 de agosto de 2008

Un mínimo apunte: Cómo configurar el modem ZTE ZXDSL831 II en modo (semi)router

Ayer recibí en casa el kit autoinstalable de Speedy, también llamado "ni siquiera nos gastamos en mandarle un técnico". Como su nombre lo indica, lo autoinstalé y todo fue como un reloj, salvo que los de comercial (que están peleados con los de servicio tecnico, que odian a los telemárketers) me dieron mal mi nombre de usuario.

Una vez que todo estuvo "up and running", me dispuse a buscar la forma de configurar el módem en modo router. No es que en mi casa tenga más de una máquina, sino que el pppoe es un asco, sumado a que muchos livecd no lo soportan, con lo que prefiero que se encargue el señor modem.

Después de averiguar la contraseña de administracion (que por defecto es 1234, con usuario admin), me encuentro con la sorpresa de que la interfaz del router no es la que speedy tiene en su página de soporte sobre el tema (por cierto, recomendable: es la página que ponen para que uno se arregle y no les pregunte, pero podrían no haberlo hecho), y que de hecho, no tiene nada parecido a un asistente.

Una búsqueda de 1/2 hora en varios foros me dejó con más preguntas que respuestas (preguntas: 4, respuestas 0), así que me puse a probar mi método preferido: probar; mi método preferido (no es un error de copypaste, es sólo un chiste malo).

Fin de la intro: Mini Howto

1) Debemos asignar a nuestra máquina una IP en el rango de la del router: 192.168.1.2 a 192.168.1.254 y una máscara de entrada en 255.255.255.0. También debemos poner la puerta de entrada predeterminada en 192.168.1.1 (la dirección del susodicho)
2) Nos dirigimos a la dirección 192.168.1.1 en el navegador, colocamos usuario y contraseña y vamos a Advanced setup->WAN

3)Vamos a Add, y creamos una entrada nueva con estos valores:

VPI:8
VCI:35
Service Category: UBR Without PCR (o sea sin el Partido Comunista Revolucionario)
(Next)

PPPoE
LLC/SNAP-BRIDGING
(Next)

PPP Username: Nuestro nombre de usuario (reemplacese por su nombre de usuario, estúpido)
PPP Password: Su password (el suyo)
Enable Fullcone NAT (si)
Bridge PPPoE Frames Between WAN and Local Ports (Default Enabled) (si)
(Next)

Enable WAN Service (si)
Service Name : 486rules
(Next)

A esta altura debería mostrarles un cuadrito con estos valores:

PORT / VPI / VCI: 0 / 8 / 35
Connection Type: PPPoE
Service Name: 486rules
Service Category: UBR
IP Address: Automatically Assigned
Service State: Enabled
NAT: Enabled
Firewall: Enabled
IGMP Multicast: Disabled
Quality Of Service: Disabled

Ponemos Save, y la lista de servicios debería ser algo así:

(Remarco el que creamos recién)

Después ponemos Save/Reboot y en unos segundos nuestro modem debería conectarse a internet el solíto, y darnos conexión sin el maldito cartelito de "conectar".Miralo al nene.. si hasta hace un rato no sabía ni rutear!!!

Fin del howto.

Mini aclaración: ¿Por qué en el título dice (semi) router?
Porque hasta ahora no he podido lograr que el amigo me asigne la dirección IP, con lo que hay que ponerla a manopla (y sí, DHCP está activado). Si todavía hay alguien ahí, y me siguen hasta acá: avisen si descubren cómo.


Actualización
: Por algun extraño motivo, el linux que usé para probar la asignación de IP y el propio xp no respondieron en su momento; pero ahora sí. Quizás faltaba algún reinicio, o fue solo para molestarme y hacerme quedar mal ante los lectores. Olviden lo de semi router

Segunda mini: El aparato tiene una opción para guardar la configuración antes de hacer cambios: úsenla (nadie les dijo que hay que leer el tutorial completo antes de tocar nada?). Yo lo hice, asi que tengo la que viene por default guardada. Si se cargaron el modem y no saben que hacer, pueden pedirla por acá. Suerte.

martes, 19 de agosto de 2008

Aprovechando el conocimiento: pxelinux

Si, ya se que este blog podría pasar a ser una sucursal de BootLand, o llamarse "los mil y un modos de arrancar una PC", pero bueno; supongo que los que son técnicos acordarán conmigo con que no hay peor máquina que la que no quiere arrancar, así que siempre está bueno tener una posibilidad más. Y aprovechando lo que jugamos con syslinux, ahora toca un pequeño tutorial acerca de cómo arrancar una máquina a través de la red.

Un pequeño backround: hasta donde pude ver, las placas de red que son capaces de bootear via pxe tienen un cliente DHCP para configurarse automágicamente una dirección IP, y un cliente TFTP (trivial file tranfer protocol, creo) para sacar del servidor los archivos necesarios para arrancar. Es decir que precisamos un servidor DHCP y uno TFTP como mínimo en nuestra máquina server. Por suerte, el amigo Philip Jounin puso ambas cosas en un programita mágico: Tftpd32.

Y ahora el tuto:

Primero que nada necesitamos dos máquinas en red: una debe ser capaz de arrancar via PXE, y la otra sólo necesita tener configurada una IP en la interfaz que vayamos a usar.
Después tenemos que bajarnos dos cosas: el paquete de syslinux y el Tftpd32, y tener a mano una imágen de diskette para terminar de probar. Si además ésta imágen es el bart´s network boot disk, mejor.
Tercero: extraemos el tftpd32.exe y el archivo pxelinux.0 del paquete de syslinux en la carpeta /boot del pendrive (y además nos queda portátil) , creamos ahi mismo una carpeta /pxelinux.cfg y ponemos adentro de esa carpeta una copia del syslinux.cfg, renombrada como el primer numero de la dirección IP de la red, pasado a hexadecimal. Aclaro cómo:
-Si nuestra máquina servidor tiene la IP 10.0.0.1, y asignamos por DHCP el 10.0.0.2 son válidos los nombres 0, 0A, 0A0 y asi hasta 0A000002.
-Si tenemos 192.168.1.1 y asignamos 192.168.1.2 son validos C, C0, C0A, C0A8 y hasta C0A80102. En la página de pxelinux lo explican bien, asi que no me voy a extender; solo voy a decir que prefiero usar C o C0 para no pifiarle. Si tienen una dirección más rara, pueden usar la calculadora de windows, que en modo cientifica puede hacer la conversión.
Cuarto: arrancamos el Tftpd32 y lo configuramos como sigue:

  • En Settings, apuntamos como root el directorio donde tenemos el pxelinux.0, activamos la compatibilidad PXE y activamos el server DHCP y el TFTP.



  • En la pestaña DHCP Server colocamos la dirección de inicio de la asignación (dentro del rango de la del servidor, sirve poner la siguiente o una al azar por arriba de la del server) , y seteamos la mascara en 255.255.255.0. Podemos poner el la cantidad de IP asignadas en 1 o más, y si queremos colocamos la ip del servidor como DNS y default router. Además le indicamos el nombre del archivo de inicio, en este caso pxelinux.0



Y listo. Ahora sólo tenemos que bootear nuestro cliente, elegir el arranque por red y ver cómo negocia la dirección, baja el pxelinux.0 y carga el menú. En la captura se ve ese trabajo.



(Nota: si copiamos el syslinux.cfg del slax, hay que tener en cuenta que éste carga el archivo vesamenu.c32. Para que funcione debemos poner este archivo en el mismo directorio que el pxelinux.0)

Y ahora un lujo: si ponemos en la carpeta raíz del TFTP el disco de arranque de bart con soporte para red, y compartimos una carpeta en la máquina servidor, podemos cargar el disco con memdisk (kernel memdisk, initrd=net.ima), conectarnos a la carpeta compartida y desde ahi correr lo que queramos. Horas de diversión asegurada!

miércoles, 13 de agosto de 2008

Lo inevitable, o cómo asustar a un cliente.

Hace unos quince años escuché esta anécdota en un teórico de Psicología I: Cuentan que al finalizar una de sus conferencias, una alumna le preguntó a Freud más o menos esto: -¿Y qué podemos hacer los padres para evitar que nuestros hijos se traumen?. A lo que el maestro le respondió: - Haga lo que pueda. Ellos se van a traumar igual.

El amigo Freud se refería (más allá de la veracidad de la anécdota, de la que ahora dudo más que entonces) al trauma como fundacional del yo, cuyo modelo viene siendo el famoso Edipo. Y quizás podría haber aclarado que no existe mejor forma de hacer un psicótico que tratar de evitarle ese trauma.

Hace un par de días me sentí en una situacion similar a la del maestro vienés. No es que se me hubiera dado por los opiáceos; sólo estaba con un cliente nuevo que me preguntó: -¿Qué puedo hacer para que la computadora no se rompa?
Teniendo en vista el cuadro de situación, que incluía:

  • Primera vez que tiene máquina con XP.
  • Reciente conexión a banda ancha.
  • Un hijo de quince y uno de dieciséis, que manifiestamente iban a ser los usuarios principales del equipo.

... me decidí por la honestidad brutal, y afirmé: - La máquina se va a romper de todos modos.

Un poco fuerte lo mío. Pero dicen que nunca es triste la verdad.

En los años que llevo haciendo servicio a usuarios hogareños, he podido comprobar que la ecuación usuarionuevo+maquinanueva+bandaancha muy pocas veces da un resultado positivo. Por lo general, los usuarios tardan un tiempo en distinguir el contenido real de la web de la basura circundante, y en ese período llenan de basura el sistema. Sean usuarios del tipo quiero-mis-emoticones-ya!, que instalan barras de herramientas y spyware, y se creen que algo que dice download free es gratuito; o del tipo no-vaya-a-ser-que-me-entre-un-virus-y-me-explote-la-compu, que en su paranoia terminan instalando cuanto falso antivirus se crucen por la web; todos hacen pelota el sistema en pocos meses. Y la solución suele ser lenta pero segura: a fuerza de cagarla, el usuario aprende. Y no hay mejor módo, así como los niños necesitan tocar el fuego para saber que quema.

PD: Los hay de los que nunca aprenden, y le reclaman al técnico una solución a sus propias incompetencias. Estos suelen cambiar de técnico a menudo, hasta que encuentran uno que les miente bien. En estos años también aprendí que, al igual que con los psicólogos, la transferencia es importante: no cualquier técnico (mas allá de sus capacidades informáticas) es bueno para cualquier cliente.