Crear Un Cd Booteable

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Crear Un Cd Booteable as PDF for free.

More details

  • Words: 2,534
  • Pages: 8
Crear un CD booteable Un CD booteable es el que puede bootear (arrancar) si lo configuras desde el BIOS (First Boot Device: CD-ROM). Ahora, un Windows XP SP1 es un CD grabado a partir de un CD de XP al que se le incorporo el Service Pack. Cuando el PC no quiere arrancar, sólo nos queda unas cuantas cosas por hacer: •

iniciar el ordenador con un disquete de sistema



iniciar desde un CD booteable

Los CD de instalación de Windows son booteables, es decir que es posible iniciar desde el CD en lugar que desde el sistema operativo. Desgraciadamente las herramientas presentes en el CD de Windows son relativamente limitadas. Sin embrago, existe una alternativa llamada Ultimate Boot CD, es decir una imagen ISO en CD booteable que contiene muchas utilidades como antivirus o utilitarios para la gestión del disco duro. Para utilizarlo, no hay más que descargarlo, luego grabar la imagen ISO y finalmente reiniciar el ordenador asegurándose de haber definido el CD-ROM como el primero en la secuencia de inicio del BIOS. Creación de un CD arrancable (bootable): Para esto usaremos ISO Buster y Nero Burning ROM 6 (una versión reciente). Primero extraemos el cargador boot del disco original de Windows XP. Con ISO Buster, seleccionamos el archivo arrancable (Bootable CD), y pulsamos el botón derecho del ratón sobre BootImage.img (o Microsoft Corporation.img, o como se llame en tu CD). En el menú elegimos BootImage.img (o como se llame en tu CD), y lo llevamos a la carpeta donde tenemos nuestros archivos de Windows XP: D:\XP-CD en nuestro caso.

Ahora iniciamos Nero Burning ROM, y elegimos CD-ROM (Boot) en la ventana de New Compilation. En la pestaña Boot, seleccionamos Image file bajo Source of boot image data, y buscamos la carpeta donde está el archivo BootImage.img. En Expert Settings, elegimos No Emulation, y cambiamos el "Number of loaded sectors" a 4 (si no, no será arrancable, no cargará). La pestaña ISO debe configurarse así: Puedes poner en la pestaña Label lo que quieras, pero es recomendable que pongas lo mismo que en el CD original de Windows, WXPOEM_ES, o lo que ponga en tu CD original. Después pulsamos New, y desde la pantalla del Navegador, seleccionaremos los archivos de XP (en nuestro caso están en D:\XP-CD). Ahora arrastramos y soltamos los archivos seleccionados a la pantalla ISO1.

Después, quemaremos un CD en blanco pulsando en el icono de la "cerillita".

Por qué crear un CD de Arranque Aunque no esté desde hace tiempo con LFS, ya leí varios asuntos en lfs-discuss sobre gente que tiene problemas compilando ciertas partes de un sistemaLFS debido a la versión beta de gcc u otros paquetes importantes incluidos en su distribución favorita. Además no me gusta la idea de instalar una distribución "comercial" sino instalar un sistema LFS personalizado. No estaría bien ;-) Por tanto, creí que seríamos capaces de crear un CD arrancable con alguna clase de sistema Linux dentro que provea un entorno apropiado para la instalación. ¿Y qué mejor que un LFS? (Te dejaría uno a ti ...) Esto también da alguna pistas sobre arrancar automáticamente la instalación,la cual es dada para que tú la programes/configures. Pero probablemente empezaríamos usando lfs (¿para dar a los probadores?). Así que esto sería todo.

2. Personalización del núcleo (kernel) Puesto que estamos involucrados en el arranque desde cd y en el uso del cd imagen como una partición root, necesitamos soporte para ISO9660 compilado en el núcleo. ¡Esta parte es absolutmamente vital! Cuando intentamos montar la partición raíz el núcleo no tiene ningún acceso acualquier clase de módulos (ya que están en la partición raíz que será montada)y por tanto nos hemos de fiar en el soporte ya compilado en el núcleo. Después de que el sistema haya arrancado, también querremos particionar nuestro disco duro. Por consiguiente, deberías incluir todos los sistemas de ficheros que podrías necesitar durante la instalación.[Hasta ahora no he probado incluir los sistemas de ficheros adicionales como módulos pero supongo que funcionarían bien] 3. Preparación del sistema LFS 3.1 Introducción El mayor problema que supone tener una partición raíz sólo-lectura es que alguna parte del sistema puede confiar en un acceso de escritura a determinados directorios. Echemos un vistazo al contenido de $LFS de un sistema típico: drwxr-xr-x 2 root drwxr-xr-x 4 root drwxr-xr-x 8 root drwxr-xr-x 45 root drwxr-xr-x 13 root drwxr-xr-x 5 root drwxr-xr-x 5 root dr-xr-xr-x 54 root drwx--x--x 20 root drwxr-xr-x 5 root drwxrwxrwt 5 root drwxr-xr-x 27 root drwxr-xr-x 26 root

root root root root root root root root root root root root root

1603 Oct 15 22:16 bin 4096 Dec 5 00:12 boot 44096 Feb 11 10:02 dev 5334 Feb 11 11:02 etc 250 Jan 9 00:39 home 1869 Jan 4 23:58 lib 95 Aug 27 22:12 mnt 0 Feb 11 11:02 proc 679 Jan 30 17:27 root 5068 Jan 4 23:58 sbin 200 Feb 11 10:03 tmp 663 Dec 13 17:34 usr 541 Sep 5 23:53 var

Los siguientes directorios no deberían causar ningún problema: bin, boot, etc, lib, root, sbin, usr [¿necesitas una explicación del por qué no hay problema?] El contenido de esos directorios debería ser estático y raramente cambiado. Los puntos de montaje para otros sistemas de ficheros no causarán problemas, Porque puedes montar un sistema de ficheros con permisos de escritura en un punto de montaje de un sitema de ficheros en modo sólo-lectura. Supongo que el núcleo guarda esos mapas en la memoria y no en los inodos. Eso significa que podemos anular los problemas causados por: dev, home, mnt, proc. Nos quedan tmp y var. 3.2 Enlazando /tmp y /var al disco duro Hasta ahora hemos preferido esta versión ya que intantamos construir un cd arrancable que sea útil en la mayoría de los sistemas incluyendo aquellos con muy poca memoria ram. 3.2.1 Manejo de /tmp Como dice su nombre /tmp es utilizado para almacenar datos temporales. Desafortunadamente no está bajo nuestro control cómo es usado este directorio y, por tanto, necesita un manejo especial. Ya que hay una estructura no estandarizada para esta ubicación podemos simplemente enlazarlo al directorio tmp en la partición que usaremos para la instalación. Por ejemplo, si pretendes compilar tu sistema en /lfs (que entonces será $LFS durante la instalación) necesitas incluir un enlace simbólico para /tmp en el CD apuntando a /lfs/tmp. Si te decides por una versión de enlace simbólico para la manipulación de /tmp, tendrás que decidir en qué directorio instalarás ¡antes de tostar el CD!

3.2.2 Manejo de /var /var normalmente contiene tiempos de ejecución o tareas de estado y también pueden ser cambiados [¿correcto? ¿expresado un poco chapuzas?]. Ya que /var puede contener directorios de colas de correo, ficheros pid y tiene una estructura de directorio predefinida, no podemos tan sólo enlazarlo a nuestra partición de instalación, ya que puede provocar colisiones con progarmas en ejecución en nuestro entorno chroot o quizás incluso antes. Así que podríamos comprimir /var y ponerlo en / lo que se hará ejecutando el siguiente comando en el directorio raíz de tu CD: tar cfz var/ var.tar.gz Después del arranque y después de montada nuestra partición de instalación (digamos en /lfs), creamos un directorio "el_que_sea" y descomprimiremos /var en "el_que_sea". El /var original tendría un enlace a este directorio, por ejemplo var -> /lfs/el_que_sea/var 3.3 Enlazando /tmp y /var al disco virtual en memoria (ramdisk) Antes de nada necesitamos crear el disco virtual en memoria (ramdisk) que yo hago con los siguientes comandos: dd if=/dev/zero of=/dev/rd/0 bs=1k count=4096 mke2fs -m 0 /dev/rd/0 mount /dev/rd/0 /rd Por favor, recuerda que tienes que cambiar el nombre del dispositivo al nombre apropiado en tu sistema.¡Este fue creado usando devfs! Los próximos dos sub-capítulos apenas han cambiado ya que /tmp y /var simplemente están enlazados a /rd/tmp y /rd/var 3.3.1 Manejo de /tmp Crea un enlace en tu directorio raíz para que /tmp apunte a /rd/tmp/. Durante el arranque necesitas crear el directorio /rd/tmp/ para que el enlace desde /tmp no apunte a nirvana. 3.3.2 Manejo de /var Crea un enlace en tu directorio raíz para que /var apunte a /rd/var/. Necesitarás también un tarball de tu /var original y colocarlo en / lo cual ha sido descrito en 3.2.2. Durante el arranque necesitarás desempaquetar el paquete tar de /var en /rd. 3.4 Guiones de arranque Despojé /etc/init.d y /etc/rc?.d de todo aquello que no fuese absolutamente vital. La única tarea dejada es la carga del mapa del teclado. Por favor, dirígete al listado de directorio (capítulo 5) al final del documento. 4. Guión de Instalación Esta parte depende absolutamente de ti. Podrías querer incluir un LFS o algún sistema compilado que hayas escrito tú mismo. Quizá incluso abandones esta parte e instales manualmente los paquetes. Pero de todos modos tendrás que poner los paquetes en el CD y tenerlos a mano para cuando los necesites.Házte una idea de lo que mi CD hace: Pongo un guión en /etc/init.d/install que será lanzado desde inittab durante el arranque. Esto preguntará al usuario alguna cosa importante, es decir, cual será la partición a instalar.

