~+ 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. 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. 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. 1. 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 1. 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. 1. Mount the drive: . {{{ mount /dev/sda1 /mnt/usb }}} 1. 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. 1. 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) 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) 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 : [[http://dynebolic.org/|dyne:bolic homepage]]