Page 1 of 1

HOWTO integrate Porteus into an existing Puppy installation

Posted: 14 Mar 2013, 08:41
by Payoon
Integration of Porteus into an existing Puppy Installation

Hi folks,
I don't know, wether that is helpful or known already, but for those of You, who have so far used Puppy Linux and are in the process of migrating to Porteus, here is a convenient way to install Porteus into an existing Puppy Linux frugal installation ( with the GRUB legacy bootloader ).
The reasons for doing that might be (like in my case) doing some unfinished work started in Puppy or to do something, that You know how to do in Puppy, but do not know yet in Porteus or to keep Puppy as a backup, just in the event that the "unthinkable" happens.
Also Puppy has some nice little .pets, that, can easily be converted to Porteus modules.
Some inspiration how the menu.lst should look like, I took from Ahau's article "INSTALL GRUB TO USB DRIVE" (thanks for that).

The tool to use is ISOMaster, which comes with most Puppy flavours.

Boot into Your Puppy (frugal) installation and go to the /mnt/home directory. There You create a folder of Your choice (here named /workbench ).

Extract the Porteus iso to the folder /workbench. As I mentioned above, ISOmaster will do the job.

The Puppy bootloader is legacy GRUB and can be found in /mnt/home/boot

Now the respective Porteus folders will be copied to were they belong. The folder /mnt/home/workbench/porteus to /mnt/home and the folder /mnt/home/workbench/boot/syslinux to /mnt/home/boot. The latter is the Puppy boot directory.

It can be done with a file manager or with the console.

Open the console and type the following commands:

cp -r /mnt/home/workbench/porteus /mnt/home
cp -r /mnt/home/workbench/boot/syslinux /mnt/home/boot

Now we have to add Porteus to the startmenu of GRUB.

Edit the menu.lst file in /mnt/home/boot/grub and add the following lines

title Porteus
root (hd0,0)
kernel /boot/syslinux/vmlinuz vga=791
initrd /boot/syslinux/initrd.xz

In my example Puppy is installed on the first hd in the first partition otherwise hd(0,0) has to be modified accordingly.

Very important: All the cheatcodes, that You want to add have to be kernel line of the above (in menu.lst) and not in porteus.cfg.
As an example here my menu.lst:
# GRUB configuration file '/boot/grub/menu.lst'.
# generated by 'grubconfig'. Mon Mar 11 18:43:12 2013
# The backup copy of the MBR for drive '/dev/sda' is
# here '/boot/grub/mbr.sda.26102'. You can restore it like this.
# dd if=/boot/grub/mbr.sda.26102 of=/dev/sda bs=512 count=1
# Start GRUB global section
timeout 30
color light-gray/blue black/light-gray
# End GRUB global section
# Linux bootable partition config begins
title Puppy Linux 528 frugal in sda1 dir ironpuppy528
rootnoverify (hd0,0)
kernel /ironpuppy528/vmlinuz pmedia=atahd psubdir=ironpuppy528 pfix=copy
initrd /ironpuppy528/initrd.gz
# Linux bootable partition config ends
# Linux bootable partition config begins
title Puppy Linux 528 frugal in sda1 dir tinypuppy528
rootnoverify (hd0,0)
kernel /tinypuppy528/vmlinuz pmedia=atahd psubdir=tinypuppy528 pfix=copy
initrd /tinypuppy528/initrd.gz
# Linux bootable partition config ends
title Porteus 2.0 32bit with LXDE
root (hd0,0)
kernel /boot/syslinux/vmlinuz vga=791 lxde changes=EXIT:/mnt/sda1/porteus/ copy2ram kmap=de login=root
initrd /boot/syslinux/initrd.xz


The extraction folder (here workbench) can now be removed and stored elsewhere as a backup.
Reboot and have fun with double frugal.