Copy Link
Add to Bookmark
Report

2-3: Linux en Disketes

eZine's profile picture
Published in 
0ri0n Team Venezuela
 · 21 May 2023

P-Drok-Array
dr0k@0ri0n.org

Introduccion

El Objetivo de ese texto es dar a conocer como hacer una Mini-Distribucion de linux en disketes o simplemente unos discos de arranque pero con un minimo de aplicaciones.

Ustedes diran, para que nos sirve esto?, pues muy simple, imaginate que se te da~o tu Linux y que no puedes recuperarlo porque no puedes acceder a el pero entonces ya tienes unos super-discos de rescates (la cual trae editor de texto, compilador, etc) y con esto puedes salvar tu informacion; otra es crear o desarrollar una peque~a distribucion de Linux, que en vez de tenerla instalada la podrias arrancar desde varios disketes disquete.

La Idea!

Lo que vamos a hacer es simplemente agarrar un diskete y meter un kernel ya compilado, luego crear un filesystem, llenarlo de las aplicaciones que queramos y mandarlo a un segundo diskette. El primer diskete nos va a servir de guia y en vez de apuntar a un filesystem de un disco duro nos tendria que apuntar al de el diskette.

Que necesitamos?

  1. Dos Disketes, uno para el BOOT y el otro para el FileSystem.
  2. Una Computadora con Linux.
  3. Que el Kernel tenga Soporte para RamDisk y LoopBack.
  4. Por lo minimo, 4 Jarras de Cafe y una de Agua y una Cajetilla de Cigarros (Opcional).
  5. Mucha paciencia.

Pasos para la Construccion

1.- Lo primero que debemos hacer es hacernos un kernel de linux, que nos servira para arrancar el sistema. Debemos tener activado la opcion de ram disk support, y la opcion de loopback device support, tambien debemos incluir los modulos que vamos a utilizar (como una unidad ZIP, CD-ROM, Tarjetas de Red, DVD, Sonido, etc).

2.- Debemos hacer un File System, esta parte es la que nos consumira mas tiempo, El tama~o del file system dependera de la computadora que vayamos a usar, el cual sera de 4096 KB.

Para crearlo simplemente hacemos:

     #dd if=/dev/zero of=/tmp/fs bs=1k count=4096  // Con esto creamos  un 
// archivo de 4 MB
// llamado filesystem
// en el direcorio /tmp

#mke2fs -m 0 /tmp/fs // Creamos un sistema de
// archivos ext2

#mount -t ext2 -o loop /tmp/fs /mnt/fs // Montamos el filesystem
// que acabamos de crear

3.- Ahora simplemente debemos incluir en el Filesystem los archivos a utilizar, aqui les dejo una lista de los archivos que pueden incluir:

bin:

  • ksh
  • more
  • dmesg
  • ps
  • login
  • sync
  • mount
  • umount
  • kill
  • setterm
  • hostname
  • telnet
  • ping
  • ftp
  • tar
  • killall
  • chmod
  • chown
  • cp
  • dd
  • df
  • du
  • ls
  • mkdir
  • mv
  • rm
  • ln
  • dircolors
  • cut
  • cat
  • stty
  • gzip
  • domainname
  • date@ -> ../sbin/clock
  • less@ -> more
  • sh
  • gunzip@ -> gzip
  • zcat@ -> gzip
  • bash

etc:

  • psdevtab
  • inittab
  • passwd
  • motd
  • fstab
  • hosts
  • termcap
  • services
  • rpc
  • protocols
  • networks
  • mtools
  • hosts.orig
  • hosts.deny
  • hosts.allow
  • exports
  • DIR_COLORS
  • HOSTNAME
  • resolv.conf
  • inetd.conf
  • ld.so.cache
  • shells
  • host.conf
  • magic
  • utmp
  • group
  • ld.so.conf
  • mtab
  • kernel
  • issue
  • profile
  • fastboot

etc/rc.d:

  • rc.inet
  • rc.local
  • rc.6
  • rc.M
  • rc.0
  • rc.K
  • rc.S

sbin:

  • swapoff@ -> swapon
  • telinit@ -> init
  • reboot@ -> halt
  • addswap => Ver Nota Abajo
  • chkhd
  • clock
  • selection
  • swapon
  • update
  • mkswap
  • agetty
  • init
  • shutdown
  • halt
  • killall5
  • ifconfig
  • route

usr:

  • adm@ -> ../var/adm
  • usr/bin:
  • mdeltree@ -> mtools
  • mrd@ -> mtools
  • mren@ -> mtools
  • mcd@ -> mtools
  • mmd@ -> mtools
  • mcopy@ -> mtools
  • mdel@ -> mtools
  • mdir@ -> mtools
  • mformat@ -> mtools
  • who
  • superformat
  • loadkeys
  • joe
  • mtools
  • uptime
  • finger
  • mcheck
  • tput
  • traceroute
  • host
  • split
  • sleep
  • setfont
  • grep
  • reset
  • usr/sbin:
  • ip
  • spool@ -> ../var/adm
  • usr/local:
  • usr/local/bin:
  • usr/local/lib:
  • lynx.cfg
  • usr/local/sbin:
  • bootpc

usr/lib:

  • es.map
  • t.fnt

usr/lib/joe:

  • joerc

usr/lib/terminfo:
usr/lib/terminfo/l:

  • linux

usr/lib/terminfo/c:

  • console

lib:

  • libgpm.so@ -> libgpm.so.1
  • libdl.so@ -> libdl.so.1
  • ld-linux.so.1
  • libtermcap.so.2
  • libm.so.5
  • libc.so.5
  • libdl.so.1
  • libgpm.so.1
  • libtermcap.so.2
  • libcurses.so.1
  • ld.so