Entonce arrancará la compilación. Incluso podrías querer arrancar una bash y dejar fuera toda clase de instalación automática. Esto sucederá si pasas un parámetro adicional al núcleo desde el cargador del arranque "init=/bin/bash". 5. Creando un disquete de arranque Aunque algunos de vosotros podríais tener la tentación de preguntar el por qué no empiece a argumentar; de todas formas, describiré ahora el proceso para crear un disquete de arranque utilizando grub. Es una cuestión de fe ;-) Primero necesitas conseguir grub de http://www.gnu.org e instalarlo en tu sistema con los siguientes comandos: ./configure --prefix=/usr && make && make install a) Puedes crear un sistema de ficheros ext2 en un disquete. (Por favor usa un disquete vacío o estate seguro de comprender que perderás todos los datos del disquete. Demasiado para renunciar a hacerlo) b) Monta este disquete en tu directorio de montaje de disquete favorito (llamémoslo $FLOPPY) c) Crea /boot y /boot/grub en tu disquete: mkdir -p $FLOPPY/boot/grub d) Copia el cargador de arranque de grub al disquete: cp /usr/share/grub/i386-pc/stage* $FLOPPY/boot/grub e) Pon tu núcleo en $FLOPPY/boot y llámalo "linux" f) Arranca el intérprete de comandos de grub ejecutando "grub" g) Instala grub en tu disquete de arranque (todavía en el intérprete de comandos de grub): install (fd0)/boot/grub/stage1 (fd0) (fd0)/boot/grub/stage2 h) Ahora necesitas crear el archivo $FLOPPY/boot/grub/menu.lst con los siguientes contenidos: default 0 timeout 2 title template root (fd0) kernel (fd0)/boot/linux devfs=mount root=/dev/cdroms/cdrom0 Si no usas devfs, por favor borra "devfs=mount" de la última línea de menu.lst y reemplaza "/dev/cdroms/cdrom0" con el nombre de tu dispositivo de cdrom. Si quisieras mantener el cd arrancable tan genérico como fuera posible no necesitas preocuparte del nombre del dispositivo cdrom ya que serás capaz de editar las entradas de menú del grub en tiempo de arranque para que refleje el sistema subyacente.Ahora ya estás preparado para tostar la instalación de tu LFS en un CD que sea capaz de arrancar.

6. Tostando Después de crear un apropiado disquete de arraque con tu núcleo personalizado (mira 2) pon la imagen en /boot. Para hacerlo ejecuta este comando en el directorio raíz de tu sistema lfs:

dd if=/dev/floppy/0 of=boot/image bs=1024 Los que no uséis devfs tendréis que sustituir /dev/floppy/0 por /dev/fd0. Para tostar todo el conjunto en el CD yo utilizo el siguiente comando: mkisofs -rlDJLV "LFS" /lfscd -b boot/image -c boot/catalog \ | cdrecord -v -eject dev=/dev/cdroms/cdrom0 speed=4 -data Cosas a verificar: a) No uses -f. Provoca que los enlaces del sistema sean ignorados. b) Sustituye dev=... por tu dispositivo cdrom. 7. Listados 7.1 / -drwxr-xr-x 2 root root 35 Feb 9 21:10 alfs drwxr-xr-x 2 root root 1250 Feb 9 20:10 bin drwxr-xr-x 3 root root 295 Feb 10 14:05 boot drwxr-xr-x 3 root root 54 Feb 9 17:33 dev drwxr-xr-x 12 root root 795 Feb 12 13:48 etc drwxr-xr-x 2 root root 35 Feb 9 17:33 home drwxr-xr-x 3 root root 2494 Feb 9 20:52 lib drwxr-xr-x 2 root root 35 Feb 9 17:33 mnt drwxr-xr-x 2 root root 35 Feb 9 17:33 proc drwxr-x--- 2 root root 64 Feb 9 18:13 root drwxr-xr-x 2 root root 1272 Feb 9 20:10 sbin lrwxrwxrwx 1 root root 8 Feb 10 21:57 tmp -> alfs/tmp drwxr-xr-x 14 root root 346 Feb 9 20:10 usr lrwxrwxrwx 1 root root 14 Feb 10 21:57 var -> alfs/00-rw/var -rw-r--r-- 1 root root 1043 Feb 10 21:56 var.tar.gz 7.2 /etc/init.d Este directorio contiene un nuevo guión "install" que sigue a través del proceso de instalación y sería específico para tu configuración. -rwxr-xr--rwxr-xr--rwxr-xr--rwxr-xr--rwxr-xr--rwxr-xr-x -rwxr-xr--rwxr-xr--rwxr-xr--rwxr-xr--rwxr-xr--rwxr-xr--rwxr-xr--rwxr-xr--rwxr-xr--rwxr-xr--rwxr-xr--

