Disco de instalación todo-en-uno

De NetBSD Mexico Wiki, la enciclopedia libre.

Tabla de contenidos

Introducción

El siguiente procedimiento es para crear un disco de instalación que contenga los siguientes elementos:

  • Los sets. (kernel, X11, etc).
  • Los sets extras de la instalación (man pages, etc).
  • El código fuente de la versión elegida.
  • Otras cosas que necesites (firmwares, etc).

Seleccionando versión y arquitectura

Versión

Lo primero que tenemos que hacer es decidir qué versión es la que vamos a descargar:

$ printf 'ls -l\nbye\n' | ftp -a ftp://ftp.netbsd.org/pub/NetBSD/
total 336
lrwxrwxrwx    1 srcmastr  netbsd    21 Jul  6  2002 .message -> README.export-control
drwx------    2 2         netbsd   512 Nov  3 22:24 .snapshot
drwxrwxr-x   57 srcmastr  netbsd  1536 Nov  3  2006 NetBSD-3.0.2
drwxr-xr-x   55 srcmastr  netbsd  1536 Aug 30  2007 NetBSD-3.0.3
drwxrwxr-x   57 srcmastr  netbsd  1536 Nov  3  2006 NetBSD-3.1
drwxr-xr-x   54 srcmastr  netbsd  1536 Sep  1  2007 NetBSD-3.1.1
drwxrwxr-x   54 611       611     1024 Dec 16  2007 NetBSD-4.0
drwxr-xr-x   54 611       netbsd  1536 Oct  8 19:35 NetBSD-4.0.1
drwxr-xr-x    6 srcmastr  netbsd   512 Nov  1 07:48 NetBSD-5_RC
lrwxr-xr-x    1 root      netbsd    17 May  9  2006 NetBSD-archive -> ../NetBSD-archive
drwxrwxr-x    6 srcmastr  netbsd   512 Dec 29  2005 NetBSD-current
lrwxrwxr-x    1 root      netbsd    15 Oct 25  2004 NetBSD-daily -> ../NetBSD-daily
drwxr-xr-x    5 srcmastr  netbsd   512 Dec 23  2005 NetBSD-release-3-0
drwxr-xr-x    5 srcmastr  netbsd   512 May  5  2007 NetBSD-release-3-1
drwxr-xr-x    5 srcmastr  netbsd   512 May  5  2007 NetBSD-release-4-0
-rw-rw-r--    1 srcmastr  netbsd  1653 Jan 27 09:36 README
-rw-rw-r--    1 srcmastr  netbsd   605 Apr  5  2007 README.export-control
lrwxrwxr-x    1 1187      netbsd    17 Nov 15  2004 README.sup -> ../sup/README.sup
drwxrwxr-x   68 srcmastr  netbsd  1536 Dec 20  2007 arch
drwxrwxr-x    7 root      netbsd   512 Oct  5 20:55 iso
drwxrwxr-x    2 1187      netbsd   512 Dec  8  2004 mailing-lists
drwxrwxr-x  184 srcmastr  netbsd  3072 Feb 17 23:01 misc
drwxrwxr-x    7 srcmastr  netbsd   512 Sep 19 15:17 packages
drwxrwxr-x    7 srcmastr  netbsd   512 Dec  8  2004 security
drwxrwxr-x    3 srcmastr  netbsd   512 Nov 15  2004 sup

Como ejemplo vamos a usar la versión NetBSD-4.0.

NOTA

No olvides agregar la barra diagonal al final de la dirección o el comando no funcionará.

Arquitectura

Una vez que hayamos elegido la versión, ahora escogemos la arquitectura que necesitamos:

