Main menu:

Sponsoring

Please consider a small donation:

 

Also appreciated: support me by clicking the ads (costs nothing) :-)

 

Or you can donate bitcoin:

 

Thanks to TekLinks in Birmingham, AL, for providing colocation and bandwidth.

Page Rank

Fame

FOSS Force Best Blog--2013 Award

Recent posts

Recent comments

About this blog

I am Eric Hameleers, and this is where I think out loud.
More about me.

Search

My Favourites

Slackware

Calendar

August 2014
M T W T F S S
« Jul    
 123
45678910
11121314151617
18192021222324
25262728293031

RSS Alien's Slackware packages

RSS Alien's unofficial KDE Slackware packages

RSS Alien's multilib packages

Meta

initramfs unpacking failed: junk in compressed archive

Lilo, the 2.6.30.x kernel and Slackware on x86_64

Although Slackware -current still has a 2.6.29.x kernel, I am sure that people are experimenting with 2.6.30 kernels. In some cases, and only on Slackware for the x86_64 architecture so far, this may lead to boot problems. There is a problem that manifests itself when you are using an initial ramdisk with your kernel. The error message that you may see (unless it scrolls off your screen too fast) is this:

“initramfs unpacking failed: junk in compressed archive

As a result, your computer will fail to boot.

Now, what is happening here?

By default, LILO loads your initial ramdisk (/boot/initrd.img) into the first 15MB of memory. This circumvents a BIOS limitation for older systems (typically, computers produced before 2001).

However, the linux kernel has been growing in size, and there are combinations of kernel and initrd that will no longer fit into the first 15MB of memory. This leads to boot failure. Because of the fact that the kernel and initrd files are compressed archives, the rule of thumb is that these issues appear when the combined size of your kernel and initrd files is larger than 8 MB. The kernel will then overwrite part of the initrd in memory, leading to the above error message.

For computers with a x86_64 capable CPU, it is safe to assume that the computer has a BIOS without the 15MB limitation. In this case, you can add the following parameter to your “/etc/lilo.conf” file:

large-memory

This option instructs LILO to use a larger memory window when loading the initial ramdisk (do not forget to run the “lilo” command after making this change). It will cure the issue.

I think this should be added as a default option in the lilo.conf file generated by the liloconfig utility of slackware64.

Eric

Comments

Comment from Robby Workman
Posted: June 17, 2009 at 04:53

Ooh, thanks for writing this up. I had planned to note this in C&H anyway, so now if I forget, at least it’s somewhere that’s easy to find — I don’t want anyone else to go through the headache I experienced. :-)

Pingback from Runtux Blog » Blog Archive » LILO “junk in compressed archive” and Grub2 “out of disk” error
Posted: January 10, 2011 at 10:44

[...] for the error message found a blog entry that indicated a missing LILO option “large-memory” — which wasn’t the [...]

Write a comment