<> == Introducción == El instalador personalizado es necesario para que la red funcione durante la instalación. Esto permite una [[DebianEeePC/HowTo/Install|instalación]] de un sistema Debian completo mediante la red, no solamente un sistema base, que es lo que obtienes con el [[DebianEeePC/HowTo/Install|instalador estándar]]. == Descripción == El proceso exacto para crear la imagen enlazada desde [[DebianEeePCSpanish/HowTo/Install]] básicamente sigue el proceso descrito en [[DebianInstaller/Modify/CustomKernel]] para construir un instalador de Lenny. Uos pocos pasos extra fueron necesarios para incluir el módulo atl2. Las siguientes instrucciones asumen un sistema de construcción basado en Sid. Puede que quieras preparar un chroot de Sid para hacerlo. == Construcción automatizada == El proceso documentado a continuación en 'Construcción manual' es automatizado con el script {{{build-eeepc.sh}}} disponible en {{{git://git.debian.org/git/debian-eeepc/installer.git}}} [[http://git.debian.org/?p=debian-eeepc/installer.git;a=log|web]], aunque para que funcione en un chroot de Sid, faltan algunas cosas: * crear /etc/kernel-img.conf en el chroot, conteniendo: {{{ do_symlinks = Yes do_initrd = Yes }}} * en este punto, probablemente quieras salvar un tarball del chroot en caso de que quieras volver a hacer la construcción * para prepararse para la construcción, asegúrate de que el script se ha copiado dentro del chroot, entra al chroot y monta proc y sys (los warnings acerca de que falta el fstab son correctos): {{{ cp build-eeepc.sh sid/ chroot sid/ mount -t proc proc /proc mount -t sysfs sys /sys }}} ==== Nota temporal ==== Por el momento tenemos que hacer "hacking-en-construcción" en el netcfg, de modo que necesitamos una línea fuente en nuestro source.list del chroot. También, en este punto, (hasta que los módulos estén disponible) necesitas construir el madwifi-eeepc-source para el kernel del 486 ya que es necesario durante el "kernel-wedge" de la construcción. Mientras instalas los módulos madwifi para el kernel del 486, madwifi-tools es una dependencia, así que hace falta tener la rama "contrib" en sources.list * y construye: {{{ ./build-eeepc.sh }}} Si todo va bien, después de un rato será creado un archivo test/debian-eeepc.img. == Construcción manual == Estas instrucciones asumen una estructura de directorios de: {{{| (directorio base) \ | kernel-wedge | debian-installer | tmp (for initrd repacking and goodies) | iso (to mount the .iso) | img (to mount the .img) }}} === Paquetes requeridos: === * `apt-get install kernel-wedge build-essential subversion fakeroot syslinux wget` * descargar y hacer `dpkg -i`: [[http://packages.debian.org/lenny/linux-image-2.6.22-3-486]] * descargar y hacer `dpkg -i`: [[http://packages.debian.org/lenny/atl2-modules-2.6.22-3-486]] * `svn co svn://svn.debian.org/svn/d-i/trunk debian-installer` * descargar, `cd kernel-wedge`, `tar xf` http://packages.debian.org/unstable/source/linux-kernel-di-i386-2.6 === Tratar con el kernel-wedge: === * `cd linux-kernel-di-i386-2.6` * `echo atl2 >> ./modules/i386/nic-modules` * `kernel-wedge build-all` * `cp -r ../*.udeb ../../debian-installer/installer/build/localudebs/` === Tratar con el debian-installer: === * `cd ../../debian-installer/installer/build` * `sed -ie 's/#monolithic/monolithic/g' ./config/i386.cfg` * `sed -ie 's/DEBIAN_RELEASE = .*/DEBIAN_RELEASE = lenny/g' ./config/common` * `fakeroot make build_monolithic` {{{ Ahora, en el directorio de dest/ (NdT: ¿Destino?) que contiene tu nuevo archivo .iso monolítico, hay dos problemas: * No contiene el script de instalación del atl2 * No es una imagen USB, solo un LiveCD Es muy sencillo convertir una LiveCD en una imagen USB, pero el script de instalación del atl2 no es fácil como inyectarlo. Si tienes una forma mejor de hacerlo que la forma descrita a continuación, siéntete libre de añadirla en esta página. }}} === Tratando con el script del atl2: === * `cp dest/monolithic/initrd.gz ../../../tmp` * `cd ../../../tmp` * `gunzip initrd.gz` * `cpio -i < initrd` * `rm initrd` * `cd ./usr/lib/post-base-installer.d/` * `wget http://bbqsrc.net/eeepc/debian/05atl2-install` * `chmod +rx 05atl2-install` * `cd ../../..` * `find ./ | cpio -H newc -o > ./initrd` * `gzip initrd` === Convirtiendo la .iso en una .img === * `dd if=/dev/zero of=./debian-eeepc.img bs=1k count=16000` * Convirteté en root: `su` * `mkfs.vfat ./debian-eeepc.img` * `mount -o loop ./debian-eeepc.img ../img` * `mount -o loop ../debian-installer/installer/build/dest/monolithic/mini.iso ../iso` * `cp -r ../iso/* ../img/*` * `umount ../iso` * `rm ../img/initrd.gz ../img/isolinux.bin` * `mv ../img/isolinux.cfg ../img/syslinux.cfg` * `cp ./initrd.gz ../img/` * `umount ../img` * `syslinux ./debian-eeepc.img` * Abandona la consola root: `exit` === Conclusión === Es una buena idea testear las fases iniciales de arranque con qemu simplemente para ver si funciona correctamente sin problemas técnicos reseñables, entonces testéa la imagen metiéndola en una llave USB o en una tarjeta SD.