Differences between revisions 5 and 32 (spanning 27 versions)
Revision 5 as of 2007-03-16 08:53:59
Size: 2413
Editor: anonymous
Comment: Added information that journaled filesystems are probably not good choices for USB devices; reformatted instruction list.
Revision 32 as of 2011-07-08 18:07:40
Size: 6292
Editor: 0v0x
Comment: fix top menu
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= How to boot DyneBolic from USB =
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.
~+ DynebolicFaq :: [[DyneOnUsbEs|En español]] :: [[http://dynebolic.org/|dyne:bolic homepage]] +~
----
=== How to boot DyneBolic from USB ===
The following instructions explain how to make a USB storage device (like a USB key) bootable with the GRUB bootloader and install dyne:bolic on it so that you can run it from USB, without a harddisk or CD.
Line 4: Line 6:
If you are looking for instructions about ["Nesting"], on how to save your personal data on a USB stick, then this is not the right place. This page documents on how to put the WHOLE SYSTEM on the usb stick. If you are looking for instructions on how to save your personal data on a USB stick, then please look at [[Nesting]].  If you're looking to copy the entire system over to your harddrive, then please look at [[Docking]]. This page documents on how to put the '''whole system''' on the usb stick.
Line 6: Line 8:
The WHOLE SYSTEM requires a USB stick of at least zzzzzz MB. If your USB stick is smaller than that, try ["Nesting"] instead. 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 key of ~685MB, but you may want a bit more space for your personal files. If your USB stick is smaller try [[Nesting]] instead.
Line 8: Line 10:
little briefing: How dyne:bolic II boots (technical):
Line 10: Line 12:
 * the boot system consists of a bootloader, in our case grub
 * the bootloader loads a kernel, in our case linux :)
 * the kernel loads a ramdisk, in our case dyne:II initrd.gz
 * the ramdisk will look for a dyne/ dock
we keep both kernel and ramdisk in a dock and install grub
 * The boot system consists of a bootloader, in this case grub
 * The bootloader loads a kernel, in our case linux :)
 * The kernel loads a RAMdisk (a virtual device that resides on RAM memory), in our case initrd.gz
 * The RAMdisk looks for a dyne/ dock
 * Both the kernel and RAMdisk are put in a dock and GRUB is installed.
Line 16: Line 18:
do the following operations from a running dyne:II DHORUBA 2.3 (i will assume the usb stick is recognized as /dev/sda) '''Use this tutorial from a running dyne:bolic system,''' it should be nested or running as a liveCd:
Line 18: Line 20:
Contrary to the following suggestions, it is probably not advised to use the EXT3 journaled filesystem on a flash/USB device. The journaling results in more disk access than necessary, and results in wearing out the USB device more quickly. It is preferrable to use a non-journaled filesystem such as EXT2 (Linux only) or FAT32 (if you want to make your usb device readable outside of Linux). Read up on journaled vs non-journaled file systems and make an informed decision in your case.

partition the usb stick as a unique EXT3 journaled partition (or FAT32 to read the drive in windows):
 1. Open a terminal window.
 1. 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 accordingly.
Line 23: Line 29:
  * {{{   . {{{
Line 26: Line 32:
   1. delete all partitions
   1.
create a new primary at maximum size
   1.
put the type to 83 (Linux)
   1. write everything and quit
   * 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)
   * set the partition Bootable
   *
write everything and quit
Line 31: Line 38:
  * {{{
mke2fs -j /dev/sda1 }}}
  . {{{
mke2fs /dev/sda1 }}}
  . Change it to ''mke2fs -j...'' if you want to use EXT3 instead of EXT2. However, it is not advisable to use the EXT3 journaled filesystem on a flash/USB device, because 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 from other OSs, such as Windoze). 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.
Line 34: Line 43:
  * {{{   . {{{
Line 37: Line 46:
  * {{{   . {{{
Line 39: Line 48:
   . (select the last item in the list and proceed)   * 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.
Line 41: Line 51:
  * {{{   . {{{
Line 43: Line 53:
   . (rsync is better than cp and we have a progressbar)   . (rsync is better than cp and we have a progressbar)
 1. Try booting your USB device. If it works, great! If not:
  * 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.
  * 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)
Line 46: Line 59:
inside the boot/grub/menu.lst there are the default options to boot, they should work alltough some times they might need (hd0,0) to be changed to (hd1,0) depending on how the computer sees the usb... '''Note:''' This does not seem to work if your USB device is ''sdb...'' (ie, on a system with a RAID hd), the usb device is never loaded into /boot/volumes, so the system complains about not having a dyne system to boot from. If you put the CD in, it works fine.

=== How To Boot DyneBolic From Compact Flash (Using IDE To CF Adapter) ===

In a similar fashion I wanted to run DyneBolic from a compact flash card which was attached to a IDE to Compact Flash adaptor (i.e. use a Compact Flash card instead of a hard drive). As a start I followed the instructions above after which my system didn't boot. The first problem was that the entry written to '''/boot/grub/menu.lst''' was incorrect as the '''root''' command was:

{{{
root (hd1,0)
}}}

However after dropping to grub and doing:

{{{
find /boot/grub/stage1
}}}

This showed that grub was located at:

{{{
root (hd0,0)
}}}

So I therefore edited '''/boot/grub/menu.lst''' and added a new entry which looked like this:

{{{
# Start dyne:bolic entry
title dyne:II DHORUBA (Edited)
root (hd0,0)
kernel /dyne/linux-2.6.18-ck1-dyne root=/dev/ram0 rw load_ramdisk=1 max_loop=64 vga=791
initrd /dyne/initrd.gz
}}}

After attempting to boot again I then received a new error:

{{{
Error 15: File Not Found
}}}

Further investigation showed that this problem was due to the '''kernel''' line as the kernel image should have been referring to '''/dyne/2618ck1d.krn''' rather than ''' linux-2.6.18-ck1-dyne''' (this will change depending on the version of dyne:bolic you're using !).

A further edit later and I now have a working system booting from compact flash where my finished '''/boot/grub/menu.lst''' entry now looks like this:

{{{
# Start dyne:bolic entry
title dyne:II DHORUBA (Edited)
root (hd0,0)
kernel /dyne/2618ck1d.krn root=/dev/ram0 rw load_ramdisk=1 max_loop=64
initrd /dyne/initrd.gz
}}}

n.b. I also removed the '''vga=791''' part of the command as this didn't work on my system.

Hope this is of use.

----
DynebolicFaq : [[http://dynebolic.org/|dyne:bolic homepage]]

DynebolicFaq :: En español :: dyne:bolic homepage


How to boot DyneBolic from USB

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

If you are looking for instructions on how to save your personal data on a USB stick, then please look at Nesting. If you're looking to copy the entire system over to your harddrive, then please look at Docking. 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 key of ~685MB, but you may want a bit more space for your personal files. If your USB stick is smaller try Nesting instead.

How dyne:bolic II boots (technical):

  • The boot system consists of a bootloader, in this case grub
  • The bootloader loads a kernel, in our case linux :)

  • The kernel loads a RAMdisk (a virtual device that resides on RAM memory), in our case initrd.gz
  • The RAMdisk looks for a dyne/ dock
  • Both the kernel and RAMdisk are put in a dock and GRUB is installed.

Use this tutorial from a running dyne:bolic system, it should be nested 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 accordingly.
  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)
      • set the partition Bootable
      • 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 not advisable to use the EXT3 journaled filesystem on a flash/USB device, because 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 from other OSs, such as Windoze). 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:
    • 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.
    • 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!

Note: This does not seem to work if your USB device is sdb... (ie, on a system with a RAID hd), the usb device is never loaded into /boot/volumes, so the system complains about not having a dyne system to boot from. If you put the CD in, it works fine.

How To Boot DyneBolic From Compact Flash (Using IDE To CF Adapter)

In a similar fashion I wanted to run DyneBolic from a compact flash card which was attached to a IDE to Compact Flash adaptor (i.e. use a Compact Flash card instead of a hard drive). As a start I followed the instructions above after which my system didn't boot. The first problem was that the entry written to /boot/grub/menu.lst was incorrect as the root command was:

root (hd1,0)

However after dropping to grub and doing:

find /boot/grub/stage1

This showed that grub was located at:

root (hd0,0)

So I therefore edited /boot/grub/menu.lst and added a new entry which looked like this:

# Start dyne:bolic entry
title dyne:II DHORUBA (Edited)
root (hd0,0)
kernel /dyne/linux-2.6.18-ck1-dyne root=/dev/ram0 rw load_ramdisk=1 max_loop=64 vga=791
initrd /dyne/initrd.gz

After attempting to boot again I then received a new error:

Error 15: File Not Found

Further investigation showed that this problem was due to the kernel line as the kernel image should have been referring to /dyne/2618ck1d.krn rather than linux-2.6.18-ck1-dyne (this will change depending on the version of dyne:bolic you're using !).

A further edit later and I now have a working system booting from compact flash where my finished /boot/grub/menu.lst entry now looks like this:

# Start dyne:bolic entry
title dyne:II DHORUBA (Edited)
root (hd0,0)
kernel /dyne/2618ck1d.krn root=/dev/ram0 rw load_ramdisk=1 max_loop=64
initrd /dyne/initrd.gz

n.b. I also removed the vga=791 part of the command as this didn't work on my system.

Hope this is of use.


DynebolicFaq : dyne:bolic homepage

DyneOnUsb (last edited 2011-07-08 18:07:40 by 0v0x)