Revision [27498]
This is an old revision of InstallationFrugal made by coolpup on 2013-05-21 08:50:57.
GNU/Linux frugal installation with copy-to-R.A.M. mode system operation
A frugal installation is performed by extracting the contents of the container file (either ISO or ZIP) to normally one, i.e. the same, directory.
Let that desired partition be known as the target partition since one is aiming to install to it. That partition may be located on:
- either an external device, e.g. a flash memory drive (often erroneously referred to as a memory stick)
- or, an internal device, usually a hard disk drive (H.D.D.)
Therefore, the target device is the device which contains the partition that one aims to install to, such as an external flash memory drive or an internal hard disk drive. The minimum, nominal storage capacity for a flash memory drive is 256MB.
Copy-to-R.A.M. mode system operation refers to how the computer operating system is able to create a temporary environment whereby it reads and writes to its complete file-system residing entirely within random access memory (R.A.M.)
Operating systems which have copy-to-R.A.M. mode:
- Puppy with pfix=copy
WARNING: If the target partition contains any important files make a minimum of two copies of important files, where each copy is located on a separate partition on a separate device, because they will be destroyed whenever the target partition is formatted.
IMPORTANT: determine the correct device name (sdX) of the target device to work on, via the command-line interface:
lsblk
The following procedure assumes that one is running Puppy Linux. However, the same procedure can be followed within any Linux distribution. If one wishes to use Microsoft Windows go to Appendix below.
Step 1 - PARTITIONING
- this step is optional, i.e. only proceed if one does not wish to keep the existing partition structure on the target drive
- install the latest available versions of: bzip2, grep, parted, tar
- un-mount the target device X:
umount /dev/sdX
- create a partition table (disklabel) on the target device X {WARNING: access to all existing files on the target device will be lost}:
/usr/sbin/parted /dev/sdX mklabel gpt && /usr/sbin/parted -l
- create a partition (partitioning) on the target device X (where set 1 defines partition 1 of device X to be the boot partition; and in this example just one partition is created):
/usr/sbin/parted -a opt /dev/sdX mkpart primary ext4 8 100% set 1 boot on && /usr/sbin/parted /dev/sdX disk_set pmbr_boot on && /usr/sbin/parted /dev/sdX set 1 legacy_boot on print
Step 2 - FORMATTING
- this step is optional, i.e. only proceed if one does not wish to keep the existing file-system structure on the target drive
- create a file-system (formatting) on the partition(s) of the target device X {WARNING: all data on the target partition will be over-written (destroyed)}:
- for FAT16 file-system creation {requires a recent version of dosfstools}:
mkdosfs -v -n PUPPY -F 16 /dev/sdXY
Step 3 - BOOT-LOADER INSTALLATION
- install a recent version of the boot-loader SYSLINUX to one's actual operating system in use:
- installing this package merely makes available the SYSLINUX files for one's use; it does not replace any of the existing boot-loader files which one's actual operating system makes use of for booting (starting-up) itself
- initiating the following procedure to install the boot-loader to the target device requires one to perform it to completion; this ensures that no remnants of older SYSLINUX versions remain on the target device
- install the boot-loader c32 modules to the target device X at only one of these locations /dev/sdXY/{boot/syslinux,syslinux}:
cp -af /usr/lib/syslinux/{libcom32,libutil,linux,menu}.c32 /dev/sdXY/boot/syslinux/
cp -af /usr/lib/syslinux/{libcom32,libutil,linux,menu}.c32 /dev/sdXY/syslinux/
- those four modules listed are the minimum required; if extra functionality is required, e.g. chain.c32, vesamenu.c32, as determined by the contents of syslinux.cfg, copy the extra, relevant files from /usr/lib/syslinux
- install the boot-loader boot sector code to the target device X:
/bin/dd bs=440 conv=notrunc count=1 if=/usr/lib/syslinux/gptmbr.bin of=/dev/sdX && sync
- install the boot-loader configuration file syslinux.cfg to the target device X by copying it to either /boot/syslinux or /syslinux
- this file will need editing if more than one Puppy version has been installed
- the pkeys parameter will need to be configured for one's geographical location
- install the boot-loader system file ldlinux.sys to the target device X, using the installers extlinux or syslinux:
- for EXT4 file-systems, ensuring that it is mounted first:
/bin/mount /dev/sdXY /mnt/sdXY && /bin/mkdir -p /mnt/sdXY/boot && /sbin/extlinux -i -s /mnt/sdXY/boot && sync
- for FAT file-systems:
/bin/mkdir -p /mnt/sdXY/boot && /usr/bin/syslinux --directory /boot -i -s /dev/sdXY && sync
- removing ldlinux.sys without formatting
- the ldlinux.sys file has the immutable attribute set, which prevents it from being deleted or overwritten; this is because the sector location of the file must not change or else syslinux has to be re-installed; to remove it, run:
chattr -i /boot/syslinux/ldlinux.sys && rm -f /boot/syslinux/ldlinux.sys
Step 4 - SYSTEM INSTALLATION
- mount the target device
- mount the Puppy ISO (or ZIP) file by clicking on it
- copy from the ISO (or ZIP) directory to the target device either all the files, or, just these essential ones: vmlinuz, initrd.gz, and all those with the extension .sfs (if more than one Puppy version is to be installed ensure that they are each contained within their own directory)
- follow the additional instructions in Appendix 3 at LiveDVD
- re-boot the computer with the flash memory device connected
- when shutting down the system there may be the option to create a personal storage (pupsave) file which must be chosen if personal settings and configuration are to be saved
Appendix
Installation to any external device, from within Microsoft Windows
- format the drive or partition to FAT32
- download and extract the latest syslinux .zip file to the C drive, i.e. C:\syslinux
- go to directory C:\syslinux\win32\:
cd C:\syslinux\win32\
- with administrator privileges run the syslinux command to make the target drive bootable: (where X is the drive letter for the target drive or partition)
syslinux.exe -m -a X:
- open the Puppy ISO (or ZIP) file to view its contents, using e.g. 7-zip, (it is important that the original file names be kept)
- copy to the target device the files: vmlinuz, initrd.gz, and all those with the extensions .sfs
- download this sample boot-loader configuration file syslinux.cfg (for flash memory drives only} and place it on the target device
- re-boot the computer with the flash memory device connected
Installation to any Microsoft Windows partition and using GRUBforDOS as boot-loader
- Installing the boot-loader to the internal hard disk drive (where Microsoft Windows resides)
- Installing the boot-loader to an external drive
When making an installation to an internal H.D.D. with an existing operating system, one has the option to either allow that operating system to remain or be removed. Only remove the existing operating system if the computer is more than 3 years old since most computer manufacturers cease to provide new B.I.O.S. versions after that time. If the intention is to remove the existing operating system, regardless of computer age, then ensure to check for and install any B.I.O.S. updates first.
If the Puppy files are to be appended, by making a frugal installation only of Puppy, then this would involve one of the following:
- either making a new partition for Puppy (not recommended)
- or, using an existing partition for Puppy (recommended)
One can place a frugal installation within a pre-existing Windows installation. The save file, although itself is comprised of a Linux file-system, may reside on a F.A.T. or N.T.F.S. partition; which is why a frugal installation is also called a "co-exist" installation. A full hard disk drive installation on a F.A.T. partition is not possible because F.A.T. partitions do not support Linux symbolic links.
There is an option to install from within Microsoft Windows using the relevant file from here: http://www.mediafire.com/?5ah0d0rzcz5cc
How to run Puppy Linux from a flash memory drive on any computer already running
Absent internal H.D.D.
- older Puppy versions will not boot from an external flash memory drive if the internal H.D.D. has been removed:
Posted on 23 Apr 2011, 22:54 by perthie USB Install Issue? I notice that you still haven't commented on this issue. A machine missing an internal hard drive can no longer be booted from a flash drive. The new search procedure fails to find the sfs file on the flash drive. Posted on 24 Apr 2011, 8:20 by BarryK Re no boot usb I have written it down in my to-do list.
Using GRUBforDOS boot-loader for all common file-systems
- install the latest available version of helper program Grub4DosConfig
- install the boot code to the M.B.R. of the target device X:
bootlace.com --time-out=0 /dev/sdX
- install the boot system file grldr by placing it on the target device
- install the boot configuration file menu.lst, or update an existing one, by using Grub4DosConfig: Menu > System > Grub4Dos
- follow the additional instructions in Appendix 3 at LiveDVD