$ printf 'ls -l\nbye\n' | ftp -a ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/
total 2576
-rw-r--r--   1 611   611   34257 Dec 16  2007 CHANGES
-rw-r--r--   1 611   611  403148 Dec 16  2007 CHANGES-4.0
-rw-r--r--   1 611   611  423283 Dec 16  2007 CHANGES.prev
-rw-r--r--   1 611   611     236 Dec 16  2007 LAST_MINUTE
-rw-r--r--   1 611   611    1362 Dec 16  2007 README.files
drwxr-xr-x   4 611   611     512 Dec 16  2007 acorn26
drwxr-xr-x   4 611   611     512 Dec 16  2007 acorn32
drwxr-xr-x   4 611   611     512 Dec 16  2007 algor
drwxr-xr-x   4 611   611     512 Dec 16  2007 alpha
drwxr-xr-x   4 611   611     512 Dec 16  2007 amd64
drwxr-xr-x   4 611   611     512 Dec 16  2007 amiga
drwxr-xr-x   4 611   611     512 Dec 16  2007 arc
drwxr-xr-x   4 611   611     512 Dec 16  2007 atari
drwxr-xr-x   4 611   611     512 Dec 16  2007 cats
drwxr-xr-x   3 611   611     512 Dec 16  2007 cesfic
drwxr-xr-x   4 611   611     512 Dec 16  2007 cobalt
drwxr-xr-x   4 611   611     512 Dec 16  2007 dreamcast
drwxr-xr-x   4 611   611     512 Dec 16  2007 evbarm
drwxr-xr-x   4 611   611     512 Dec 16  2007 evbmips
drwxr-xr-x   4 611   611     512 Dec 16  2007 evbppc
drwxr-xr-x   3 611   611     512 Dec 16  2007 evbsh3
drwxr-xr-x   4 611   611     512 Dec 16  2007 hp300
drwxr-xr-x   4 611   611     512 Dec 16  2007 hp700
drwxr-xr-x   4 611   611     512 Dec 16  2007 hpcarm
drwxr-xr-x   4 611   611     512 Dec 16  2007 hpcmips
drwxr-xr-x   4 611   611     512 Dec 16  2007 hpcsh
drwxr-xr-x   4 611   611     512 Dec 16  2007 i386
drwxr-xr-x   4 611   611     512 Dec 16  2007 ibmnws
lrwxrwxr-x   1 root  611      10 Dec 16  2007 iso -> ../iso/4.0
drwxr-xr-x   4 611   611     512 Dec 16  2007 iyonix
drwxr-xr-x   4 611   611     512 Dec 16  2007 landisk
drwxr-xr-x   4 611   611     512 Dec 16  2007 luna68k
drwxr-xr-x   4 611   611     512 Dec 16  2007 mac68k
drwxr-xr-x   4 611   611     512 Dec 16  2007 macppc
drwxr-xr-x   4 611   611     512 Dec 16  2007 mipsco
drwxr-xr-x   4 611   611     512 Dec 16  2007 mmeye
drwxr-xr-x   4 611   611     512 Dec 16  2007 mvme68k
drwxr-xr-x   4 611   611     512 Dec 16  2007 mvmeppc
drwxr-xr-x   4 611   611     512 Dec 16  2007 netwinder
drwxr-xr-x   4 611   611     512 Dec 16  2007 news68k
drwxr-xr-x   4 611   611     512 Dec 16  2007 newsmips
drwxr-xr-x   4 611   611     512 Dec 16  2007 next68k
drwxr-xr-x   4 611   611     512 Dec 16  2007 ofppc
drwxr-xr-x   4 611   611     512 Dec 16  2007 pmax
drwxr-xr-x   4 611   611     512 Dec 16  2007 pmppc
drwxr-xr-x   4 611   611     512 Dec 16  2007 prep
drwxr-xr-x   4 611   611     512 Dec 16  2007 sandpoint
drwxr-xr-x   4 611   611     512 Dec 16  2007 sbmips
drwxr-xr-x   4 611   611     512 Dec 16  2007 sgimips
drwxr-xr-x  10 611   611     512 Dec 16  2007 shared
drwxr-xr-x   4 611   611     512 Dec 16  2007 shark
drwxr-xr-x   3 611   611     512 Dec 16  2007 source
drwxr-xr-x   4 611   611     512 Dec 16  2007 sparc
drwxr-xr-x   4 611   611     512 Dec 16  2007 sparc64
drwxr-xr-x   4 611   611     512 Dec 16  2007 sun2
drwxr-xr-x   4 611   611     512 Dec 16  2007 sun3
drwxr-xr-x   4 611   611     512 Dec 16  2007 vax
drwxr-xr-x   4 611   611     512 Dec 16  2007 x68k

Vamos a utilizar la arquitectura más común, la i386.

NOTA

No olvides agregar la barra diagonal al final de la dirección o el comando no funcionará.

Creando el espacio de trabajo

Creamos el espacio de trabajo y nos situamos dentro:

$ mkdir disco

$ cd disco

Descargando los sets

  • Descargamos los sets de la versión y de la arquitectura que escogimos:
$ wget -r ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/i386
  • Descargamos el resto de los sets (man pages, etc):
$ wget -r ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/shared
  • Descargamos el código fuente:
$ wget -r ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/source

Hackeando la instalación

Para que podamos usar el mismo disco en este paso de la instalación:

inst-cdrom.png

es necesario crear este enlace simbólico:

$ ln -s ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/i386 .

NOTA

Observa que la ruta se forma de la versión (NetBSD-4.0) y de la arquitectura (i386) elegidas.

Creando la imágen de CD

Para crear la imágen nos subimos un nivel:

$ cd ..

y usamos la utilería mkisofs:

$ mkisofs  \
  -log-file mkisofs.log  \
  -o netbsd-4.0-i386.iso  \
  -J -r -V "NetBSD 4.0 for i386"  \
  -b ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/i386/installation/floppy/boot-big.fs  \
  disco/

Descripción de las opciones de mkisfos

  • -log-file mkisofs.log
Guardamos todos los mensajes en el archivo mkisofs.log para poder analizar su resultado.
  • -o netbsd-4.0-i386.iso
El nombre de la imágen del disco.
  • -J
Agregamos la opción de poder utilizar el disco en entornos Windows.
  • -r
Usamos la extensión Rock Ridge para poder usar el enlace simbólico durante la instalación.
  • -V "NetBSD 4.0 for i386"
Nombre del disco, formado por la versión y la arquitectura elegidas.
  • -b ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/i386/installation/floppy/boot-big.fs
Para poder hacer el CD booteable usamos el archivo boot-big.fs que es una imágen de floppy.

Probando la imágen del disco

Si dispones de la utilería QEMU (emulators/qemu) puedes virtualizar una instalación ANTES de que malgastes un CD virgen:

3311213711_a9a3f50c0d_o.jpg

3311213719_9c0167feec_o.jpg