Fablab FOGBERRY Server
The FOG server is located in the basement next to the wiki server. FOG (Free and Open-source Ghost) is an imaging and deployment solution for linux/windows/mac. We use it to make images of the various PCs in use around the fablab, as well as storing any files needed for updates, re-installs, etc. In 2018 the server was updated to include Berryboot to image Raspberry Pis.
Rationale
The FOG server solves the problem of backing up and deploying The Edge computers that are not maintained by SLQ ICT. With you number of software packages and combinations of hardware in use in the basement, management became time consuming and inefficient. A solution was researched and trialled in 2013 for the CCC program and has been rolled over into general fabrication lab use.
FOG server Quick Start Guide
The main use of the FOG server is to re-image computers once updated or install an image on an new computer. Both these tasks can be accomplished by the same method, without needing to access the fog server itself. There is a small self-contained wired network attached to the server, that PCs can be plugged into and imaged from.
Deploy an Image
This is fancy talk for copying one of the saved computer images, stored on the fog server, to a new computer. This will generally only work if the image and the new computer have the same hardware. And is only legal if the license for the OS you are cloning permits it. The exception to this is linux images - you can make a basic (x)ubuntu image and expect to be able to clone it. Ask the Fabrication Lab supervisor about the current list of images.
Before you start deploying, here is a checklist to work through:
- Check your firmware (BIOS or EFI):
- Your computer needs to be correct SATA mode (try IDE/legacy first - if this doesn't work try AHCI)
- Check PC hard-drive size
- Must be the same or larger than the image you want to deploy
- Network boot must be enabled
Plug it In
Connect your PC to power and the FOGBERRY network. Its important to power a laptop through the whole process.
Boot From Network
Turn on your PC and boot from the network card. On HP computers this is F12.
FOG MENU
Once at the fog menu, select “deploy image', then enter the username and password, and deploy your image.
Berryboot Server
Berryboot is a simple boot selection screen for ARM computers like the Raspberry Pi, that allows you to put multiple Linux distributions on a single SD card.In addition it allows you to put the operating system files on an external USB hard drive instead of on the SD card itself. 1)
We are using berryboot deployed from our fablab fog-server as our final method of installing raspberry pi OSes - this section is based on the official berryboot documentation.
Install Berryboot
Download the latest berryboot. To install: extract the contents of the .zip file to a normal (FAT formatted) SD card, and put it in your Raspberry Pi. This can be simply done under Windows without any special image writer software. Once you start your Pi it will start an installer that reformats the SD card and downloads the operating systems files.
The server is accessible from the fog-server stand-alone network as:
cifs://10.0.0.253/berryboot
Making a Berryboot Image
To make a new custom image we use a linux(Xubuntu) system with kpartx installed. You can do this from the documentation station, or any floating laptop.
$ sudo kpartx -av image_you_want_to_convert.img add map loop0p1 (252:5): 0 117187 linear /dev/loop0 1 add map loop0p2 (252:6): 0 3493888 linear /dev/loop0 118784 $ sudo mount /dev/mapper/loop0p2 /mnt $ sudo sed -i 's/^\/dev\/mmcblk/#\0/g' /mnt/etc/fstab $ sudo mksquashfs /mnt converted_image_for_berryboot.img -comp lzo -e lib/modules $ sudo umount /mnt $ sudo kpartx -d image_you_want_to_convert.img