Está en la página 1de 6

Sistemas operativos de redes

He

aquí la forma de hacer un CD-Booteable (que arranque la computadora sin necesidad de


drivers del CD-ROM usando el programa Easy CD creador.

MARTES, 27 DE OCTUBRE DE 2009


Hacer un disquete de arranque que cargue todos los controladores del CD en su
directorio raíz. Es importante que en ningún lado se haga referencia a letras de
unidad, sólo a nombres de archivo.
En Easy CD Creador preparar los archivos a grabar en el CD (sin incluir los de
arranque).
Hacer clic en la opción de menú "Archivo".
Hacer clic en la opción de menú "Propiedades de la estructura de CD".
Hacer clic en la pestaña "Parámetros de datos".
Si el sistema de archivos no indica "ISO9660", cámbialo a "ISO9660".
Hacer clic en el cuadro de verificación "De inicio" para activar la admisión de CD-
ROM.
Hacer clic en el botón "Aceptar" en la parte inferior de la ventana "Propiedades de la
estructura de CD".
El programa pedirá el disquete de arranque cuando inicie la grabación del CD.
Tener en cuenta que en el disquete tienen que estar todos los ficheros necesarios para
detectar y controlar el CD, ya que no pueden estar en la estructura del CD, porqué al
arrancar con el CD-ROM solo se carga la parte de arranque y no la unidad de estructura de
CD.

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.
Analicemos al contenido de $LFS de un sistema típico:
Drwxr-xr-x 2 root root 1603 Oct 15 22:16 bin
Drwxr-xr-x 4 root root 4096 Dec 5 00:12 boot
Drwxr-xr-x 8 root root 44096 Feb 11 10:02 dev
Drwxr-xr-x 45 root root 5334 Feb 11 11:02 etc
Drwxr-xr-x 13 root root 250 Jan 9 00:39 home
Drwxr-xr-x 5 root root 1869 Jan 4 23:58 lib
Drwxr-xr-x 5 root root 95 Aug 27 22:12 mnt
Dr-xr-xr-x 54 root root 0 Feb 11 11:02 proc
drwx--x--x 20 root root 679 Jan 30 17:27 root
ALUMNA: KIOMY AVIS YUPANQUI FERNÁNDEZ e-mail: kiomyfernandez@hotmail.com
pág. scribd: princesasoshin@hotmail.com http://istphtakiomy.blogspot.com/
Docente: Ayala Araujo, Orlando e-mail: onlinensl@gmail.com
Sistemas operativos de redes
Drwxr-xr-x 5 root root 5068 Jan 4 23:58 sbin
drwxrwxrwt 5 root root 200 Feb 11 10:03 tmp
Drwxr-xr-x 27 root root 663 Dec 13 17:34 usr
Drwxr-xr-x 26 root root 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 unpunto de montaje de

MARTES, 27 DE OCTUBRE DE 2009


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.
1.1enlazado /tmp y /var al
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.
1.2 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!
1.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
1.3 encabezado 7tmp y /var al
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
1.3.1 manejo de /tmp
ALUMNA: KIOMY AVIS YUPANQUI FERNÁNDEZ e-mail: kiomyfernandez@hotmail.com
pág. scribd: princesasoshin@hotmail.com http://istphtakiomy.blogspot.com/
Docente: Ayala Araujo, Orlando e-mail: onlinensl@gmail.com
Sistemas operativos de redes
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.
1.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.1.
Durante el arranque necesitarás desempaquetar el paquete tarde /var en /rd.
1.4 guiones de arranque

MARTES, 27 DE OCTUBRE DE 2009


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.

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.
Hazte 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.
Entonces 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".
A

unque 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"

ALUMNA: KIOMY AVIS YUPANQUI FERNÁNDEZ e-mail: kiomyfernandez@hotmail.com


pág. scribd: princesasoshin@hotmail.com http://istphtakiomy.blogspot.com/
Docente: Ayala Araujo, Orlando e-mail: onlinensl@gmail.com
Sistemas operativos de redes
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

MARTES, 27 DE OCTUBRE DE 2009


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.

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:
D 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.

5.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
5.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.
ALUMNA: KIOMY AVIS YUPANQUI FERNÁNDEZ e-mail: kiomyfernandez@hotmail.com
pág. scribd: princesasoshin@hotmail.com http://istphtakiomy.blogspot.com/
Docente: Ayala Araujo, Orlando e-mail: onlinensl@gmail.com
Sistemas operativos de redes
-rwxr-xr-- 1 root root 1734 Jan 26 02:05 checkfs
-rwxr-xr-- 1 root root 1118 Jan 26 02:05 ethnet
-rwxr-xr-- 1 root root 867 Feb 2 02:46 fcron
-rwxr-xr-- 1 root root 4940 Jan 26 02:05 functions
-rwxr-xr-- 1 root root 83 Jan 26 02:05 halt
-rwxr-xr-x 1 root root 988 Feb 12 13:51 install
-rwxr-xr-- 1 root root 200 Jan 26 02:05 loadkeys
-rwxr-xr-- 1 root root 725 Jan 26 02:05 localnet
-rwxr-xr-- 1 root root 355 Jan 26 02:05 mountfs

MARTES, 27 DE OCTUBRE DE 2009


-rwxr-xr-- 1 root root 4219 Jan 26 02:05 rc
-rwxr-xr-- 1 root root 235 Jan 26 02:05 rcS
-rwxr-xr-- 1 root root 123 Jan 26 02:05 reboot
-rwxr-xr-- 1 root root 276 Jan 26 02:05 sendsignals
-rwxr-xr-- 1 root root 338 Jan 26 02:05 setclock
-rwxr-xr-- 1 root root 1062 Jan 26 02:05 sysklogd
-rwxr-xr-- 1 root root 696 Jan 26 02:05 template
-rwxr-xr-- 1 root root 234 Jan 26 02:05 umountfs
5.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
5.4 /etc/rc1.d
[empty]
5.5 /etc/rc2.d
[empty]
5.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:
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
ALUMNA: KIOMY AVIS YUPANQUI FERNÁNDEZ e-mail: kiomyfernandez@hotmail.com
pág. scribd: princesasoshin@hotmail.com http://istphtakiomy.blogspot.com/
Docente: Ayala Araujo, Orlando e-mail: onlinensl@gmail.com
Sistemas operativos de redes
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

MARTES, 27 DE OCTUBRE DE 2009


CDmage1-02-1B5.exe CDR Software.zip Acoustica-CD-Label-Maker-Installer.exe

ALUMNA: KIOMY AVIS YUPANQUI FERNÁNDEZ e-mail: kiomyfernandez@hotmail.com


pág. scribd: princesasoshin@hotmail.com http://istphtakiomy.blogspot.com/
Docente: Ayala Araujo, Orlando e-mail: onlinensl@gmail.com

También podría gustarte