From BCCD 3.0

Jump to: navigation, search

BCCDv3 -- Basic Information


Build a live CD

  1. Stable image
    1. See USB instructions or CD instructions
  2. Subversion trunk
    1. Check out the SVN repository: svn co
    2. cd trunk/bin
    3. perl --arch i386 --outiso <outiso> --suite lenny
    4. Burn that ISO to a CD, or boot it up in a VM.

Liberate that live CD

"Liberation" erases the contents of your computer's hard drive and installs the BCCD in their place. NB: This will erase all partitions on the targeted hard drive, and remove all logical volume configuration.

  1. Make sure you have booted into the live CD (the following should return "LIVE"):
    cat /etc/bccd-stage<ENTER>

  2. As root, run the liberation script, which erases the hard drive and installs the BCCD. NB: Make sure to replace sda with your hard drive's device filename if it is different:
    sudo perl /root/ --libdev /dev/sda<ENTER>

  3. If you have any logical volumes on any hard drives, you will be prompted whether you want to delete them. (You can disable this prompt by adding --force to the end of the command above for running the liberation script.)

  4. Reboot from the hard drive (after entering the command below, make sure to remove the bootable live medium so it does not boot from that instead):
    sudo reboot<ENTER>

  5. Enable PXE booting.


Known bugs

Create a bootable USB drive

Installing the BCCD ISO on a bootable USB drive requires a Linux system or Windows system, the BCCD ISO you want to install, the script, syslinux 4.05, and a 2 GB or larger USB drive. Note that if you choose to run these instructions on a liberated BCCD system (e.g. LittleFe), they must be run on the head node. If you are running these instructions on a newer version of BCCD, you will first want to downgrade to syslinux 4.05 by following these instructions:

  1. Find these two files on the web and download them to your BCCD system:
    • syslinux-common_4.05+dfsg-2~bpo60+1_all.deb
    • syslinux_4.05+dfsg-2~bpo60+1_amd64.deb

  2. Use dpkg to install the files:
    sudo dpkg -i syslinux-common_4.05+dfsg-2~bpo60+1_all.deb syslinux_4.05+dfsg-2~bpo60+1_amd64.deb<ENTER>

  3. Verify v4.05 is installed:
    syslinux --version<ENTER>

Linux (manual)

  1. Log in as root or su to root

  2. Make sure that you are running Bash as your shell:

  3. Insert the USB drive and find the device name for it (e.g. sdb):
    dmesg|grep sd<ENTER>

  4. Make sure the script is marked as being executable:
    chmod +x<ENTER>

  5. Execute the script. NB: Make sure to replace sdb with the device name for your USB drive. Make sure to also replace 3.3.3-amd64 with the correct name for the ISO file:
    ./ -d /dev/sdb -i bccd-3.3.3.amd64.iso -m pc<ENTER>

  6. If you run into trouble booting and see an error message similar to "Please remove disk. Press any key to reboot.", you likely have to run syslinux again (many Linux distributions try to access the USB key while it's being built, and this interferes with making it bootable). To fix this problem, run syslinux as root against the first partition of the USB disk device. For instance, if you supplied /dev/sdb above, you would run:
    /usr/bin/syslinux /dev/sdb1<ENTER>


Old School

These are the earlier manual instructions for building a bootable USB drive. They may still work.


Step-by-step guide to making a BCCD bootable USB drive:

  1. Login as root.
  2. Identify your USB drive
    1. run the command mount. If running under the virtualbox BCCD ISO, then you will see it mounted as something like /mnt/sda1 or /mnt/sda2. This means your usb device is either /dev/sda or /dev/sdb. dmesg can help identify USB devices too.
  3. Partition your USB drive using fdisk
    1. fdisk /dev/(usb_device) [example /dev/sdb]
    2. [press p at the prompt] to see a list of partitions
    3. delete all partitions
      1. If only one partition
        1. [press d at the prompt]
      2. if more than one partition, then repeat below for each partition number
        1. [press d at the prompt]
        2. [press 1 at the prompt]
    4. create a new partiton
      1. [press n at the prompt]
      2. [press p at the prompt]
      3. [press 1 at the prompt]
      4. press two returns to select 1 as default 1st cylinder and the actual last as the last cylinder
    5. change the type of the partition to W95 FAT32
      1. [press t at the prompt]
      2. [press b at the prompt]
    6. make partition bootable/active
      1. [press a at the prompt]
      2. [press 1 at the prompt]
    7. [press w at the prompt] to save changes
  4. Format the USB drive
    1. unmount partition, if it is mounted (you'll know if next step fails) [example "umount /dev/sdb1"]
    2. as root type mkfs.vfat /dev/(usb_partition) [example /dev/sdb1]
  5. Locate the file mbr.bin by running the command "locate mbr.bin"
    1. If locate does not find mbr.bin try manually looking for it in a directory called "syslinux"
    2. If you still can't find it, you can have the system brute-force search with "find / -name mbr.bin -print", but this may take a very long time depending on the size of your disk.
    3. You will find something like "/KNOPPIX/usr/lib/syslinux/mbr.bin"
  6. Add the contents of that file to the end of /dev/sdb, for instance by typing the equivalent of
    1. cat /KNOPPIX/usr/lib/syslinux/mbr.bin >> /dev/sdb
  7. Run syslinux
    1. "syslinux -s /dev/(usb_partition)" [example syslinux -s /dev/sdb1 ]
  8. If you try booting from the USB device now
    1. You should get a prompt from syslinux when booting from the usb device.
    2. You should see an error message saying there is no boot image, the next step will fix that.
  9. Mount the ISO and mount USB drive. (Download the ISO from
    1. Make an ISO directory. Use "mount -o loop (ISO path) (ISO directory)" to mount the ISO [example mkdir bccd-iso; mount -o loop bccd_latest.iso bccd-iso/]
    2. Make a USB directory. Use "mount /dev/(usb_partition) (USB directory)" to mount the USB [example mkdir bccd-usb; mount /dev/sdb1 bccd-usb/]
    3. If you running from a virtual machine, the ISO directory may be already mounted. For instance, with VirtualBox it is at /cdrom
  10. Copy over all contents from the ISO over to the USB drive, this can take several minutes.
    1. use "rsync -Plarv (mounted ISO directory)/ (Mounted USB directory)/" [example rsync -Plarv bccd-iso/ bccd-usb/]
    2. Note: Make sure to include the trailing slashes! See the USAGE section in man rsync(1).
  11. Copy all the files from the /boot/isolinux directory of the ISO to the root of the USB drive. If there is a file name conflict it's ok to replace the existing file with a new one (cdrom.ico and index.html) [example cp bccd-iso/boot/isolinux/* bccd-usb]
  12. In USB root, rename isolinux.cfg to syslinux.cfg [example mv bccd-usb/isolinux.cfg bccd-usb/syslinux.cfg]
  13. Unmount the ISO and the USB [example umount bccd-iso/ ; umount bccd-usb/]
  14. You should now be able to boot from your USB device
    • On some machines the option to boot from USB Drive will not be available - In this case try the other BIOS boot options - such as USB zip disk

Networking Mojo

Personal tools