The methodology I followed is derivative of that described by woodenshoe here and by MU here. The sequence was as follows:
- Download the latest rpi-firmware from Git (see posts by woodenshoe and MU). That got me kernel version 3.18.8 plus associated modules.
- Write the zap6 image onto a micro-SD card (open a terminal box and use the dd command).
- Mount the boot partition on the micro-SD card and delete bootcode.bin, kernel.img and start.elf.
- From the rpi-firmware master, copy the following files to the boot partition: bootcode.bin, COPYING.linux, fixup_cd.dat, fixup.dat, fixup_x.dat, kernel7.img, kernel.img, LICENCE.broadcom, Module7.symvers, Module.symvers, README.md, start_cd.elf, start.elf and start_x.elf. (This is probably overkill, working out a minimal set is for later. However previous experiments using sub-sets of these files did not work).
- Edit config.txt. I added to the start of the file a device_tree= command (i.e. no device tree). My understanding is this tells bootcode.bin to boot up the old-fashioned way and not to go looking for .dtb files.
- Unmount the boot partition and mount the Puppy partition.
- From the rpi-firmware master, copy the 3.18.8+ and 3.18.8-v7+ directories to lib/modules (so that they co-reside with the original 3.1.9-zapu-cutdown modules).
- Put the micro-SD card in the RPi2 and boot-up.
- If you have a system, be patient, allow the system time to execute first-boot procedures and then run through the usual Puppy startup tasks of choosing locale, timezone, keyboard layout etc.
- Once all is stable, open a terminal box and type depmod.
- From the menu, go to System -> Info -> Hardinfo hardware information and look at the summary. I was told Puppy had 949Mb of RAM. That seems to imply that 64Mb was allocated to the GPU by default.