1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root

root root root root root root root root root root root root root root root root root

1734 Jan 26 02:05 checkfs 1118 Jan 26 02:05 ethnet 867 Feb 2 02:46 fcron 4940 Jan 26 02:05 functions 83 Jan 26 02:05 halt 988 Feb 12 13:51 install 200 Jan 26 02:05 loadkeys 725 Jan 26 02:05 localnet 355 Jan 26 02:05 mountfs 4219 Jan 26 02:05 rc 235 Jan 26 02:05 rcS 123 Jan 26 02:05 reboot 276 Jan 26 02:05 sendsignals 338 Jan 26 02:05 setclock 1062 Jan 26 02:05 sysklogd 696 Jan 26 02:05 template 234 Jan 26 02:05 umountfs

7.3 /etc/rc0.d lrwxrwxrwx 1 root root 21 Feb 12 13:44 S80sendsignals -> ../init.d/sendsignals lrwxrwxrwx 1 root root 14 Feb 12 13:44 S99halt -> ../init.d/halt

7.4 /etc/rc1.d [empty] 7.5 /etc/rc2.d [empty] 7.6 /etc/rc3.d [empty] 7.7 /etc/rc4.d [empty] 7.8 /etc/rc5.d [empty] 7.9 /etc/rc6.d lrwxrwxrwx 1 root root 21 Feb 12 13:44 S80sendsignals -> ../init.d/sendsignals lrwxrwxrwx 1 root root 16 Feb 12 13:44 S99reboot -> ../init.d/reboot 7.10 /etc/rcS.d lrwxrwxrwx 1 root root 18 Jan 26 02:11 S30loadkeys -> ../init.d/loadkeys 7.11 /etc/inittab Por favor, ten presente que reemplacé la definición para una 'agetty' (terminal) en vc/1 con el guión de instalación /etc/init.d/install que sólo se ejecutará una vez (atento: "una vez"). También he borrado 4 de las 5 definiciones de 'agetty' restantes ya que la instalación lo hará automáticamente. # Comineza /etc/inittab id:3:initdefault: si::sysinit:/etc/init.d/rcS l0:0:wait:/etc/init.d/rc 0 l1:S1:wait:/etc/init.d/rc 1 l2:2:wait:/etc/init.d/rc 2 l3:3:wait:/etc/init.d/rc 3 l4:4:wait:/etc/init.d/rc 4 l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6 ft:06:respawn:/sbin/sulogin ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now su:S1:respawn:/sbin/sulogin 1:2345:respawn:/sbin/agetty vc/1 9600 2:2345:respawn:/sbin/agetty vc/2 9600 # Fin de /etc/inittab

8. Historia 2001-07-25 liberada la versión 1.4: De acuerdo con una sugerencia de Gerard añadí una pocas líneas describiendo cómo logar una imagen de arranque para disquete y coloarla en el árbol de lfs para el cd de arranque. Correcciones: - Lo más importante era fijar la instrucción de crear disquete de arranque en donde había olvidado el comando para instalar grub en el disquete. - Borré/cambié algunas instrucciones olvidadas de mi CD original en 4 y 7.11. Adiciones: - Añadidas algunas descripciones más a 3.2.1, 3.2.2 2001-06-22 liberada la versión 1.3: Añadí instrucciones para crear un disquete de arranque basado en grub. 2001-03-10 liberada la versión 1.2: Después de tener varios correos de gente preguntando por una nueva versión de este Como con algunas recetas para crear el cd con soporte de memoria en disco (ramdisk). 2001-02-12 liberada la versión 1.0

Related Documents

Crear Un Cd Booteable
June 2020 11
Crear Un Cd Booteable
June 2020 7
Crear Un Cd Booteable
June 2020 13
Crear Un Blogspot
December 2019 12
Crear Un Rayo
April 2020 9
Como Crear Un Blog
May 2020 45