dev:

  • /dev/cua0
  • /dev/cua1
  • /dev/cua2
  • /dev/cua3
  • /dev/hda1
  • /dev/hda2
  • /dev/hda3
  • /dev/hda4
  • /dev/hda
  • /dev/hdb
  • /dev/hdb1
  • /dev/hdb2
  • /dev/hdb3
  • /dev/hdb4
  • /dev/hdc
  • /dev/hdc1
  • /dev/hdc2
  • /dev/hdc3
  • /dev/hdc4
  • /dev/ram
  • /dev/ram0
  • /dev/ram1
  • /dev/ram2
  • /dev/ram3
  • /dev/ram4
  • /dev/ram5
  • /dev/ram6
  • /dev/null
  • /dev/console
  • /dev/zero
  • /dev/kmem
  • /dev/mem
  • /dev/tty0
  • /dev/tty1
  • /dev/tty2
  • /dev/tty3
  • /dev/tty4
  • /dev/tty5
  • /dev/tty6
  • /dev/tty7
  • /dev/ttyp0
  • /dev/ttyp1
  • /dev/ttyp2
  • /dev/ttyp3
  • /dev/ttyp4
  • /dev/ttyp5
  • /dev/ttyp6
  • /dev/ttyp7

var:

  • var/adm:
  • utmp
  • cron
  • var/spool:
  • var/spool/uucp:
  • var/spool/locks:
  • var/tmp:
  • var/run:
  • utmp

home:

  • home/DrOk

Directorios Vacios:

  • lost+found
  • root

addswap: Simplemente creamos este archivo en /mnt/fs/sbin y le incluimos el siguiente script:

  #!/bin/bash 
MEM=2048
ARCH=/dev/ram1
dd if=/dev/zero of=$ARCH bs=1k count=$MEM
mkswap -c $DISP 2>/dev/null
sync 2>/dev/null
swapon $DISP 2>/dev/null

Tambien se puede determina en donde estan las librerias para los programa con:

  #ldconfig -r hvlinux

Con esto conseguimos hacer una memoria virtual de tipo swap (de 2MB), podemos hacer el llamado de este fichero desde el archivo /mnt/fs/etc/rc.d/rc.S para que cada vez que utilicemos estos disketes el automaticamente cree la swap.

Editamos el archivo /mnt/fs/etc/inittab y colocamos las siguientes lineas:

  id:3:initdefault: 
si::sysinit:/etc/rc.d/rc.S
rc::bootwait:/etc/rc.d/rc.M
ca::ctraltdel:/sbin/shutdown -t3 -rf now
l0::wait:/etc/rc.d/rc.0
l6::wait:/etc/rc.d/rc.6
1::123:respawn:/sbin/agetty 38400 tty1 linux
2::123:respwan:/sbin/agetty 38400 tty2 linux
3::123:respwan:/sbin/agetty 38400 tty3 linux

Con respecto al archivo fstab podemos colocar lo siguiente:

  /dev/ram0       /               ext2    defaults   1   1 
/dev/ram2 swap swap defaults 0 0
none /proc proc defaults 0 0

Si necesitamos mas megas en la ram solo ejecutamos el siguiente script

  #!/bin/bash 
MEM=2048 # Puedes cambiarlo por los megas que necesites
ARCH=/dev/ram3 # Podemos habilitar el ram3 hasta el ram6
dd if=/dev/zero of=$ARCH bs=1k count=$MEM
mkswap -c $DISP 2>/dev/null
sync 2>/dev/null
swapon $DISP 2>/dev/null

NOTA: La cantidad de memoria que deseas habilitar dependera a la ram que tengas instalado en tu maquina.


4. Ahora simplemente nos queda desmontar el filesystem y mandarlo al diskete y para ello hacemos el siguiente comando:

    #umount /mnt/fs; cd /tmp; gzip -9 fs; dd if=fs.gz of=/dev/fd0 bs=1k 
count=4096

NOTA: Este es el Segundo Diskete.

Ahora meteremos en el primer diskete una imagen ya compilada (por ejemplo) con:

    #cd /boot; dd if=vmlinuz of=/dev/fd0

Listo, ahora nos queda decirle al kernel a que filesystem nos va a apuntar con:

    #rdev /dev/fd0 /dev/fd0  // Para indicarle al Kernel que el ramdisk lo 
// debe buscar en la fd0.

Y Listo, esto es todo, solo nos queda reiniciar y insertar el primer disco, y luego el nos pedira el segundo y ya tendremos una mini-distri de linux en dos disketes.

Aqui les dejo una Lista de Mini-Disribuciones de Linux, para que las Prueben, las hackeen y demas cosas:

FAQ's de este Texto

1. Cuando trato de montar el fs me da error, porque?.
R: Es porque no tienes activado la opcion de loopback en tu kernel.

2. He creado un FS grande y cuando trato trabajarlo en una computadora con menos de 8MB de Ram no me corre?, porque sucede esto?.
R: De Verdad que no se decirte porque pero a mi tambien me ha dado problemas, te recomiendo que hagas otro filesystem de 4MB y lo metas en otro disko y luego lo montes cuando este lista la distri.

3. Donde puedo conseguir mas informacion sobre esto:
R: En Linuxdocs.org, insflug.org, lucas.hispalinux.es, linuxhq.com

4. Que distribucion usa Usted?
R: Actualmente Slackware 7.1


Flames, Basura y otros quimicos enviarlos a /dev/null Comentarios Constructivos, Criticas, Opiniones y demas Vergas enviarlo a dr0k@0ri0n.org

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT