Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pablobm/w2c3-livecd
Live CD for Wizzie Wizzie Computer Coding Club
https://github.com/pablobm/w2c3-livecd
Last synced: 15 days ago
JSON representation
Live CD for Wizzie Wizzie Computer Coding Club
- Host: GitHub
- URL: https://github.com/pablobm/w2c3-livecd
- Owner: pablobm
- Created: 2015-06-21T15:28:52.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2019-11-24T14:42:23.000Z (about 5 years ago)
- Last Synced: 2024-11-18T11:37:45.358Z (about 1 month ago)
- Language: Makefile
- Size: 436 KB
- Stars: 1
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Wizzie Wizzie's own Debian derivative
An installer and live system for [Wizzie Wizzie Computer Coding Club](http://www.wizziewizzie.org/). It contains all the software identified as useful for our workshops.
## Contents
This repository contains a number of scripts to be used with Debian Live. When run, they will generate an OS image that can be loaded on a USB stick. The USB stick can then be used as both:
* A live system: run the environment completely off the USB drive without installing to disk, or altering the host computer in any way
* An installer: copy the system to a computer for use without the USB drive
## How to run a build
The final product of a build is a disk image that you can transfer to a USB drive. There are two different ways of running a build:
* With Docker: this is the simplest way and is preferred.
* Natively on Debian: takes longer to set up, but it's the only option if you are on a system that doesn't support Docker.Independently of the chosen method, running a build will take a while. The first time it will download packages over the Internet and will take longer. Fortunately, many of these will be cached making this step faster in subsequent builds.
### Common setup steps
Start by cloning this repository if you haven't yet:
```
$ git clone https://github.com/pablobm/w2c3-livecd.git
```We also need to manually provide the Flash plugin:
1. Go to Adobe Flash's website (https://get.adobe.com/flashplayer).
2. Download the Linux 64bit version.
3. Put this file in the folder `config/includes.chroot/tmp` in this project.Next, follow the instructions on the section appropriate for your preferred build method.
## The Docker option
For this you need:
* A machine and operating system able to run Docker. Any modern computer should be able to run this, on Windows, Linux, or macOS. I'm not an expert though.
* Docker installed: https://www.docker.com/get-started.
* GNU Make. How to install this depends on your system. For example, on Debian it would be `sudo apt-get install make`. On macOS with Homebrew, you can do `brew install make`.If everything is in place, you can now run a build:
```
$ make
```The end results will appear in the `output/` folder.
## The native option
If your machine doesn't support Docker, or you otherwise prefer not to use it, follow this guide. You'll need a Debian Stretch (version 9) system.
Even though this section is called "the native option", a virtual machine is still recommended.
Note that the given lines assume that you are root, as it's required in the last step anyway.
### Setting up a virtual machine
If you choose to use a virtual machine, the setup might be different depending on the software you use. This is the process with VirtualBox:
1. Download a Debian ISO. Version should be Stretch (v9) and architecture amd64: https://www.debian.org/distrib/netinst. The "Small CD" one should do it.
2. Install VirtualBox, downloading the appropriate version for your host OS: https://www.virtualbox.org/wiki/Downloads.
3. Create VM to run Linux Debian 64 bit. I recommend a 25GB hard drive. I'm also assigning it 1024 MB memory, but can't be sure what's better there.
4. Install and boot.
5. You'll need the Guest Additions package, which in turns requires some development packages. On the menu bar, go to "Devices > Install Guest Additions CD image", and install as follows (as root):
```
# apt-get install make gcc linux-headers-amd64
# cd /media/cdrom
# sh VBoxLinuxAdditions.run
```Finally restart the VM and you'll be set.
### Installing required packages
This should be enough:
```
# apt-get install live-build imagemagick
```### Running the build
Finally you run Make. This has to be done as root (or so it appeared last time I tried to just sudo it):
```
# make image
```The end results will appear in the `output/` folder.
## Implementation details
There are some "special" customisations on these scripts, but mostly it's all pretty standard.
### The standard bits
Check out the [Debian Live manual](https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html) to get familiar with the basics of creating a build. There's a pretty good "For the impatient" section to get started.
Some quick notes:
* See `config/package-lists` for lists of packages that are included in the build
* On `config/includes.chroot/etc` you can find some post-install configuration. Examples include desktop shortcuts (see `config/includes.chroot/etc/skel/Desktop/`) or a setting to automatically log the user in without asking for a password (see `config/includes.chroot/etc/lightdm/lightdm.conf`)
* The file `config/includes.binary/install/preseed.cfg` lists pre-selected answers to some questions asked during the installation process. These questions will be skipped during install of the resulting distribution. This file is referred to from the config auto script (`auto/config`) with the option `--debian-installer-preseedfile preseed.cfg`
* Again on `auto/config`, we enable the "contrib" and "non-free" archive areas. This is because some of our laptops require proprietary drivers not available in the main distribution.
### Proprietary drivers during installation
A strange problem with proprietary drivers is that they don't seem to apply during installation. They are OK after install, or when running the live system.
This means that, for example, it's not possible to download updated packages from the Internet if you are installing on a laptop that requires proprietary network drivers.
Initially I thought this would be a problem, and set out to fix it. I put together a writeup here: http://blog.pablobm.com/post/125538410950/proprietary-drivers-on-a-custom-debian-installer
However, this is not a problem anymore as at present we include all the packages we need. We want to avoid using the Internet during installation, because we normally run our coding club on places where WiFi is spotty at best.
At some point I'll remove the changes I made to make this work.
### Root access
For root access, use `sudo`. The password is just `password`. On older installs, use `su` with the same password. Feel free to tinker. The worst that can happen is that the machine has to be reinstalled again, so no problem.