Friday, November 2, 2007

Howto create Bootable USB Pendrive for Puppy Linux

How to create an bootable Puppy Linux for USB Pen drive:
--------------------------------------------------------------------------------------------------
I tried this step for my IGB Transcend USB pen drive. Hope it will work in other brands also.
Download puppy-3.00-seamonkey.iso from puppylinux.org
Here the bolded words are commands.
login as a super user in your host linux
Insert your pendrive.

Mount d pen drive:
--------------------------------
#mkdir /mnt/usb
#mount -t vfat /dev/sdb1 /mnt/usb/
If you want any backup of your pendrive, take a copy from it.

Fdisk:
----------
# Now type fdisk -l to list available drives/partitions (note which device is your flash drive Example: /dev/sdb). Replace all instances of x with your flash drive letter. For example, if your flash drive is sdb, replace x with b.
# Type umount /dev/sdx1
# Type fdisk /dev/sdx

* type p to show the existing partition and d to delete it
* type p again to show any remaining partitions (if partitions exist, repeat the previous step)
* type n to make a new partition
* type p for primary partition
o type 1 to make this the first partition
o hit enter to use the default 1st cylinder
o type +750M to set the partition size
o type a to make this partition active
o type 1 to select partition 1
o type t to change the partition filesystem
o type 6 to select the fat16 file system
* type n to make another new partition
* type p for primary partition
o type 2 to make this the second partition
o hit enter to use the default cylinder
o hit enter again to use the default last cylinder
o type w to write the new partition table

# Type umount /dev/sdx1 to unmount the partition
# Type mkfs.vfat -F 16 -n usb /dev/sdx1 to format the first partition

"Alternately you can try mkfs.vfat -F 32 -n usb /dev/sdx1 (doesn't always work)"

# Type umount /dev/sdx2 to ensure the partition is unmounted
# Type mkfs.ext2 -b 4096 -L casper-rw /dev/sdx2 to format the second partition
# Remove and Re-insert your flash drive
# Back at the terminal, type sudo apt-get install syslinux mtools [if you are using debian/ubuntu]
# Or you can install with yum install syslinux mtools [if you are using fedora]
# Type syslinux -sf /dev/sdx1

Copy the iso files in local directory:
------------------------------------------------------------
#mkdir puppy_temp
#mkdir puppy_usb
#mount -o loop puppy-3.00-seamonkey.iso puppy_temp
#cp -a puppy_temp/* puppy_usb

Note:: From this step, we have copied the content of the iso image into a new directory.so you can work on it. If you try to copy this data directly to the USB memory stick, it will not boot because we need to fix the position and the naming of the files. With the consolde opened, enter the following commands.

Boot file modification:
-------------------------------------
#cd puppy_usb/
#mv isolinux.bin syslinux.bin
#mv isolinux.cfg syslinux.cfg
cd ..

Now mount the pendrive again and copy the puppy_usb directory files to your pen drive.
#mount -t vfat /dev/sdx1 /mnt/usb/
#cp -a puppy_usb/* /mnt/usb/
#umount /dev/sdx1


Make it bootable:
------------------------------
#syslinux /dev/sdx
Note:Ensured that you have installed syslinux. If you will get the error "command not find". Then you need to instal syslinux
Now reboot your computer, leaving the pen drive inserted; Modify the BIOS boot device and let the system ot to Puppy on the memory stick.

Hints for BIOS setting:
---------------------------------------
Reboot ur computer and press F2 for enter into BIOS setting. F2 may be varied in your pc. check the pc when it boot.
Once you entered the BIOS setting, come to "Boot sequence" option. Select the USB-HDD or USB-ZIP and move it for boot first. Means, set the highest priority.Now save it and reboot.
Play with Puppy!...