LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Merge INITRD images in Slack12 ?? (https://www.linuxquestions.org/questions/slackware-14/merge-initrd-images-in-slack12-569642/)

orbit 07-15-2007 10:05 PM

Merge INITRD images in Slack12 ??
 
Hello,

Using Slackware 12, I am trying to merge a bootsplash.org created (initrd.splash) file, with the standard initrd.gz slackware kernel startup file?

As yet I have not had any success in this and was wondering if anyone could lead me in a direction to achieve this?

========================================================
History;
-------
I had previously created an initrd.splash file, patched my kernel, configured startup progressbar scripts and added to lilo all necessary commands needed to have a lovely Slackware12 startup bootsplash screen.

However because of another issue, documented here;
I was forced to create a system initrd.gz file to fix my system.

=========================================================


My question is; how can I incorporate the old initrd.splash file with the new initrd.gz file; thereby enabling the system to work correctly AND have the bootsplash enabled?

Lilo only seems to allow the use of one initrd file at a time, so I am unable to simply load both.

Any assistance would be gratefully appreciated

Regards

Orbit

gnashley 07-16-2007 02:39 AM

A long time ago I was working on getting bootsplash going and ran into the same problem. I believe it was this that did it:
cat initrd.splash >> initrd.gz

This appends the splash image to the end of the initrd.

gnashley 07-16-2007 02:49 AM

A long time ago I was working on getting bootsplash going and ran into the same problem. I believe it was this that did it:
cat initrd.splash >> initrd.gz

This appends the splash image to the end of the initrd.

orbit 07-16-2007 06:14 PM

Hi gnashley, thank you very much for your response.

I have run the cat initrd.splash >> initrd.gz command and updated lilo;
It partially worked; (the splashscreen appeared), but then the system kernel panicked (unable to load reiserfs?).

I tried the reverse, cat initrd.gz >> initrd.splash to see if it would make any difference, but same result :(

Do you have any idea why this is happening?
Also, would you know if there is any way I can extract the initrd.splash file and place the contents of it into the /boot/initrd-tree, and remake the initrd.gz with the new contents?

I think this is close to success, but I am not sure how to proceed.

Your assistance would be gratefully received.

Regards

Orbit

arubin 07-17-2007 05:42 AM

One way round it might be to re-compile the kernel with support of your disc format built in so getting around the need for initrd.gz. I suppose there are good reasons why the standard non-huge kermels do not include it but I do not understand them and one of the first things I did after installation was recompile the kernel with ext3 built in.

orbit 07-17-2007 10:04 PM

Hi Arubin,

Ok, I've tried your recomple suggestion now.
The result; it re-visited the original problem of not being able to access the root filesystem through KDE /media, (which was why I had to make the initrd.gz file in the first place).

I've since had to revert back to the standard generic kernel/initrd.gz combination to get /media working again.

This is a very frustrating glitch, can anyone offer any suggestions as to how it is possible to run the standard slackware initrd.gz (to enable /media access), and be able to incorporate the initrd.splash file to have a nice bootup splashscreen?

Help will be gratefully appreciated.

Regards

Orbit

gnashley 07-18-2007 02:25 AM

Accessing /media with KDE has nothing to do with either bootsplash or your initrd. If you are seeing the bootsplash image, then that part is working okay. If your initrd needs special content like modules needed for the root filesystem then that's another matter.
Using bootsplash requires you to modify the bootscripts for proper functioning. There are many posts here about setting it up properly and the gentoo forums may also help you.

orbit 07-18-2007 06:19 PM

Hi gnashley,

Quote:

Accessing /media with KDE has nothing to do with either bootsplash or your initrd.
Actually it does, Slack12 seems to have a small glitch in some systems accessing /media through KDE, this was resolved by changing to the generic kernel and creating an initrd.gz, as documented here

This fixes the /media issue, but creates the new problem of not (now) being able to use the existing, fully working bootsplash (initrd.splash), as lilo will only allow the use of one initrd at a time.

So there are two options:

1. How can the working initrd.splash file be extracted into it's component files?
This would enable me to inject it's contents into my /boot/initrd-tree filesystem and then recreate the initrd.gz file with the bootsplash incorporated.

OR

2. How can I inject the reiserfs module into the working initrd.splash file?


Either method should enable the system to work correctly and have bootsplash enabled.

Can anybody please assist?

Regards

Orbit

T3slider 07-18-2007 08:58 PM

You could compile your own kernel and all of your problems would be solved (ie you would not need to depend on an initrd.gz file to boot up so you could use the initrd.splash instead to get that nice eye-candy). I personally think the discussion is kind of stupid, but I guess that's just me. I don't tend to see my system booting up every three seconds and it doesn't take that long, so I really don't care what I'm looking at.

randomsel 07-18-2007 10:22 PM

Ah, but it's the little details that make Slack great. Maybe a server wouldn't reboot so much, but my laptop does, so a little eye-candy is very nice.

gnashley 07-19-2007 04:27 AM

I don't use bootsplash myself, but I did work on getting it going once and had the same problem that I was needing/wanting to use an initrd to boot. After a lot of searching I found a post somewhere that suggested what I did.
If I understand rightly, the initrd.spash is just raw image information which is loaded into the initrd space in RAM(initrd files can be anything). It is expected to be the last data in the initrd, hence it should concatenated onto whatever existing initrd file. I forget now whether before or after gzipping. But it seems to me that you nearly have it working. Try unzipping the initrd.gz and catting the initrd.splash to that and then gzip the whole thing and see if it works.

orbit 07-22-2007 06:39 PM

Hi gnashley,

Thanks for your response, your idea sounds very promising, but as yet I have not been able to get it working correctly.
I was thinking that I might be inputting incorrect syntax.
(If I record what I have done, could you let me know if you see any obvious errors please).

What I have tried so far;

In a root shell, I copied the slackware /boot/initrd.gz file to my /build directory, and then changed to the /build directory.

then I typed 'gunzip initrd.gz' ;(this created the file /build/initrd).

then I typed 'cat initrd.splash >> initrd' ;(this made the initrd bigger so I know it did something).

then I typed 'gzip initrd' ;(this made a new /build/initrd.gz)

After that I backed up my known working, standard slackware initrd.gz file, and copied the new /build/initrd.gz file to /boot/initrd.gz (overwriting the original).

Finally I ran 'lilo -v'

On the next reboot, the system did not display the splash screen, and then the system failed to boot with a FS warning ;(I read that as reiserfs did not load correctly).

Hmmm??

Can you see any errors in what I typed? Do you think I need to do anything differently?

I'll look forward to your response.

Regards

Orbit

manwichmakesameal 07-22-2007 07:47 PM

Try taking the original initrd.splash and the original initrd.gz and do
Code:

root@computer: zcat initrd.gz >> initrd.splash
I know you said
Quote:

I tried the reverse, cat initrd.gz >> initrd.splash to see if it would make any difference, but same result
but maybe you needed to use zcat.

orbit 07-23-2007 12:08 AM

Hi manwichmakesameal,

Thanks for your response, I tried your suggestion of:
'zcat initrd.gz >> initrd.splash'

After a lilo update and a reboot, the system displayed a splash screen (good) and did actually load all the way into the desktop (better), but once in KDE, the system could not access the slackware partition again through /media; (the original problem and reason I had to create the initrd.gz in the first place).

This is truly bizarre?

What I am doing now is attacking this from another direction;
I've downloaded the 2.6.22.1 kernel sources and am in the process of compiling fresh to see whether I can get the system to access the root filesystem without the need for an initrd.gz file.
If the system works on the new kernel without the initrd.gz, it will be a snap to simply reload the initrd.splash file and have everything happy again.

I will post back with results ....

Cheers

Orbit

orbit 07-23-2007 12:59 AM

Ok, I have tried the 2.6.22.1 sources, but unfortunately the bootsplash patch from bootsplash.org is only for kernel 2.6.21.* and does not apply correctly on the newer kernel.

I won't be able to proceed with this part of the process until bootsplash.org release a newer patch.


Can anyone offer any other suggestions as to what can be done to fix this initrd.gz/initrd.splash issue?

I'll welcome any positive input as this is starting to drive me nuts.

Regards

Orbit


All times are GMT -5. The time now is 11:21 AM.