HOWTO Debug Windows

I’ve been out xD
Nop, seriously, I’ve been working hard past months (and I’ll continue a bit more).

But I want to share a new doc I’ve just cooked on the wiki.

As I’ve been 3 days working on trying to find an error on Windows (my actual project deadline is near…) and our Windows “Sysadmins” are not able to help me, I decided to go harder and read M$ documentation about how to debug their “Operating System” (they like the “metaforas” saying that this is a real OS).

At the end? I think I will add “Windows Debugging” as a new skill on my CV.
Talking with my linux workmate, We doubt many of windows sysadmins know all this tools (maybe the most famous one, systernals):

  • Systernals
  • Windbg
  • Debug Diagnostics

Have a look at the wiki post:
http://wiki.ciberterminal.net/doku.php?id=debugging_windows

Openvpn in the TP-LINK WR841N[D]

Hi folks,
Here comes a post to improve that great router from TP-LINK.
Of course, I suppose you’re running openwrt on it to use the whole power of it.
The 1st I saw was that you have available a plenty set of packages… but you don’t have enough ROM to install them :-P
Inspecting a bit, I saw that under /tmp you have a “lot” of free space! (about 14MB), that will be enough to allow run openvpn without problems.
The main problem? Its a ramdisk, so each boot, everything there disappears.
What I’ve done? Install the basics with opkg and wget on boot the rest ;-)

UPDATED SCRIPT!

Continue reading “Openvpn in the TP-LINK WR841N[D]”

UPS Salicru en Nut

Después de ver la exigua entrada del compañero “cerebro” en su blog y viendo que yo estoy en la misma situación que algunas personas, he dedicido publicar un mini-howto para los SAIS Salicru con NUT (sin cacti :-P)

Lo primero por supuesto es bajar el código fuente (en mi caso obligatorio, seguramente en una distribución normal, no haga falta ;-) ).

En mi caso, lo he configurado con esta linea:
./configure --prefix=/home/apps/nut \
--with-usb \
--without-doc \
--with-serial \
--without-ipmi \
--without-freeipmi \
--without-macosx_ups \
--without-avahi \
--with-cgi

Y compilado como siempre :-P

La configuración tal como dice el blog anterior se basa en el driver “blazer_usb”.
Como no tengo mucho tiempo, en vez de leer el manual fui por la via rápida (prueba-> error o ingeniería inversa) y me ha costado un poco descifrar como va el tema.
La cuestión es que hay que lanzar 3 demonios:

  • upsdrvctl lanza el “driver” encargado de coumincarse con el UPS
  • upsd se comunica con el driver (blazer_usb) y abre un socket
  • upsmon se conecta al socket de upsd y monitoriza

Continue reading “UPS Salicru en Nut”

My adventures with Android (I)

The history:

Recently I bough a “Ainol tornados” for testing purposes, and that was the cheapest one (~60€ shipping included!)
When it arrives to me, I tried to install openvpn (is basic for my project) but nothing on the “tun.ko” repo works for me :-(, the “magic string” which makes match a module with the kernel does not match and I tried all the avalaible rom except 4.0.4.
The problem was the insmod itself, not the tun.ko installer.
So I decided to build my own version of the android :-)

Here begins the adventure itself…
I downloaded the source code directly from Ainol forums… That HUGE package contains EVERYTHING for building (android-sdk, android-ndk, crosscompilers in multiple versions, emulator files… ETC), so don’t care about that if you’ll donwnload it.
Starting from the AOSP project wiki, I set up the build environment with java6, make 3.81.
So: Continue reading “My adventures with Android (I)”

Parallel rsync’ing a huge directory tree

Some days ago I was on the chance to transfer a huge directory.

Huge means ~50TB with +10million files and a deep of only 6 folders under the parent one.
As I must do that kind of transfer more than 10 times with the same amount of folders… I decided to implement some kind of parallel function which launch parallel rsync’s at a given deep of my choose.

The ressult was that “pure bash” little script (the only dependency is “screen”)… You’ll notice that the main function “sync_this()” will run alone in your script only changing 2 or 3 variables ;-)
Continue reading “Parallel rsync’ing a huge directory tree”

Script de copia y restauración de un sistema windows

Imagino que todos los sysadm/informaticos de este mundo hemos sufrido alguna vez el caso del “Amigo informatico“.

En mi caso últimamente, después de usar muchas veces ghost, he decidido cambiar… Nada de dar un dvd con la imagen, que para eso tenemos toneladas de gigas de espacio en disco y si el usuario se queja, pues mira, habérselo pedido a otro.

Partiendo de esto, he decidido hacer un script tipo menú de instalación con las opciones mínimas y que sea fácilmente gestionable por el usuario final.

El preparación es simple:

  • Se particiona el disco.
  • Instalamos windows
  • Instalamos un linux “minimal”, y dependencias necesarias para que el script funcione
  • Añadimos nuestro script.
  • Modificamos los parámetros de configuración necesarios en el mismo
  • Creamos un usuario de sistema sin privilegios, modificamos ~/.bashrc para lanzar automáticamente el script cuando se logue el usuario.
  • Deshabilitamos la posibilidad de salir del script (trap) para evitar problemas.
  • Nos guardamos el pass de root ;-)
  • Modificamos grub para que el menú diga algo como Restore or similar y el usuario no se asuste viendo GNU/Linux
  • Informar al usuario de como funciona el entorno, aunque es muy muy sencillo)

Con eso y generar nosotros mismos la primera imagen que será imborrable (desde el script), ya estaría todo.

El funcionamiento es mucho más simple aún:

  1. Restaurar imagen
  2. Generar Imagen
  3. Borrar Imagen
  4. Listar Imágenes
  5. Ayuda
  6. Reboot

No deberían añadirse muchas más opciones, cuanto menos se pueda hacer, mejor.

Las ventajas son bastante óbvias:

  • El propio usuario se gestiona sus imágenes, por lo que cambio de sistema windows (de xp a 7 por ejemplo), no deberían necesitar más ayuda.
  • El script debería funciona en cualquier linux mientras se cumplan las deps.
  • El backup “va contigo”, no hay discos adicionales.

Y las desventajas:

  • Espacio en disco
  • Que se carguen grub
  • Que alguna vez falle el ntfsclone (FAIL!)

Por supuesto puede que el script no esté libre de fallos, por ejemplo, no consigo hacer trap de “CONTROL+Z” aunque haga trap de todas las señales. Aunque probado está ;-)

El script está documentado en la wiki.