martes, septiembre 04, 2007

Damn Small Linux (DSL) en una notebook sin CD ni floppy ni usb boot.


Bueno, este fue mi ultimo proyecto de investigación y enfermedad tecnológica.
Tengo una notebook IBM Thinkpad 560x (la foto es para que vean como es, la mía es mas linda :P) si leyeron las especificaciones verán que es bastante humilde (P 200mmx,32 Mb de Ram, 2Gb HD) pero la verdad esta buena, en esa época para poder hacerla finita le sacaron todo, no trae CD ni Diskettera. Pero tiene USB y PCMCIA, y si uno quiere agregarle algo, lo hace vía estas expansiones o con un docking station. De fábrica trae un windows 95, bastante pedorro para estas épocas que corren y yo la tenía con un windows 98, pero con los 32 Mb de ram se hacía tedioso hacer cualquier cosa, así que agarré y le metí un Damn Small Linux que es una distribución mínima de linux basada en Debian (que es mi favorita) y que entra y bootea desde un BizCd que es un mini-cd cuadradito tamaño tarjeta de presentación.
Al ser tan chiquito ocupa pocos recursos y puede ser instalado en el HD, por otro lado ya trae el soft que uno necesita normalmente, navegadores de internet, correo electrónico, procesador de texto, planilla de calculo, etc. Todo software libre y con la maravillosa función de agregar cosas vía apt-pkg que es lo mas.
El problema surge que la manera de instalar esto mas común y sencilla es bajando la iso, quemándola en un cd y booteando del mismo. Todo muy lindo hasta que nos encontramos con que no tengo lectora de cd en la notebook, entonces aparece la mágica nueva forma que es meterlo en un pendrive y bootear via USB, hasta que nos enontramos con que nuestro equipo es antiguo y no bootea desde USB. Bueno eso es lo que me paso a mi, y ahi fue donde dije tengo que luchar con esto.
Lo intente de varias maneras, la manera mas sencilla hubiese sido sido sacar el HD de la notebook (de hecho igualmente lo hice) conseguir un adaptador IDE 3,5" -> IDE 2,5" (menos de U$S 10 salen) conectarlo en una pc con booteo desde cd y realizar la instalación, pero como no encontré el mío y me rompía los huevos comprar otro, use lo que tenia a mano, que era un disquito externo USB con un hd de 2,5" ide adentro, que me habia prestado un amigo (Gracias Luk :P) para que le grabe unas cosas. Por lo que era lo mismo que usar un USB -> IDE que también hay en el mercado dando vueltas y funcionan con los dos tamaños de disco.
Lo mas fácil es realizar una instalación a pendrive en el disco, pero no aprovecharíamos las ventajas de estar usando un linux instalado en un HD, metería una instalación para pendrive, que genera un ramdrive virtual que nos consume memoria y hace que todo ande mas lento, el tema es que al hacerlo descubría que cuando quiere armar el bootloader, bardeaba, porque es distinto el de un HD al de un pendrive. Entonces usaba el maravilloso syslinux desde windows, que sirve para hacer un bootloader de linux en particiones fat16 y sale andando todo fenómeno, pero como ya dije, lento.
Para tenerlo andando de una, tenemos que tener un pendrive o algun soporte donde podamos grabar el syslinux completo, fundamentalmente el extlinux que es el syslinux pero en vez de para fat para ext (el sistema de archivos linux)
Aprovechando el disco ya cargado lo que hice fue bootear con el hd instalado como pendrive (en fat16 y con una imagen montada) y hacer la instalación al pendrive desde mi notebook (este paso es medio al pedo para los que no tienen usb en la notebook pueden saltarlo y hacer todo desde otra máquina) entonces bootié con el hd, pero le dije en la pantalla de booteo que use los archivos del pendrive, esto no anduvo :P pero cuando le di el booteo normal encontró la imagen del pendrive primero y arrancó desde ahi (cosa e'mandinga no es por nada) y ahi realizé la instalacion al HD, para hacerlo use el fdisk de linux como superusuario (Reemplazen los (XX) por el de su sistema)

sudo fdisk /dev/hd(XX)

Cree una partición primaria como linux swap(82), primero y otra partición primaria Linux ext (83) después, activé la segunda para booteo, desde el menu del fdisk tipean "m" y les da las opciones es bastante intuitivo. Y luego hacen la instalación al HD del menu del DSL en /dev/hd(XX).
Esto lo va a hacer y cuando pregunta de instalar el gestor de arranque le dicen que instale el grub, lo va a hacer (si lo hace bien el siguiente paso hay que obviarlo y si lo hacen con un adaptador IDE va andar bien y ya van a tener todo funcionando como queremos).
Si usamos el USB->IDE nos va tirar un error el grub, algo de que este device no esta en el BIOS,
y nos fijamos que todo este bien montamos la particion donde lo instalamos y chequeamos esten los archivos dentro /boot/grub. "menu.lst" es el que nos interesa porque nos muestra las opciones que tenemos que tener en cuenta.
Luego agarramos el extlinux que teníamos de antes, y le grabamos el extlinux en la partición que instalamos previamente montada:

sudo mount /dev/hd(XX) /mnt/hd(XX)
sudo extlinux -i /mnt/hd(XX)/boot

Si usamos el shell como superusuario no hace falta el sudo, luego nos fijamos si están los archivos correspondientes extlinux.sys y todo eso. Yo lo hice en / porque me equivoqué, teóricamente /boot debe funcionar, sino hacen todo en / que estoy seguro que funciona. Ahora viene lo mas complejo que es crear el archivo extlinux.conf seria un pariente del menu.lst de grub. Ahi es donde chequean las opciones que quieren, yo use las del menu de fb800x600 que es el que le va a mi notebook, lo unico que tienen que hacer es chequear las opciones que necesitan y como van en el ext, que es parecido pero no igual, usen el formato del isolinux.conf con las opciones del /boot/grub/menu.lst del disco. Acuérdense que si instalaron algo como USB pueden haber path del estilo /dev/sd(XX) que para que funk en el IDE tienen que cambiarlas por /dev/hd(XX)

Con esto a mi me anduvo, les ahorré bastante lectura y análisis, si hay algo de esto que no entienden, pongan un comentario, pero puede ser que les resulte difícil hacer todo esto piensenlón antes de empezar y lean todo antes de comenzar. Suerte y que la fuerza los acompañe.

1 comentario:

Kronos dijo...

hola, tengo una ibm755cs,mucho mas vieja q la tuya,tengo floppy y nada mas,trate d instalar dsl 4 en la note,pero cuando carga el loadlin se qeda ahi pidiendome root= y no q tengo q escribir para q arranqe
q me recomendas?