Contents
Introducción
El instalador personalizado es necesario para que la red funcione durante la instalación. Esto permite una instalación de un sistema Debian completo mediante la red, no solamente un sistema base, que es lo que obtienes con el 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 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.