Showing posts with label flashdisk. Show all posts
Showing posts with label flashdisk. Show all posts

Put Puppy Linux in Flash Drive


You can run Puppy on any bootable USB storage media, such as flash memory, USB-Zip drive and USB-hard-drive. Note, we have developed the habit of referring to a Flash-drive-installed Puppy as "flash-Puppy".
My "first take" with installing Puppy was on a tiny USB Compact Flash (CF) card (plugged into a USB-CF-reader interface), as I really like the idea of having all my personal data and the operating system in something that I can carry in a shirt pocket or wallet. In theory, I can then boot Puppy on any PC with a USB socket.






Simple as anything to go into the BIOS setup during power-up and change the second boot device to "USB ZIP" (Award BIOS) or whatever works for your BIOS.

A warning: Some USB Flash drives are difficult to boot off, and some PCs have BIOSes that do not boot from USB or have peculiar restrictions:

I have a motherboard that I purchased in 2004, and I have a friend with a laptop also purchased new in 2004, and both have one thing in common: the BIOS does not even have an option to boot from USB -- today, that is really pathetic, so do check before purchasing. Bring your Puppy usb pen-drive into the computer shop and see if it boots!
These days USB pen drives have the "standard USB mass storage interface", so will work on any PC running Windows or Linux without needing a special driver. Ditto for many digital cameras and mp3 players (in fact, Puppy can be installed to these!). However, there are some USB memory/camera/mp3-player that do not have a standard mass storage interface, and these will not work with Linux -- make sure before buying and if you find one for sale, be sure to tell the saleperson that it's crap.

How to obtain and install flash-Puppy

Go to the Puppy download page and download live-Puppy (file puppy-xxxx.iso, where "xxxx" is version number plus some options), that boots off a CD. Bootup Puppy, and in the "Setup" menu you will find an entry called "Puppy Universal Installer". Select that, and follow the simple instructions.

It's that simple, however you will of course need a PC with a CD burner to be able to burn the ISO file to CD. If you don't have a CD burner, you will have to use an "iso buster" program (see some links on the Puppy download page) to extract the files out of the ISO file, then follow the manual installation instructions given below.

Ha, ha, it is putting the cart before the horse, but Puppy v2.10 (and later) has ISOMaster (see "Multimedia" menu), which is an "iso buster". You can use it to extract files from and insert files into a ".iso" file. Once you have got your first Puppy live-CD burnt and Puppy running, you will be able to use ISOMaster.

Installing DSL to a USB Flash Drive (Linux way)


Installing Damn Small Linux to a USB Flash Drive from your Linux Desktop

Here the steps for doing that:
Minimum size for USB Drive: 128MB.
Save all of your data on your USB to another storage medium, such as a CD/DVD or hard drive.

  • Begin by determining the location of your flash drive. It will be something like /dev/sda
 fdisk -l
  • Check your syslinux version and upgrade it if you want FAT32 support. (Syslinux 2.11 works for FAT16; Syslinux 3.35 works for FAT32). Compile & install the latest syslinux from here.
  • If you need to wipe the MBR on the Flash Disk, do it with a command like below. This shouldn't be necessary unless there's another funky bootloader in the MBR (like, if you were experimenting with another bootable USB linux distro).
 dd if=/dev/zero of=/dev/sdX bs=512 count=1

( BE *VERY* CAREFUL NOT TO WIPE YOUR HARD DRIVE'S MBR HERE!!!)

Download ms-sys then install and put another MBR in its place:

 ms-sys -s /dev/sdX

Another way to put MBR in its place is using 'mbr.bin' 512 bytes file from the Syslinux package:

   locate mbr.bin
cat /somepath/share/syslinux/mbr.bin > /dev/sdX
  • Run fdisk on /dev/sdX, so it looks like this:
    Device Boot      Start         End      Blocks   Id  System
/dev/sdX1 * 1 1021 253177 b W95 FAT32

Use d to delete existing partitions until none remain.
Use n,p,1 to create a new primary partition. Use a to make it bootable.
Use t,b to make it W95 FAT32. Don't forget to hit a to make it bootable!
Use w to save the changes and exit

mkfs.vfat -F 32 /dev/sdX1 ("-F 32" will do FAT32; "-F 16" will do FAT16)
  • Mount the pendrive & unzip the dsl-embedded.zip file onto this.
  • Unmount the pendrive
  • Type syslinux -s /dev/sdX1 to make it bootable.
  • You can now boot via QEMU (from within Linux or windows), OR as native from the USB drive.
  • You can also run DSL from a GRUB bootloader menu on your USB key. This is very useful if you're using DSL as part of a data/system rescue toolkit, as you can include multiple preset configurations of DSL as well as other utilities.

Note: syslinux needs the package "mcopy" included in the package "mtools".
Note: Unfortunately, this method does NOT give a 50MB Linux Distribution because qemu dir
and method is (comparatively) big. You will end up with a 110MB distribution.
Note: The iocharset=utf8 option when mounting the USB stick may result in
the "KNOPPIX/KNOPPIX" not being found upon booting.

Method I: Using GRUB as boot loader

Note: This method has been reported not to work under certain conditions

  • Download the current.iso dsl-cd image.
  • Create an ext2 partition (=> 51MB) on pendrive. Mount it.
    mke2fs -v -L "DSL" /dev/
mkdir -p /tmp/pendrive
mount /dev/ /tmp/pendrive/

where is the corresponding file which represents your USB storage device/partition.

Note: ext3 is ok too.


  • Change to the directory where you mounted the ext2 partition, install GRUB boot loader:
    cd /tmp/pendrive/
grub-install --no-floppy --root-directory=. /dev/

Note: Replace with the corresponding file which represents your USB storage device/partition.
Note 2: This method did not work for me, I used the manual method of running grub and
entered "root (hd1,1)" and "setup (hd1)" (your paths will probably vary).

  • Copy the contents of the cd image to the usb drive.
    mkdir /tmp/dsl-cd
mount [/path_to/]current.iso /tmp/dsl-cd/ -o loop
cp -vR /tmp/dsl-cd/* /tmp/pendrive/
  • While in the same directory - where you mounted the ext2 filesystem - create a menu.lst file for grub in the directory ./boot/grub/menu.lst
   cat > /tmp/pendrive/boot/grub/menu.lst << root="/dev/sda1" lang="us">

Note: You might have to change (hd0,0) to the correct partition for your USB drive. However,
the default should work on most systems.

  • Unmount the filesystem.
  • You can now boot from your USB storage device

Method II: Using GRUB as boot loader

Someone found the above process doesn't work and has documented for others
this working process

The Situation:

  • Running SLED 10 (Suse)
  • The USB key is a 1GB and appears as /dev/sda
  • Logged in as root
  • The DSL ISO is downloaded to /root/Desktop/dsl-3.3.iso
  • Two partitions, the first to use as general USB storage, the second for DSL
  • The DSL partition wanted to be ext3 so that Windows doesn't mess it up
  • The first partition needs to be the big storage one as Windows doesn't
like addressing the second partition on flash drives

Here is the procedure:

  • fdisk /dev/sda
    • d - Delete all partitions on the key
    • n - Make a partition
      • p - Primary partition for general storage
      • 1 - First partition
      • 1 - From the first block
      • 948 - Most of the space, about 933MB
    • n - Make a partition
      • p - Primary partition for DSL
      • 2 - Second partition
      • 949 - Start from the next available sector
      • 1012 - To the end of the disk. I give it 64MB
    • a - Make the partition bootable
      • 2 - Mark the DSL partition bootable
    • t - Change the partition type
      • 1 - Change partition 1
      • b - Change it to Win95 FAT32
    • w - Write the changes
  • fdisk -l - Gives the following output:
        Device    Boot      Start         End      Blocks   Id  System
/dev/sda1 1 948 954131+ b W95 FAT32
/dev/sda2 * 949 1012 64416 83 Linux
Your flash drive should now look like this

  • mkdir /mnt/iso
  • mkdir /mnt/usb
  • mount -o loop /root/Desktop/dsl-3.3.iso /mnt/iso
  • mke2fs /dev/sda2

Note: If you want to have an ext3 filesystem, add the -j flag: mke2fs -j /dev/sda2

  • mount /dev/sda2 /mnt/usb/
  • cd /mnt/iso
  • tar cvf - . | (cd /mnt/usb; tar xvf - )
  • mkdir /mnt/usb/boot/grub
  • cp /boot/grub/*stage* /mnt/usb/boot/grub/
  • cat > /mnt/usb/boot/grub/menu.lst
 title Damn Small Linux
root (hd0,1)
kernel /boot/isolinux/linux24 root=/dev/sda1 ro lang=us toram noeject frugal
initrd /boot/isolinux/minirt24.gz
boot
  • cd /mnt/usb/
  • grub-install --no-floppy --root-directory=. /dev/sda
  • cd /root
  • umount /mnt/usb
  • umount /mnt/iso
  • rm -r /mnt/iso
  • rm -r /mnt/usb
Done! Your DamnSmallLinux on USB is ready. Reboot and try it!!

Delicious Digg Technorati Reddit Furl BlinkList Yahoo! NewsVine Netscape Google Live Bookmark Netvouz Squidoo StumbleUpon Magnolia.png