Você está na página 1de 16

Proyecto: Creacion de un Sistema Minimo con

GNU/Linux
Profesor:
M. en C. Hermes Francisco Montes Casiano
Sistemas Operativos
Instituto Politecnico Nacional
Contenido
2 / 15

Sistema Mnimo
Denicicion
En luard e eliminar todos los programas que no se usan, se puede
arrancar una maqina con el software mnimo necesario para sus
funciones.
Esto es recomendable para la creaci on de cortafuegos, para establecer
algunos mecanismos de seguridad.
3 / 15

Procedimiento
1 Obtener un n uclero ya compilado, o si lo desea compilar uno.
2 Crear el sistema de archivos minimo para el arranque de ese n ucleo.
3 Compilar los comandos requeridos utilizando BusyBox.
4 Congurar el sistema y arrancarlo.
4 / 15

Obtener un n uclero ya compilado


Pueden utilizar el n ucleo ya compilado con el que cuenta su computadora.
Que n ucleo utilizo?
$ uname -a
Linux hermes 3.2.0-32-generic-pae #51-Ubuntu SMP Wed Sep 26 21:54:23
UTC 2012 i686 i686 i386 GNU/Linux
El kernel que utiliza mi instalaci on de linux es
/boot/initrd.img-2.6.32-5-686
Si listamos sus caractersticas obtendriamos lo siguiente:
Crear el sistema de archivos minimo para el arranque de ese n ucleo.
Comando le
$ le initrd.img-2.6.32-5-686 initrd.img-2.6.32-5-686: gzip compressed data,
from Unix, last modied: Mon Oct 15 11:31:37 2012
5 / 15

Crear el sistema de archivos minimo I


Se puede crear la estructura de archivos para arrancar el un sistema
operativo mnimo:
/dev Para los archivos de los dispositivos
/proc Para montar el informaci on del n ucleo
/etc Para los archivos de conguraci on del sistema
/sbin Para los archivos binarios para mantenimiento del sistema
/bin Para almacenar los archivos binarios del sistema
/lib Para las bibliotecas compartidas en tiempo de ejecuci on
/mnt Para proveer un punto de montaje para otros sistemas de archivos
/usr Para las utileras de los usuarios
/var Para los archivos de auditora del sistema
6 / 15

Crear el sistema de archivos minimo II


El sistema de archivos debe llenarse con la siguiente informacion:
El ejecutable de BusyBox
Las bibliotecas compartidas en /lib
Los archivos de E/S en /dev
Los archivos de conguraci on en /etc
7 / 15

Migrando las bibliotecas


La biblioteca estandar esta compilada con informaci on para trazar muchas
cosas:
El comando LD DEBUG
$LD DEBUG=help /bin/ls
8 / 15

Migrando las bibliotecas


Para conocer que bibliotecas compartidas utiliza un comando tambien
puede utilizar el comando ldd.
El comando ldd
$ldd /bin/ls
linux-gate.so.1 => (0xb77ce000)
libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb7799000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb7790000)
libacl.so.1 => /lib/i386-linux-gnu/libacl.so.1 (0xb7786000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb75e1000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb75dc000)
/lib/ld-linux.so.2 (0xb77cf000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb75c1000)
libattr.so.1 => /lib/i386-linux-gnu/libattr.so.1 (0xb75bb000)
8 / 15

Instalacion de BusyBox
BusyBox esta disponible en http://www.busybox.net
Vericar el manual de instalaci on del mismo disponible en la pagina
Compilacion
$ make defcong
$ make
Instalacion
$ cd /home/kakaroto/sistema minimo/
$ sudo make CONFIG PREFIX=/home/kakaroto/sistema minimo/ install
9 / 15

Conguracion y arranque del sistema I


Utilizar el comando chroot para vericar si el sistema de archivos esta
funcionando
Copiar el binario del shell bash a la carpeta /bin del sistema minmo y
agregar las bibliotecas necesarias para que pueda ejecutarse.
10 / 15

Conguracion y arranque del sistema II


Crear la imagen que iniciara el sistema
Para crear la imagen que cargara el n ucleo se realiza en el directorio
donde se tiene el arbol de archivos creado:
d . - print | cpio -ov -H newc > /home/kakaroto/imagen
o
nd . | cpio -o -H newc > /home/kakaroto/imagen
Comprimir el archivo de la imagen creada:
$ gzip imagen
11 / 15

Conguracion y arranque del sistema III


Editar el archivo /etc/grub.d/40 custom
#!/bin/sh
exec tail -n +3 $0
menuentry Mi Sistema Minimo{
set root=(hd0,msdos1)
echo Cargando Linux 2.6.32-5-686 ...
linux /boot/initrd.img-2.6.32-5-686 root=/dev/ram0 rw
echo Cargando mi disco en RAM ...
initrd /boot/minimo.gz
}
12 / 15

Requisitos
1 Se debe poder iniciar sesi on en el sistema de archivos con almenos 2
usuarios: usuario normal y super usuario.
2 El sistema minmo debe contar con los 10 comandos mas utilizados en
linux: ls, cd, more, cat, grep, ping, etc).
3 2 editores de texto: nano y vi.
4 Establecer conexi on de red con la interfaz Ethernet (cargar los m odulos
necesarios en el sistema mnimo).
1 punto extra
Se otorgara un punto extra a quienes deseen, ademas de realizar lo
anterior, congurar en el sistema mnimo un rewall (las caractersticas
las denire a quiene lo vayan a realizar).
13 / 15

Buena Suerte!
14 / 15

Referencias
Creaci on de un sistema mnimo
Dr. Luis Gerardo de la Fraga
Departamento de C omputaci on, CIVESTAV-IPN
Frequently Asked Questions
BusyBox
www. busybox.net/FAQ.html
15 / 15

Você também pode gostar