Help answer threads with 0 replies.
Go Back > Forums > Linux Forums > Linux - Distributions > Puppy
User Name
Puppy This forum is for the discussion of Puppy Linux.


  Search this Thread
Old 06-23-2006, 09:55 PM   #1
Registered: Nov 2003
Posts: 122

Rep: Reputation: 17
How can I edit initrd.gz in puppy 2.0x?

I need to change one letter in a file, remasterpup2, in initrd.gz in 2.00 and/or 2.01. Like my Mandriva 2005, puppy 2.0x will not burn a good iso, though 1.06 did fine. I finally traced it to tao mode, dao works fine. In Mandriva, I simply changed k3b write mode to DAO, and saved my settings.

In puppy, it was necessary to edit burniso2cd script file so each cdrecord had a -dao after it.

I chose to run remasterpup2 to save the editing. OOPS!!! remasterpup2 script file has -tao after cdrecord, and remasterpup2 is located in initrd.gz. So, no editing while running puppy. Thus, I did not get a good iso burn on the cd.

I opened the iso file as loopback file in Mandriva, and can see the basic file contents, but attempts to extract initrd.gz have failed.

Any ideas how to open initrd.gz? It looks so easy, so it may be a standard idiot mistake. Thanks.
Old 06-24-2006, 12:46 AM   #2
Registered: Mar 2006
Distribution: BackTrack, RHEL, FC, CentOS, IPCop, Ubuntu, 64Studio, Elive, Dream Linux, Trix Box
Posts: 310

Rep: Reputation: 30
Hello irlandes,

To edit initrd.gz in linux you will have to:-

gunzip initrd.gz

If you have an .img extenstion:-

gunzip -S .img initrd-2.6.X.img

cpio -imdF initrd

And you get the contents of initrd which you can change to the content of your heart!

Hope, this helps you


Last edited by imagineers7; 11-12-2006 at 03:38 AM.
Old 06-24-2006, 05:12 AM   #3
Crash Test Puppy
Registered: Jun 2006
Location: Midwestern USA
Distribution: Puppy Linux
Posts: 21

Rep: Reputation: 15
Talking An additional suggestion...

If you run into further problems with editing the file you can also try asking in the main Puppy forum in the user or bugs forum - lots of people experienced in working with and remastering Puppy there. Also when you burn the CD from your finished image remember to use the lowest speed setting possible - I use a program called BurnCDCC from Terrabyte which will allow speed settings as low as 4x. The program is a free download and does nothing but burn ISO's to disc. If you use MS Windows at all it by far the simplest way to make bootable discs.
Old 06-24-2006, 07:10 PM   #4
Registered: Nov 2003
Posts: 122

Original Poster
Rep: Reputation: 17
Thanks for tips...

I have been working with some vigor on this problem, from several directions. If I can't find other help that works, I will go back to puppy forums. The problem is those forums seem to take turns being dead, seriously. This week two of the three were dead at the same time. This tends to discourage me a bit.

I have learned my problem with initrd.gz is the loopback mounted file is READ-ONLY. So, though I can copy initrd.gz and gunzip does extract it, until I can figure out how to put it back, it is a waste of time. It just seems there should be a way to change a loopback file to write, I even mounted it once with a command I saw via google, ...loop,rw... and it didn't object, but it also did not mount as write mode.

I have learned that this problem relates to kernel problems. Project manager Schillig has been a bit hot that the distros change kernel set up with no regard for cdrecord, then whine cdrecord is broke.

(He seems to be a very dedicated man, but he lost a lot of points with me when he claimed that SuSe and others are violating the GPL by making "illegal forks", whatever that means. There is no such thing as illegal forks in the GPL. That is the whole point of GPL, you can do almost whatever you wish, as long as you give back the source. As best as I could tell, he thought he could unilaterally add his own conditions to the GPL and they were binding, but I think the GPL by its nature prohibits unilateral changes like that.)

