How To: Remaster Live-CD based on Hard Drive Installation
How To: Remaster Live-CD based on Hard Drive Installation
I had Puppy 1.0.3 installed on a dedicated partition (Type 2 HD install), and installed other pupGet/dotpup packages, and some utilities from VectorLinux and applications from God-knows-where, and customized WindowsManager to fit my taste. Now I want to make a live-CD to share with others. Here comes a simple script to make it happen. It does not have error-checking, but could be added easily if other people find it interesting (it shows how Puppy COULD be made). Don't know if it works under upcoming 1.0.4
Simply download the zip file and see if it helps
Simply download the zip file and see if it helps
- Attachments
-
- remaster-hd.zip
- Remaster live-CD based on HD Option 2 Installation
- (1.46 KiB) Downloaded 1485 times
- klhrevolutionist
- Posts: 1121
- Joined: Wed 08 Jun 2005, 10:09
give more detail
tell some of things your version has to offer!
is this more for experienced users, beginners, anybody???
is this more for experienced users, beginners, anybody???
Heaven is on the way, until then let's get the truth out!
Re: give more detail
It is not my version, it is YOURS
I was sharing the process/script to remaster a live-CD. how to use it is entirely up to you. After you install puppy on HD, you could customize it, by adding/deleting applications, rearrange things around, put up your icons and background.
and furthermore, the remaster process could be used to show how Linux boots and how live-CD works
you might need a bit Linux experience or willings to learn to find it interesting
I was sharing the process/script to remaster a live-CD. how to use it is entirely up to you. After you install puppy on HD, you could customize it, by adding/deleting applications, rearrange things around, put up your icons and background.
and furthermore, the remaster process could be used to show how Linux boots and how live-CD works
you might need a bit Linux experience or willings to learn to find it interesting
klhrevolutionist wrote:tell some of things your version has to offer!
is this more for experienced users, beginners, anybody???
First of all, WHY do we even need to remaster a live-CD when we have had all wonders of Puppy Linux?
Simple answer, because we can.
Surely we can come up many situations that we would be happier to have our own Linux distro to fit our unique requirements. however, if we were unable to do it as with other OS, we won't need this how-to.
OK, now let's dip into HOW to secion:
0. install Puppy Linux 1.0.3 to your hard disk, select option 2
0.5 add/remove applications as you like, if you are a Windows user, iceWM+XP theme are good (both are dotpup). keep it lean and mean
1. Find an Linux filesystem has 160MB free disk space, I am using /mnt/data, if you have something different, modify STAGE variable accordingly (Line 8 of remaster-hd.sh)
2. copy file goofy.16 from original CD to $STAGE, you can make your own boot image
cp /mnt/cdrom/goofy.16 /mnt/data
3. save remaster-hd.zip to $STAGE as well, and unzip it
unzip remaster-hd.zip
4. open a rxvt window, and execute remaster-hd.sh,
./remaster-hd.sh
5. if everyhing goes, you will end up an ISO file (myPuppy.iso) in /mnt/data/stage
6. burn it to CD or directly boot from it (if you are using VMWare)
7. a few things could go wrong, so watch out
a. if you don't have /boot/vmlinuz, you are not using Puppy HD option 2
b. if you have too many applications installed, initial ramdisk might be too small for you (I set it to 20MB, 9MB bigger than official 11MB), modify RAMDISKSIZE (Line 7)
c.
Simple answer, because we can.
Surely we can come up many situations that we would be happier to have our own Linux distro to fit our unique requirements. however, if we were unable to do it as with other OS, we won't need this how-to.
OK, now let's dip into HOW to secion:
0. install Puppy Linux 1.0.3 to your hard disk, select option 2
0.5 add/remove applications as you like, if you are a Windows user, iceWM+XP theme are good (both are dotpup). keep it lean and mean
1. Find an Linux filesystem has 160MB free disk space, I am using /mnt/data, if you have something different, modify STAGE variable accordingly (Line 8 of remaster-hd.sh)
2. copy file goofy.16 from original CD to $STAGE, you can make your own boot image
cp /mnt/cdrom/goofy.16 /mnt/data
3. save remaster-hd.zip to $STAGE as well, and unzip it
unzip remaster-hd.zip
4. open a rxvt window, and execute remaster-hd.sh,
./remaster-hd.sh
5. if everyhing goes, you will end up an ISO file (myPuppy.iso) in /mnt/data/stage
6. burn it to CD or directly boot from it (if you are using VMWare)
7. a few things could go wrong, so watch out
a. if you don't have /boot/vmlinuz, you are not using Puppy HD option 2
b. if you have too many applications installed, initial ramdisk might be too small for you (I set it to 20MB, 9MB bigger than official 11MB), modify RAMDISKSIZE (Line 7)
c.
/mnt/image is just a mount point for a loop device to mount image file, which is in /mnt/data/stage/, so "no space left on device" may very well be /mnt/data/stage, not /mnt/image. IF that is not the case, then file /mnt/data/stage/image has failed to mount to /mnt/image
as I mentioned, it is self-used script, no error-checking. you could a few pauses to make sure critical steps are OK
as I mentioned, it is self-used script, no error-checking. you could a few pauses to make sure critical steps are OK
Anonymous wrote:a questition to the script: What does /mnt/image means und where should it be (on data, in mnt? I tried it with puppy 1.0.4 and i became the message "no space left on device". So nothing happens. vabene
ok, i did it that way, but i got a lot of errors like could not create directory /mnt/image/root0/.dillo (nospace left on device) oder could not create ramdisksize .... /etc/fstab and so on. When i break the script i see in /mnt/image the directories tha whre build.
when i let it run til end i got errors and an iso-File. But it could not be the whole HD-Puppy i am using. II should be about 86 MB, myPuppy.iso has 70 MB.
Does your script put in all files from /root/my-applications and /root/my-documents? Or should i put the programs in /etc/ /usr and so on directly?
Thanx vabene
when i let it run til end i got errors and an iso-File. But it could not be the whole HD-Puppy i am using. II should be about 86 MB, myPuppy.iso has 70 MB.
Does your script put in all files from /root/my-applications and /root/my-documents? Or should i put the programs in /etc/ /usr and so on directly?
Thanx vabene
let me take a wild guess without seeing what it going on
you have installed many packages in /root/* and it is bigger than 20MB (du -k /root), which is about ramdisk size I put in. you can try to use bigger ramdisk_size, the first variable in the script, to something like RAMDISKSIZE=40960.
basically, if you break about link 107, before making image.gz, and check /mnt/image (df -k |grep image), you will see ramdisk used, make sure your RAMDISKSIZE is bigger than that.
Thanks
you have installed many packages in /root/* and it is bigger than 20MB (du -k /root), which is about ramdisk size I put in. you can try to use bigger ramdisk_size, the first variable in the script, to something like RAMDISKSIZE=40960.
basically, if you break about link 107, before making image.gz, and check /mnt/image (df -k |grep image), you will see ramdisk used, make sure your RAMDISKSIZE is bigger than that.
Thanks
Anonymous wrote:ok, i did it that way, but i got a lot of errors like could not create directory /mnt/image/root0/.dillo (nospace left on device) oder could not create ramdisksize .... /etc/fstab and so on. When i break the script i see in /mnt/image the directories tha whre build.
when i let it run til end i got errors and an iso-File. But it could not be the whole HD-Puppy i am using. II should be about 86 MB, myPuppy.iso has 70 MB.
Does your script put in all files from /root/my-applications and /root/my-documents? Or should i put the programs in /etc/ /usr and so on directly?
Thanx vabene
drj,
Your script works nice, the only problem I have is when I use the live-cd in another computer, when booting it looks for the pup101 file to be on a particular partition and Sometimes that partition doesn't exest. If it's not there it displays the red message about not being able to save stuff. Do you know of a work-around for this?
thanks
Your script works nice, the only problem I have is when I use the live-cd in another computer, when booting it looks for the pup101 file to be on a particular partition and Sometimes that partition doesn't exest. If it's not there it displays the red message about not being able to save stuff. Do you know of a work-around for this?
thanks
It is a designed feature, not bug :>
If you are comfortable with bash scripting, you can remodify /etc/rc.d/rc.sysinit and comment it out.
If you are comfortable with bash scripting, you can remodify /etc/rc.d/rc.sysinit and comment it out.
kirk wrote:drj,
Your script works nice, the only problem I have is when I use the live-cd in another computer, when booting it looks for the pup101 file to be on a particular partition and Sometimes that partition doesn't exest. If it's not there it displays the red message about not being able to save stuff. Do you know of a work-around for this?
thanks
-
- Posts: 5464
- Joined: Fri 10 Jun 2005, 05:12
- Location: Australia
Thanks drj,
Once I made RAMDISKSIZE=40960 as you suggested, your script works with my 1.0.4 HD install.
Now that the compressed files have been created, I want to boot Puppy from these files located on my hard drive, like an Option 1 HD install.
Lilo boots the image.gz file just fine, but then usr_cramfs can't be located, so I can only get to the commandline.
Here is the relevant section in my lilo.conf -
image=/bootpup/vmlinuz
root=/dev/ram0
label="PuppyRAM"
initrd=/bootpup/image.gz
append="acpi=off PFILE=no ramdisk_size=40960"
read-only
Notice that I need to append "ramdisk_size=40960", and I prefer to not use a pupfile.
I have succeeded in booting this way before, but only with a PuppyUnleashed version which has a large image.gz and NO usr_cramfs.
So ... would it be possible to modify your script so that like PuppyUnleashed's "createpuppy" script it creates a large image.gz without usr_cramfs?
Or ... is it easy to change something in the startup sequence so that usr_cramfs can be found?
And something interesting to note - the first time I used your script I got one error message about not being able to access "/sbin/init_ORIG". My hard drive installation does not contain this file, nor does the PuppyUnleashed CD from which it was installed, but the "stock" Puppy1.0.4 does contain this file. I copied this file across to my hard drive install, re-ran your script and then there were no error messages. But the end result seemed no different.
Craig S
Once I made RAMDISKSIZE=40960 as you suggested, your script works with my 1.0.4 HD install.
Now that the compressed files have been created, I want to boot Puppy from these files located on my hard drive, like an Option 1 HD install.
Lilo boots the image.gz file just fine, but then usr_cramfs can't be located, so I can only get to the commandline.
Here is the relevant section in my lilo.conf -
image=/bootpup/vmlinuz
root=/dev/ram0
label="PuppyRAM"
initrd=/bootpup/image.gz
append="acpi=off PFILE=no ramdisk_size=40960"
read-only
Notice that I need to append "ramdisk_size=40960", and I prefer to not use a pupfile.
I have succeeded in booting this way before, but only with a PuppyUnleashed version which has a large image.gz and NO usr_cramfs.
So ... would it be possible to modify your script so that like PuppyUnleashed's "createpuppy" script it creates a large image.gz without usr_cramfs?
Or ... is it easy to change something in the startup sequence so that usr_cramfs can be found?
And something interesting to note - the first time I used your script I got one error message about not being able to access "/sbin/init_ORIG". My hard drive installation does not contain this file, nor does the PuppyUnleashed CD from which it was installed, but the "stock" Puppy1.0.4 does contain this file. I copied this file across to my hard drive install, re-ran your script and then there were no error messages. But the end result seemed no different.
Craig S