Foro de Linux - Gustavo Guillermo Software Compunauta Micro Linux (uLinux)
BUZÓN de CONSULTAS y COMENTARIOS | TEMARIO PRINCIPAL

[Gnupérnico II - MetaBuscador]


Modificar el arranque de knoppix para autodetectar un archivo de swap

LOS PRIMEROS PASOS PARA LA INSTALACION DE LINUX


GENERALIDADES

Bueno, me preguntaron en privado sobre esto y prefiero publicarlo en la lista por si le sirve a alguien más, sobre todo si queremos promocionar el S.L. entonces es un granito de arena para que funcione en más máquinas. La idea original es hacer que knoppix arranque y detecte un archivo en alguna particion o una partición de swap y la monte automáticamente. Knoppix utiliza syslinux, por lo tanto en la carpeta boot de la estructura del CD-ROM se encuentran los discos RAM y el kernel correspondiente a cada opción de arranque, lo que vamos a hacer es desarmar la imagen para el kernel 2.6.X por ejemplo y al mecanismo linuxrc de arranque lo modificaremos.

MODIFICANDO EL SISTEMA

Como extraemos el disco RAM partiendo de la ISO descargada:
# mount -o loop /xtras/sata/rw2/KNOPPIX_V3.7-2004-12-08-EN.iso /mnt
# mkdir /tmp/knoppix
# cp -Rpv /mnt/* /tmp/knoppix
# cd /tmp/knoppix/boot
# gzip -d minirt26.gz
Ya tenemos una copia completa del CD en /tmp/knoppix y descomprimido el disco RAM. en el mismo lugar como "boot/minirt26", ahora lo vamos a montar virtualmente para hacerle modificaciones:
# mkdir dram
# mount -o loop minirt26 dram
# cd dram
# mc -e linuxrc
El ultimo comando abre el archivo con el editor de MC, se puede usar cualquier otro, hay que agregarle algo como lo de abajo:
for SWAPHDD in a b c d e f g h i j k ;
    do
    for PART in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ;
    do  
 if /sbin/swapon /dev/hd$SWAPHDD$PART;
 then echo "Cargando swap desde /dev/hd$SWAPHDD$PART" ; 
 else 
  mkdir /hd$SWAPHDD$PART
  mount /dev/hd$SWAPHDD$PART /hd$SWAPHDD$PART
  if test -e /hd$SWAPHDD$PART/knoppix.swp;
   then losetup /dev/loop3 /hd$SWAPHDD$PART/knoppix.swp;
    swapon  /hd$SWAPHDD$PART/knoppix.swp;
   else umount  /hd$SWAPHDD$PART
    rmdir  /hd$SWAPHDD$PART
  fi
 fi
    done
done

#SCSI HDD (mmm esto en general no lo necesitamos excepto por algunas serial
#ata, pero si tenemos serial ata no creo que queramos hacer un archivo de
#swap)
for SWAPHDD in a b c d e f g h i j k ;
    do
    for PART in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ;
    do  /sbin/swapon /dev/sd$SWAPHDD$PART
    done
done
Antes de :
# Give control to the init process. 
echo "${CRE}${BLUE}Starting init process.${NORMAL}"
rm -f /linuxrc
exit 0

PROCESO FINAL

Despues de modificar esto procedemos a desmontar el loopback, a comprimir denuevo el disco ram y a fabricar una nueva ISO con las modificaciones hechas:
# cd ..
# umount dram
# gzip minirt26
# cd ..
# mkisofs -r -l -J -L -b boot/isolinux.bin -c boot/isolinux.cat -no-emul-boot 
-boot-load-size 4 -boot-info-table -gui knoppix>nuevoknoppix.iso
# umount /mnt
Ahora podemos hacer el archivo en cualquier parte y en cualquier partición:
mount /dev/loquequiera /mnt
dd if=/dev/zero /mnt/knoppix.swp bs=1M count=256
mkswap /mnt/knoppix.swp
umount /mnt
Para grabar la ISO normal con lo que quieran: cdrecord dev=/dev/cdrw speed=15 -v -eject -data /tmp/nuevoknoppix.iso Saludos, corríjanme si algo me salió mal o debería haber sido mejor.

|Contrate Nuestra asesoría, instalación y cursos en Sistemas Linux, Redes, etc. Acerca de este sitio web Webmaster | Volver Al Inicio | Compunauta Micro Linux (uLinux) El servidor en CD, sin innstalación. |