I put burniso2cd and cdrecord from puppy 1.06, which works, in puppy 2.01, and it also failed. I put burniso2cd and cdrecord from puppy 2.00 in puppy 1.06 and it burned fine.

I just downloaded the lastest alpha for cdrtools, and will see when I go home later tonight if it works.

Still, for me, the best thing is to get that one letter changed in remasterpup2. Not only will it work, but I will have learned something useful which will be useful to me in the future.
As far as Windows, I can burn iso's fine with Roxio. I had to for many months, because Mandriva LE 2005 has exactly the same problem, and until this week I did not realize I merely had to change K3B write mode to -dao to make it work. As soon as I found out about puppy, and having the one CD writer free with it, I started using puppy 1.06 for iso burning.

I simply have developed a negative attitude for MS, not only for 20+ years of their software problems, but also the legal restrictions they have on software. I saw one too many schools and small businesses being fined almost out of existence, because a uninformed teacher or employee did not realize the legal consequences of using their "own" software in the school or workplace. Enough already.

That is my personal opinion, and clearly other intelligent people will have a different opinion, and should react based on their personal opinion as I have done.
Thanks to all for tips. I will try to give feedback if I get one of two solutions -- alpha cdrecord works, or I learn how to write to that loopback file. I have seen a lot of people with cdrecord problems, so if I can, will try to spread any solution.
Old 06-25-2006, 07:26 AM   #5
Crash Test Puppy
Registered: Jun 2006
Location: Midwestern USA
Distribution: Puppy Linux
Posts: 21

Rep: Reputation: 15
Exclamation Forum Problems at Puppy Linux

You are correct about our having had problems with the main Puppy forum and others going dead. There have according to my understanding been server issues primarily dealing with size and capacity. That is one of the main reasons that we arranged for this forum to be set up! So that there is more than one place for people to go with a question or problem. Hopefully the problems are behind us now. So visit us when you can - we'll look forward to seeing you!
Old 06-25-2006, 08:56 AM   #6
LQ Guru
Registered: Aug 2001
Location: Fargo, ND
Distribution: SuSE AMD64
Posts: 15,733

Rep: Reputation: 677Reputation: 677Reputation: 677Reputation: 677Reputation: 677Reputation: 677
What kind of file is your initrd. If it is a compressed cpio archive, then you can do what imgineer7 suggested:

jschiwal@hpamd64:~/temp2> mkdir ~/temp2
jschiwal@hpamd64:~/temp2> cd ~/temp2
jschiwal@hpamd64:~/temp2> zcat /boot/initrd | cpio -idv

Now the directory contains the files from initrd.
You can recreate the initrd file with:
find . -print -depth | cpio -ov | gzip >initrd

If your problem is that you need to change the initrd file that is contained in an iso image of a live distro, then you need to create a new iso image. There is now way to edit the contents of an iso9660 image because the filesystem itself is readonly.

Last edited by jschiwal; 06-25-2006 at 09:16 AM.
Old 06-25-2006, 05:46 PM   #7
Nathan F
Grafpup Developer
Registered: Jun 2006
Location: Houston, TX
Distribution: Grafpup, Dyne::Bolic
Posts: 63

Rep: Reputation: 15
Also remeber that the entire filesystem is writable by way of unionfs in Puppy2, so you can edit burniso2cd script and use the edited version without doing a remaster. The same applies to the remasterpup2 script, so it should be possible to alter the script and run it to make an iso with the changed version of the burniso2cd script in it.

Think of the filesystem in Puppy as a bunch of layers, with initrd at the bottom and your persistent storage file on the top layer. Any file written to the top layer will overwrite a file by the same name down below in another layer.

And if all else fails either burn directly from the command line or use Graveman, which is very easy for even a noob.
Old 06-26-2006, 09:13 PM   #8
Registered: Nov 2003
Posts: 122

Original Poster
Rep: Reputation: 17
Find doesn't!!!!

