View previous topic :: View next topic |
Author |
Message |
DaRkaHT n00b
Joined: 23 Sep 2011 Posts: 54
|
Posted: Sun Dec 01, 2013 3:23 pm Post subject: CDLive con sistema ya instalado. |
|
|
Estimados compañeros:
Resulta que pretendo crear un cdlive basado en gentoo, con la configuración que me gusta... pues me sería muy comodo, y me surgen algunas dudas espero ustedes puedan resolvermelas:
En primer lugar he ojeado la siguiente guía:
http://wiki.cecalc.ula.ve/index.php/Creaci%C3%B3n_de_un_LiveCD_basado_en_Gentoo_con_entorno_gr%C3%A1fico
En la guía se crea un directorio dentro de un sistema gentoo ya instalado. En él se descomprimen los ficheros stage y portage...etc, se hace un "chroot" y se prosigue la instalación CASI de la forma tradicional. Luego con la herramienta "squashfs" se crea la imagen del sistema y con "mkisofs" se crea el fichero iso...y listo...
Mi intención es hacerlo en una maquina virtual, de manera que una vez finalizada la instalación, pueda iniciar el sistema en modo X para hacer unos ultimos retoques antes de generar la ISO.
A diferencia de la guia, lo que quiero es CONVERTIR UN SISTEMA INSTALADO en un CDLIVE.
Los pasos que tengo pensado seguir son los siguientes:
1. Iniciar desde un cdlive (system rescue cd).
2. Montar pendrive.
3. Copiar partición del sistema a un directorio en el pendrive. (dd if=/dev/sda2 of=/mnt/pendrive)
4. Copiar partición /boot dentro del directorio del cdlive. (dd if=/dev/sda1 of=/mnt/pendrive/boot)
5. Reconfigurar fstab
6. Mover la imagen del núcleo a directorio vmlinuz. (mv /mnt/pendrive/boot/genkernel-XXX /mnt/pendrive/boot/vmlinuz)
7. Renombrar initramfs (mv /mnt/pendrive/boot/initramfs* /mnt/pendrive/boot/initrd)
8. Reconfigurar grub (cambiar ruta, nombre del nucleo...)
9. Generar image.squashfs
10. Generar fichero .iso
El primer problema me surge en el paso nº3, cuando "dd" me dice que no se puede copiar una partición a un directorio. Si monto la partición y intento copiar en contenido con "cp -Rf", me dice que no se pueden copiar los enlaces simbolicos.
¿Alguien tiene idea de como hacer la copia? ¿Veis que falte algún paso por realizar?
Saludos. |
|
Back to top |
|
|
esteban_conde Veteran
Joined: 04 Jun 2003 Posts: 1670
|
Posted: Sun Dec 01, 2013 5:05 pm Post subject: |
|
|
Para copiar todo usa "cp -a " o "cp -dpR" para saber por qué utiliza man cp. _________________ Saludos a tod@s, Esteban. |
|
Back to top |
|
|
i92guboj Bodhisattva
Joined: 30 Nov 2004 Posts: 10315 Location: Córdoba (Spain)
|
Posted: Thu Dec 05, 2013 10:43 am Post subject: Re: CDLive con sistema ya instalado. |
|
|
"dd" no funciona de la forma que tú crees que funciona.
Si lo que quieres es hacer una imagen de la partición, tienes que especificar el archivo (o dispositivo de bloque) destino. Por ejemplo, para copiar la partición entera a un archivo llamado "live.img" dentro de tu pendrive, y suponiendo que tu pendrive esté adecuadamente montado en /mnt/pendrive, harías esto:
Code: | dd if=/dev/sda2 of=/mnt/pendrive/live.img |
Eso te daría como resultado una imagen 1:1 de tu partición sda2, algo así como un archivo .iso (por comparar con algo conocido, aunque no sea exáctamente lo mismo).
Si lo que quieres es "estampar" tu partición tal cual en el pendrive (asumiendo que quepa), el procedimiento sería distinto:
Code: | dd if=/dev/sda2 of=/dev/sdb |
Siendo "/dev/sdb" el nodo de dispositivo asociado a tu pendrive y que quieras usar todo el pendrive sin particionar. Si lo que quieres el volcarlo a una partición concreta del pendrive sería:
Code: | dd if=/dev/sda2 of=/dev/sdb2 |
Siendo "sdb2" la partición destino dentro del pendrive.
===================
Ahora bien, por la forma en que estás usando "dd", yo más bien diría que lo que pretendes es copiar estructuras de directorios, y no imágenes de disco en bloque. Si ese es el caso, simplemente usa cp -a, rsync o la herramienta con la que más confortable te sientas, pero ten en cuenta que en un sistema Linux hay archivos que no pueden simplemente "copiarse", como por ejemplo el contenido de /dev, /proc o /sys. No hace falta decir que cualquiera que sea el método que escojas el sistema origen debe estar montado en modo de solo lectura, si no ten por seguro que la copia resultante va a tener problemas que pueden ir desde leves desajustes hasta un sistema completamente inservible. |
|
Back to top |
|
|
DaRkaHT n00b
Joined: 23 Sep 2011 Posts: 54
|
Posted: Thu Dec 12, 2013 1:26 am Post subject: |
|
|
Gracias i92guboj, monté las particiones en modo solo lectura, y con "rsync -av" conseguí copiar todos los enlaces simbolicos. Ahora el problema se me presenta a la hora de crear la imagen ISO. Repaso los pasos que he dado:
#Recordamos que partimos de un sistema gentoo previamente instalado en VM. A continuación booteamos desde un live (System Rescue CD).
# Crear puntos de montaje
mkdir /mnt/boot
mkdir /mnt/sys
mkdir /mnt/pendrive #(Almacenamiento extraible o partición donde se realizará la copia de ficheros)
# Montar particiones
mount /dev/sda1 /mnt/boot --options ro #Montando como solo lectura.
mount /dev/sda2 /mnt/sys --options ro #Montando como solo lectura.
mount /dev/sdb1 /mnt/pendrive
# Copiar partición de sistema #COPIADO SIN PROBLEMA.
mkdir /mnt/pendrive/cdlive
rsync -av /mnt/sys /mnt/pendrive/cdlive
# BORRAR FICHEROS INNECESARIOS
rm -Rf /mnt/pendrive/cdlive/usr/portage/distfiles/*
# Copiar partición boot #COPIADO SIN PROBLEMA.
rsync -av /mnt/boot /mnt/pendrive/cdlive/boot
# Cambiar fstab
echo "
/dev/loop0 / squashfs defaults 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
" > /mnt/pendrive/cdlive/etc/fstab
# Moviendo el kernel
mkdir /mnt/pendrive/cdlive/boot/vmlinuz
mv /mnt/pendrive/cdlive/boot/kernel-genkernel* /mnt/pendrive/cdlive/boot/vmlinuz
# Renombrar initramfs
mv /mnt/pendrive/cdlive/boot/initramfs-genkernel* /mnt/pendrive/cdlive/boot/initrd
# Reconfigurar grub
echo "
default 0
timeout 3
splashimage=/boot/grub/splash.xpm.gz
title=LiveCD Gentoo
kernel /boot/vmlinuz real_root=/dev/loop0 looptype=squashfs loop=/livecd.squashfs vga=ask initrd udev cdroot
initrd /boot/initrd
" > /mnt/pendrive/cdlive/boot/grub/grub.conf
rm /boot/grub/menu.lst
mv /mnt/pendrive/cdlive/boot/grub/grub.conf /mnt/pendrive/cdlive/boot/grub/menu.lst
# Generar imagen squashfs #GENERADA CORRECTAMENTE.
mksquashfs /mnt/pendrive/cdlive /mnt/pendrive/livecd.squashfs
# Crear fichero vacío
touch /mnt/pendrive/cdlive
# Generar ISO #ERROR
mkisofs -no-emul-boot -boot-load-size 4 -boot-info-table -r -b boot/grub/stage2_eltorito -c boot.catalog -o /mnt/pendrive/livecd.iso -x files /mnt/pendrive/cdlive
El error que arroja es el siguiente:
mkisofs: Uh oh, I cant find the boot image '/boot/grub/stage2_eltorito' inside the target tree.
He comprobado que dicho fichero se encuentra en el directorio "/boot/grub". He cambiado la ruta por " /mnt/pendrive/boot/grub" y sigue igual. ¿Alguna idea? |
|
Back to top |
|
|
quilosaq Veteran
Joined: 22 Dec 2009 Posts: 1522
|
Posted: Thu Dec 12, 2013 2:11 am Post subject: |
|
|
Quote: | # Generar ISO #ERROR
mkisofs -no-emul-boot -boot-load-size 4 -boot-info-table -r -b boot/grub/stage2_eltorito -c boot.catalog -o /mnt/pendrive/livecd.iso -x files /mnt/pendrive/cdlive
El error que arroja es el siguiente:
mkisofs: Uh oh, I cant find the boot image '/boot/grub/stage2_eltorito' inside the target tree. |
Asegúrate que antes de ejecutar el comando mkisofs la partición /boot está montada. |
|
Back to top |
|
|
DaRkaHT n00b
Joined: 23 Sep 2011 Posts: 54
|
Posted: Thu Dec 12, 2013 2:26 am Post subject: |
|
|
"/boot" en este caso no es ningún punto de montaje, sino una copia de la partición boot. |
|
Back to top |
|
|
quilosaq Veteran
Joined: 22 Dec 2009 Posts: 1522
|
Posted: Thu Dec 12, 2013 2:46 am Post subject: |
|
|
Creo que estás interpretando mal la opción -b de mkisofs. Prueba con esto:
Code: | # mkisofs -no-emul-boot -boot-load-size 4 -boot-info-table -r -b /mnt/boot/grub/stage2_eltorito -c boot.catalog -o /mnt/pendrive/livecd.iso -x files /mnt/pendrive/cdlive |
Tendrás que tener montado /boot como lo tenías antes:
Code: | # mount /dev/sda1 /mnt/boot --options ro #Montando como solo lectura. |
|
|
Back to top |
|
|
DaRkaHT n00b
Joined: 23 Sep 2011 Posts: 54
|
Posted: Thu Dec 12, 2013 3:09 am Post subject: |
|
|
Más de lo mismo... |
|
Back to top |
|
|
|