Mi Gentoo se venía portando mal, varios cuelgues repetidos de la nada, sobre todo al compilar, y sobre todo si compilaba con ccaché activado.
En la partición en donde almaceno /var/tmp/ccaché uso reiserfs de un tal Hans Reiser, un señor que va por la vida matando mujeres, y que espero que le den una notebook ahora que en la carcel va a tener mucho tiempo libre, por que es un genio…
Tantos malos apagados sucesivos me deterioraron tanto el sistema de archivos que la pc moría con un kernel panic. A continuación, como reparar el sistema de archivos de cualquier linux sin usar el livecd de otro linux, arrancando desde el mismo kernel del linux que no funciona:
GRUB tiene la capacidad de editar el menú al vuelo, lo que nos permite hacer cambios sobre las lineas que hacen referencia a como se cargará el kernel y que parametros se le pasarán, para acceder al modo edición de GRUB, estando en el menú, basta con presionar la tecla [e].
Dentro del menú edición, podemos posicionarnos sobre cualquiera de las lineas que hubiera con la tecla de cursor para de nuevo presionar [e] y ahora si, hacer todas las modificaciones que quisieramos… Del modo edición se sale con la tecla [Esc] y se arranca la opción seleccionada con la tecla [b].
Init es el parámetro que controla que hace el kernel inmediatamente después de haber terminado de cargarse y se puede modificar al vuelo. Si a la linea que hace mención al kernel le agrego la opción init=/bin/bash o /bin/sh dependiendo la distribución, inmediatamente después de cargar el kernel quedo parado en una consola como root, sin haber introducido la contraseña (y sin necesidad de conocerla, por si quieren hacer maldades).
Como soy root y no tengo ningun servicio corriendo que acceda a la partición raiz de mi linux, puedo montarla en modo solo lectura (Read Only, ro) para poder reparala con el comando:
mount -o remount,ro /dev/sdX #Donde X es el número que corresponde a la partición en donde almaceno mi unidad raíz.
Teniendo ya montada en modo solo lectura la partición, ahora si la puedo reparar con tranquilidad. ReiserFS es bastante robusto aunque no tanto como un buen ext3 al que basta con ejecutarle un fsck -f /dev/sdX para ponerlo en carrera de nuevo.
Como una pasada con reiserfsck me indicó que había algunos errores, tuve que ejecutar:
reiserfsck –rebuild-tree /dev/sdX
Y con eso alcanzó para solucionar todos los problemas que venía experimentando.