[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: