Re: Modificar initrd del instalador de Sarge
El 02/08/2006, a las 19:24, Luis Rodrigo Gallardo Cruz escribió:
prefiero hacer una instalación de
Sarge desde el principio y esto implica cambiar el kernel y modulos
del initrd del instalador por unos que soporten el controlador SATA,
http://d-i.alioth.debian.org/svn/debian-installer/installer/doc/
custom-kernel.txt
http://wiki.debian.org/DebianInstaller/Modify
http://wiki.debian.org/DebianInstaller
Buenas,
Lo primero de todo dar las gracias por vuestras respuestas :-)
Estoy siguiendo los pasos del primer enlace que ha pasado Luis, es
exactamente lo que buscaba, un howto para modificar el paquete debian-
installer con un kernel a medida. Pero me estoy encontrando con
algunos problemas y no termino de compilar los paquetes.. explico el
proceso que estoy siguiendo por si alguien sabe donde puede estar el
problema:
1) El primer paso es preparar un paquete deb con el kernel que quiero
meter en el Debian Installer, para ello me descargo el tarball con el
kernel y el parche de Debian. Una vez parcheado, generamos un .config
para 486, compilamos "a lo Debian" e instalamos el .deb:
$ mkdir -p /root/sarge_pe850
$ cd /root/sarge_pe850
$ wget http://ftp.debian.org/debian/pool/main/l/linux-2.6.16/
linux-2.6.16_2.6.16.orig.tar.gz
$ tar xfz linux-2.6.16_2.6.16.orig.tar.gz
$ cd linux-2.6-2.6.16
$ wget http://ftp.debian.org/debian/pool/main/l/linux-2.6.16/
linux-2.6.16_2.6.16-17.diff.gz
$ gzip -cd linux-2.6.16_2.6.16-17.diff.gz | patch -p1
$ cat debian/arch/config > .config
$ cat debian/arch/i386/config >> .config
$ cat debian/arch/i386/config.486 >> .config
$ fakeroot make-kpkg --append-to-version -486 kernel_image
$ dpkg -i /root/sarge_pe850/kernel-image-2.6.16-486_2.6.16-17_i386.deb
Hasta aquí todo sin problemas, el paquete se genera e instala sin
problemas:
$ COLUMNS=120 dpkg -l | grep kernel-image
ii kernel-image-2.6.16-486 2.6.16-17 Linux kernel
binary image for version 2.6.16-486.
2) El siguiente paso es generar el udeb para el debian-installer
partiendo del .deb del ya instalado, es aquí donde empiezan los
problemas ya que no puedo terminar de generarlo.. estos son los pasos
que estoy siguiendo:
$ cd /root/sarge_pe850
$ wget http://ftp.debian.org/debian/pool/main/l/linux-kernel-di-
i386-2.6/linux-kernel-di-i386-2.6_1.33.tar.gz
$ tar xfz linux-kernel-di-i386-2.6_1.33.tar.gz
$ cd linux-kernel-di-i386-2.6
NOTA: El contenido original del fichero "kernel-versions" es el
siguiente:
$ cat kernel-versions
# arch version flavour installedname suffix build-
depends
i386 2.6.16-2 486 2.6.16-2-486 - linux-
image-2.6.16-2-486
No me sirven estos datos, por lo que los cambios por:
i386 2.6.16 486 2.6.16-486 - linux-
image-2.6.16-486
$ kernel-wedge gen-control > debian/control
$ kernel-wedge build-all
Es en este punto, donde se deberían generar todos los .udeb es donde
empiezan los problemas:
====
dpkg-buildpackage: source package is linux-kernel-di-i386-2.6
dpkg-buildpackage: source version is 1.33
dpkg-buildpackage: source maintainer is Frans Pop <fjp@debian.org>
fakeroot debian/rules clean
kernel-wedge gen-control > debian/control
dh_testdir
dh_clean `find modules -type l`
dpkg-source -ICVS -I.svn -b linux-kernel-di-i386-2.6
dpkg-source: warning: unknown information field in input data in
package's section of control info file
dpkg-source: warning: unknown information field in input data in
package's section of control info file
dpkg-source: warning: unknown information field in input data in
package's section of control info file
(..)
dpkg-source: warning: unknown information field in input data in
package's section of control info file
dpkg-source: warning: missing information for output field Standards-
Version
dpkg-source: warning: source directory `./linux-kernel-di-i386-2.6'
is not <sourcepackage>-<upstreamversion> `linux-kernel-di-i386-2.6-1.33'
dpkg-source: building linux-kernel-di-i386-2.6 in linux-kernel-di-
i386-2.6_1.33.tar.gz
dpkg-source: building linux-kernel-di-i386-2.6 in linux-kernel-di-
i386-2.6_1.33.dsc
debian/rules build
kernel-wedge gen-control > debian/control
kernel-wedge make-links
dh_testdir
fakeroot debian/rules binary
kernel-wedge gen-control > debian/control
kernel-wedge make-links
dh_testdir
dh_testdir
dh_clean -k
kernel-wedge install-files
install -D -m 644 /boot/vmlinuz-2.6.16-486 debian/kernel-
image-2.6.16-486-di/boot/vmlinuz
install -D -m 644 /boot/System.map-2.6.16-486 debian/kernel-
image-2.6.16-486-di/boot/System.map
kernel-wedge copy-modules 2.6.16 486 2.6.16-486
missing module scsi_transport_spi
command exited with status 1
make: *** [binary-arch] Error 2
====
Parece que hay problemas con "scsi_transport_spi", buscando por esa
cadena encuentro una referencia en "modules/i386/scsi-core-modules".
Si comento esta linea sigue adelante.. pero sigue pasando lo mismo,
problemas con un nuevo modulo que no está disponible. La comento y lo
mismo, vuelve a fallar otro..
Esto me hace pensar que hay cierto problema con los módulos, creo que
el problema puede venir por las cadenas de revision/flavour con las
que se genera el deb del kernel en make-kpkg y lo que espera el
script "kernel-wedge"... ¿Alguien sabe que puede estar fallando?
Cualquier sugerencia es bienvenida :-)
Saludos,
--
Santi Saez
Reply to: