[LUG.ro] Pasos para desarmar y armar una iso de knoppix
Gustavo Guillermo Pérez
lugro@lugro.org.ar
Sun, 27 Feb 2005 23:30:41 +0000
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.
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/* /mnt/
# cd /mnt/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
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.
--
Gustavo Guillermo Pérez
Compunauta uLinux
www.ulinux.tk