I have spent a lot of time and energy chasing a false trail. Find told me the only place remasterpup2 existed was in intrd.gz. Accidentally, I found it in /usr/sbin where it can easily be modified to my heart's content. Perhaps find has different parameters in puppy?

So, initrd.gz is not a problem at all. But as far as advice how to extract and build it again via usual commands, that is not possible since that is a read-only system, period. I can move it out, but can't put it back.

Now that I have found where it really is, yes, if I can burn an iso (my original problem after all) I can indeed remaster.

I finally set in remasterpup2, cdrecord to -dao and had to add -tsize=nnnns. Since my machine does not have bashdiff's I had to run it to the point of burning, then close the box, run mkisofs -R -q -print-size to get the tsize, then manually edit the tsize=nnnns, then run it again. Yes, I could play with commands and simply continue where I stopped, but it was more efficient the other way. So, I got my remastered version with burniso2cd modified to run -dao and it does indeed produce perfect iso's.

My next project on this is to modify remasterpup2 so it does not try to burn an iso. Cdrecord is just too put-off by kernel padding to be bothering with it at all. I can burn the CD a number of ways, including 1.06 and kernel 2.4 if I must, or K3b in Mandriva. Or, frankly, while still on puppy2.01-modified, since that works now.

I am going to download Bashdiff's and see if I can build that -tsize=nnnns with strcat and/or strcopy, to make it fully automatic. But, that would not be a general fix. I think the original create iso file is the best solution to what is apparently a well-known conflict between cdrecord and the 2.6 kernel. Why bother with it for a not so common remastering?

On the other comment, if you mean I can edit those script files without remastering, I did that several times, but after while it got to be a nuisance to re-edit it every time.

Frankly, once I learned how to set K3b to DAO, and it worked, I really have no need for puppy at this time. However, it sort of "pulled my string" so I worked on it a lot, sort of like some work on the New York Times Puzzles. I did learn a lot.

Old 07-02-2006, 04:53 PM   #9
LQ Newbie
Registered: Jul 2006
Location: NW Florida, USA
Distribution: Debian, Puppy
Posts: 9

Rep: Reputation: 1
Thumbs up bugs fixed

Good news! On the Puppy Developer News page on June 27, 2006 our main developer announced that the changes you're manually implementing are going to be in future releases as well.
Old 07-02-2006, 06:12 PM   #10
Registered: Nov 2003
Posts: 122

Original Poster
Rep: Reputation: 17
Um, thanks but...

In my opinion, those minor fixes are already probably obsolete. I am going to try to implement cdrdao for burniso2cd and remasterpup2. cdrdao is a bit larger, (539K v. 314K?) which I realize is a major problem, but...

Of course, if we can get rid of cdrecord, that will minimize the increase.

I hope you guys tested those changes on your machines. I have the grand total of one machine, with a TEAC W224-E, and that one machine does not really make for quality testing of changes.

Also, I just discovered by accident that Graveman v. 0.3.9 was changed some time ago to use cdrdao for iso copies, we know why, don't we???

So, I will be trying to make my own re-master with that, since it has the same compile reqs as 3.8

The problem, though, is that while my rewrites may have made it possible to burn iso's on more writers, it still does not cope with multisession which has been such a major part of puppy for many users.

Wish me luck, and thanks for note.


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Computer OK for Puppy Linux??? mhelliwell General 11 02-03-2008 12:46 PM
Puppy or DSL? colinstu Linux - General 13 12-28-2006 10:12 PM
Using Wine with Puppy Gir Draxon Linux - Software 2 12-07-2006 02:45 AM
LXer: Puppy Power LXer Syndicated Linux News 0 05-31-2006 08:54 PM
Puppy or DSL? colinstu Linux - Software 3 08-11-2005 01:39 PM > Forums > Linux Forums > Linux - Distributions > Puppy

All times are GMT -5. The time now is 04:15 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration