Commit 3bba4646 authored by rgaudin's avatar rgaudin
Browse files

updated root files

	.gitignore to include temporary files for building on all platforms
	CHANGELOG to reflect v2 changes updated (ansiblecube, image creation) has been replaced by a template in ansiblecube
parent f6c096b0
......@@ -4,3 +4,18 @@ build
* Added Online FAQ
* Fixed Ctrl^C handling
* Kiwix-serve 0.6.0
* System requirements check at start of process
* Overall and per-stage Progress Indicator
* Ideascube home now displays ZIM icons
* Default placeholders for failed services (HTTP 502)
* Default placeholders on non-installed softwares
* Master image now contains all software in root (no network usage in qemu)
* Friendlier cli arguments handling
* Devices permissions restored at the end of the process (Linux, macOS)
* Bundled imdisk (image file mounter) on Windows
* Bundled Exfat support in vexpress (QEMU) kernel and as a kernel module on image
* Using GB (decimal) sizes for disk/images/partitions and GiB (binary) for contents
* Updated ideacube with ZIM move instead of copy and skip-sha256
* Better size estimations for content
* Updated to KA-Lite 0.17.4
* Kiwix-serve doesn't use library.xml anymore (metadata retrieved from zim: better http://kiwix.FQDN)
* Large contents are extracted directly into mounted partition
* Downloads are slighty more reliable (retried with increasing delays)
* Large files are downloaded into a cache and retrieved from it
* Large content files listed in a JSON file with details
* Large content file downloaded in pibox-installer
* Captive portal now available in English and French
* Catalogs now defined only in pibox and passwd to ansiblecube
* Documentation to setup an online demo of pibox images
* CLI params and JSON export/import now uses human-readble sizes (still supports bytes)
* Using latest ansible (2.5.4)
* Major ansiblecube clean-up
* Large files all using Kiwix mirror (
* Fixed hostname issues
* fixed Edupi
* Fixed KA-Lite videos
* Increased Wikifundi uploads to 5M
* resize of partitions now in ansiblecube
* removed all outdated steps
* Anisblecube now integrated in pibox
* Better QEMU usage:
* updated to latest qemu (2.12.0)
* using no deprecated parameter
* assigning an N-1 cores to Qemu based on number of cores available
* Base Image contains a system partition and a dedicated ExFAT data partition
* Can now create base image using `pibox-installer image`
* Now using own custom base image
* Updated to raspbian 2018-04-19 (stretch)
* FIXED: language and timezone not set on external JSON config import
* Presets in the repo for common images
* FIXED: using a free-only catalog
......@@ -22,8 +22,6 @@ presentation of the projet at Potsdam [Slides](
## CLI usage
note: CLI is currently not packaged, you have to run it from source
run cli mode: `pibox-installer cli`
show help: `pibox-installer cli -h`
......@@ -41,7 +39,6 @@ install dependencies:
* [pygobject](
on Windows you can also install it using [pygi-aio](
* [pibox-installer-vexpress-boot]( unzip in the directory
* [ansiblecube]( branch oneUpdateFile0.4, rename the directory to ansiblecube
create a virtual a virtual environment that includes pygobject: `python3 -m venv --system-site-packages my_venv`
......@@ -52,7 +49,7 @@ install pip dependencies: `pip3 install -r requirements-PLATFORM.txt`
run GUI application: `python3 pibox-installer`
run CLI application: `python3 pibox-installer/`
run CLI application: `python3 pibox-installer cli`
## Build pibox-installer-vexpress-boot
......@@ -63,6 +60,23 @@ requirements: `gcc-arm-linux-gnueabihf`, `bc` and `zip`
run: `python3 make-vexpress-boot`
## Build pibox base image
pibox-installer uses a custom base image based off raspbian-lite with the following modifications (not exhaustive):
* `2018-04-19-raspbian-jessie-lite`
* SSH enabled
* 7GB `/` partition (ext4)
* 1GB `/data` partition (extfat)
* ansiblecube deployed: `nginx`, `ideascube`, `kiwix-serve`, etc.
Should you want to build the base image:
``` sh
pibox-installer image --root 7 --size 8 --out my-base.img
## Package pibox-installer
see [appveyor.yml](appveyor.yml) for windows and [.travis.yml](.travis.yml) for mac and linux
from .base import * # pragma: no flakes
from tzlocal import get_localzone
ALLOWED_HOSTS = ['.koombook.lan', 'localhost', '']
TIME_ZONE = get_localzone().zone
DOMAIN = 'koombook.lan'
STAFF_HOME_CARDS = [c for c in STAFF_HOME_CARDS # pragma: no flakes
if c['url'] in ['user_list', 'server:settings']]
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment