Thomas Bliesener wrote: > > On Sun, Apr, 15, 2001 at 00:10:34 +0200, Santiago Vila wrote: > > > Tanto zImage como bzImage son distintos formatos de núcleo. Creo que > > la diferencia está en la forma en la que se cargan en memoria (algunos > > portátiles, por ejemplo, no pueden usar núcleos bzImage). > > Sí. > > zImage lee el kernel comprimido a 0x10000 hasta max. 0x8EFFF y por eso > está limitado a 508 kbyte. Para liberarse de esta limitación bzImage usa > no solamente los primeros 640 kbyte de 0x00000 a 0x9FFFF sino también la > área arriba de 1 Mbyte (0x100000). bzImage carga el kernel en bloques de > 64 kbyte a 0x10000 hasta 0x1FFFF y los mueve a 0x100000 y las > direcciones siguientes que normalmente no se pueden accesar en el real > mode del x86. > > Después de cargar el kernel comprimido éste se encuentra en 0x10000 > (zImage) resp. 0x100000 (bzImage). zImage copia ahora el kernel a > 0x1000. Después de unos setups salta a 0x1000 resp. 0x100000. Esto pasa > en setup.S. > > El kernel comprimido contiene en su principio la rutina para > descomprimirse. En los dos casos se descomprime el kernel y escribe el > kernel descomprimido a 0x100000 (1 Mbyte) a la memoria. > > En caso de bzImage no es posible directamente ya que en 0x100000 se > encuentra el kernel comprimido. Por eso usa temporalmente la memoria de > los primeros 640 kbyte y después del kernel comprimido. El código se > encuentra en head.S y compressed/misc.c > > En los dos casos el kernel se encuentra finalmente en 0x100000 y ahí se > ejecuta start_kernel que arranca el kernel. Todo antes sirve solamente > para poner el kernel descomprimido a 0x100000 debido a la > arquitectura vieja de las PCs. > > Todo esto está documentado en /usr/src/linux/arch/i386/boot/.
Si tengo un kernel de 468k que me conviene zImage o bzImage, la maquina mia es un PIII de 800mhz.