How to boot DyneBolic from USB

China as My! [:www.tom.com:good!]

The following instructions explain how to make a usb storage device (like usb stick) bootable with grub and install dyne:bolic on it so that you can run it from USB, without harddisk or CD.

If you are looking for instructions on how to save your personal data on a USB stick, then this is not the right place, look at ["Nesting"]. This page documents on how to put the whole system on the usb stick.

The whole system requires a USB device about the size of the /dyne directory (currently ~655MB at version 2.4.2) + ~30MB (for file system headers). Therefore, the entire system should fit on a USB stick of ~685MB, but you may want a bit more space for your personal files. If your USB stick is smaller try ["Nesting"] instead.

little briefing:

we keep both kernel and ramdisk in a dock and install grub

Use this tutorial from a running dyneII system (installed to a harddrive or running as a liveCd):

  1. Open a terminal window.
  2. Find what device your USB drive is:
    • cat /proc/partitions
    • Ignore the entries that end in numbers, those are individual partitions on each separate device. The ones that end in letters are different devices.
    • hda means your primary IDE harddrive, sd... generally means a RAID/SCSI/USB device

    • If you're confused, look at the blocks column, which shows the # of 1KB blocks on the device. If you know how big your USB stick is, you can find it this way. ~1,000,000 blocks = a 1 gigabyte device; ~64,000 blocks = 64MB device.

    • From here on in, this tutorial assumes your usb device is /dev/sda, if it's not /dev/sda, change it as necessary.
  3. Start the partition tool:
    • cfdisk /dev/sda
      • With cfdisk:
      • delete all partitions
      • create a new primary at maximum size (Don't use the "Maximize" button, it does something very different)
      • put the type to 83 (Linux)
      • write everything and quit
  4. Format your drive:
    • mke2fs /dev/sda1 
    • Change it to mke2fs -j... if you want to use EXT3 instead of EXT2. However, it is probably not advised to use the EXT3 journaled filesystem on a flash/USB device. Journaling writes to the disk more often than necessary, which wears out the USB device more quickly. Use a non-journaled filesystem such as EXT2 (Linux only) or FAT32 (if you want to make your usb device readable outside of Linux). The default (ext2) is a safe choice, however, you may want to read up on journaled vs non-journaled file systems and make an informed decision in your case.

  5. Mount the drive:
    • mount /dev/sda1 /mnt/usb 
  6. Install grub:
    • grubconfig
    • Select the usb device, generally the last item in the list.
    • Note: If all the items in the list start with hda..., the computer you're currently using can't be booted from a usb device and you'd be installing grub to a partition of your harddrive instead. Quit, then find another computer.

  7. Copy the dyne/ dock directory from the CD
    • rsync -Pr /mnt/cd1/dyne /mnt/usb/
    • (rsync is better than cp and we have a progressbar)
  8. Try booting your USB device. If it works, great! If not:
    1. Open your /boot/grub/menu.lst (on the USB device) and change the root(...) line from (hd0,0) to (hd1,0). Save the old line as a comment.
    2. There is an alternate set of boot options in /dyne/menu.lst, which selects a different kernel (use if it complains how it can't mount the drive), and replace the kernel line. Save the old line as a comment. (Try this with the default root line and the alternate)

Your USB device is ready!