Ondrej Zary wrote:
Is there an easy way to boot uncompressed kernel (2.6) image instead of
the compressed one (bzImage) - using e.g. LILO?
I'm trying to do that because the decompression takes about 15 seconds
on my i386 (it's really an i386 - i386DX/25 :-) The uncompressed kernel
is about 1.5MB. I've already tried compressing it using gzip -1 instead
of gzip -9 but that didn't make decompression any faster.
Nobody answered, time to look at the code :-)
The attached patch is a quick hack so "make" will create uncompressed
kernel that can be booted in regular way.
--
Ondrej Zary
--- linux-2.6.12-printserver/scripts/Makefile.lib 2005-06-28 12:45:20.000000000 +0200
+++ linux-2.6.12-pentium/scripts/Makefile.lib 2005-07-01 23:36:30.000000000 +0200
@@ -177,7 +177,7 @@
# ---------------------------------------------------------------------------
quiet_cmd_gzip = GZIP $@
-cmd_gzip = gzip -f -9 < $< > $@
+cmd_gzip = cat < $< > $@
# ===========================================================================
# Generic stuff
--- linux-2.6.12-printserver/arch/i386/boot/compressed/misc.c 2005-06-17 21:48:29.000000000 +0200
+++ linux-2.6.12-pentium/arch/i386/boot/compressed/misc.c 2005-07-01 23:34:55.000000000 +0200
@@ -374,7 +374,15 @@
makecrc();
putstr("Uncompressing Linux... ");
- gunzip();
+ int i;
+ for (i = 0; i < input_len / WSIZE; i++) {
+ memcpy(window, input_data+i*WSIZE, WSIZE);
+ outcnt = WSIZE;
+ flush_window();
+ }
+ memcpy(window, input_data+i*WSIZE, input_len % WSIZE);
+ outcnt = input_len % WSIZE;
+ flush_window();
putstr("Ok, booting the kernel.\n");
if (high_loaded) close_output_buffer_if_we_run_high(mv);
return high_loaded;
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|