15 noviembre 2008

Como crear tu propia distribución

Requisitos

Instrucciones

Elige la Clave GPG

Las versiones más recientes de apt requieren una firma GPG en el repositorio de archivos para asegurar la integridad de la distribución, así que nuestro primer paso es crear una clave GPG. gpg --gen-key te permitirá hacerla, asegúrate de que la contraseña está en blanco. Necesitarás la firma de la llave para el archivo de configuración.

Finalmente, añade la clave pública en el almacén de claves.

gpg --export | sudo gpg --import

Paquetes

Necesitarás los siguientes paquetes para que la distro funcione correctamente:

apt-get install reprepro imagemagick debmirror build-essential apache2 subversion cdebootstrap
apt-get install squashfs-tools netpbm syslinux bittornado
apt-get build-dep linux-image-$(uname -r) ubiquity update-manager ubuntu-artwork base-files ubuntu-meta
apt-get build-dep launchpad-integration grub system-tools-backends example-content gnome-panel
apt-get build-dep gnome-app-install
svn co http://svn.gnewsense.svnhopper.net/gnewsense/builder/trunk builder
sudo ./fixup-kernel-wege

DebMirror (opcional)

Para evitar tener que bajar varias veces el mismo archivo, es recomendable crear un mirror único. Para lo que se necesitarán 27 gb

debmirror --nocleanup --verbose --progress --method=http --host=ie.archive.ubuntu.com --arch=i386 \
--source --dist=dapper,dapper-security,dapper-updates,dapper-backports --section=main,main/debian-installer,universe --ignore-release-gpg \
--root=ubuntu /the/target/directory
  • Necesitarás además configurar Apache para obtener el mirror via Http o Localhost, este paso es opcional, pero se recomienda hecerlo

Configuración

Abre el directorio builder (usa cd) que creaste anteriormente y abre el fichero config en un editor de texto. las opciones de las que te tienes que iocupar son: MIRROR, RELEASE, DISTRONAME, DOMAIN, BASEDIR, and REPOAPT.

  • Mirror Es el mirror que tu elegiste en el paso anterior. MIRRORDIST es el nombre del mirror. Normalmente dapper
  • Distroname Es el nombre de la distribución, solo puede tener números y letras
  • Release Es el nombre del release. Debe estar en minúsculas
  • Logoletter Es la letra que actuará de logo en tu distro
  • Tagline Se mostrará en la pantalla de inicio
  • DomainSe usará como fuente para obtener programas al instalar
  • BasedirEs el directorio bajo el que el livecd y los archivos temporales se guardarán. por lo que debería configurar apache para el directorio REPOST ($BASEDIR/(nombre de la distribución (minúsculas))).
  • META_*_{ADD,REMOVE}Los paquetes que quieres quitar o añadir desde el paquete ubuntu-meta mientras tus meta-paqeutes son creados.
  • *_VERSIONEs el número que se añade a la versión de los paquetes. Lo incrementarás a medida que rehaces la distro. lo más probable es que quieras empezar desde el 1
  • RSYNC_DESTEs donde se generan las reposiciones o el livecd. Se debe hacer un rsync con push-repo o push-cd.

Genera el repositorio

./gen-repo && ./do-update

Esto creará la imágen que se alojará en $LIVECDDIR/$DISTRONAME_L-livecd-$LIVECD_VERSION.iso

./gen-cdsource
./stage-cd
  • Advertencia:Para 32 bits, usa ./gen-repo && linux32 ./do-update

Prepara el source del tarball y pon pon la ISO en $REPODST/cdimage

Poné tu distro en un mirror y publicala

Ahora podrás publicar tu ISO, para ello, escribe lo siguiente:

./push-repos
./push-cd
Fuente

PD: Si llegás a hacer una distribución yo no tengo problema de publicarla.

1 comentarios:

David Amador Díaz dijo...

oie para un proyecto escolar que tenemos qe decidir,me gustaria hacer una distro basada en ubuntu, soy muy nuevo en esto del linux y me gustaria un poco mas de informacion de como crearla.
te dejo mi correo damador@ieee.org

gracias.
David Amador Díaz
Coordinador de Eventos Pre-Universitarios
IEEE SB ITQ
R9. Mexico, Seccion Queretaro