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:
- Open a terminal window.
- Find what device your USB drive is:
- 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.
- Start the partition tool:
- 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
- Format your drive:
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.
- Mount the drive:
mount /dev/sda1 /mnt/usb
- Install grub:
- 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.
- 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)
- 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:
However after dropping to grub and doing:
This showed that grub was located at:
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.