Skip to content

Commit 121f127

Browse files
committed
Update documentation
1 parent 301472f commit 121f127

8 files changed

+215
-112
lines changed

uganda/2024/mwebaza/README.md

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,20 @@
11
## Kids on Computers / Mwebaza Foundation
2-
Jul - Aug 2019
2+
Jan 2024
3+
4+
Update version of Raspberry Pi OS + KoC Packages and Customizations has been created for Mwebaza labs in Uganda. These labs use Raspberry Pi 3B hardware.
35

4-
----
5-
### Lab Overview
6-
* 3 computer labs
7-
* 15 Raspberry Pi Student Workstations per lab
8-
* 1 Raspberry Pi Media Server per lab
96

107
----
11-
### Raspberry Pi Setup - Student Workstations
8+
### Download/Install Image File
129

13-
#### [Unboxing and Physical Setup](unboxing-and-physical-setup.md)
10+
[KoC Mwebaza Pi Image](./koc-custom-image-for-mwebaza-2024.md) - instructions on how to download and install the pre-built image file for KoC Mwebaza labs, Jan 2024.
1411

15-
#### Software Installation
16-
A Raspberry Pi can be installed with KoC/Mwebaza packages and customizations using a pre-built image, or by following manual steps. Once installed, the operating system and applications take about 8GB of space, so this should be done with an SD Card that is at least 16GB:
1712

18-
| Pre-Built Image | Manual Steps |
19-
| ---- | ---- |
20-
| [koc-mwebaza-2019-v2.img.zip](https://www.kidsoncomputers.org/data/projects/Uganda2019/koc-mwebaza-2019-v2.img.zip) (3.8GB)<br /> - [Installation Steps](koc-mwebaza-raspberry-pi-image.md) | Install Raspbian, educational apps, and KoC/Mwebaza customizations<br /> - [Manual Install](koc-mwebaza-raspberry-pi-software-install-manual-steps.md) |
13+
[Instructions](./koc-mwebaza-pi-image.md)
14+
2115

2216
----
23-
### Internet in a Box Media Server
24-
Each classroom has an Internet-in-a-Box media server, configured using [these instructions](iiab-setup.md).
17+
### Image Creation Details
18+
19+
[KoC Custom Image for Mwebaza 2024](./koc-mwebaza-raspberry-pi-image.md) - detailed instructions on how this image was created, including references to package lists, etc.
2520

uganda/2024/mwebaza/backgrounds-koc-mwebaza-2024.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,16 @@ source $HOME/.bash_aliases
3333
# ####################################
3434
echo "Downloading KoC/Mwebaza background images ..."
3535
TARGETDIR="$HOME/Backgrounds/Mwebaza/"
36-
URL="https://raw.githubusercontent.com/kidsoncomputers/documentation/master/uganda/2024/mwebaza/backgrounds/kph-bird-mwebaza-koc.png"
3736
mkdir -p $TARGETDIR
3837
cd $TARGETDIR
38+
39+
URL="https://raw.githubusercontent.com/kidsoncomputers/documentation/master/uganda/2024/mwebaza/backgrounds/kph-bird-mwebaza-koc.png"
3940
curl --remote-name "$URL"
41+
URL="https://raw.githubusercontent.com/kidsoncomputers/documentation/master/uganda/2024/mwebaza/backgrounds/kph-elephant-mwebaza-koc.png"
42+
curl --remote-name "$URL"
43+
URL="https://raw.githubusercontent.com/kidsoncomputers/documentation/master/uganda/2024/mwebaza/backgrounds/kph-giraffes-mwebaza-koc.jpg"
44+
curl --remote-name "$URL"
45+
4046
cd $HOME
4147

4248
# #########################
707 KB
Loading
691 KB
Loading
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Clone an SD Card to Image File
2+
3+
Once a workstation is fully installed with OS + packages + KoC customizations, a "clone" image can be created and used for easy install of other workstations.
4+
5+
These steps work best on a Linux host, although they may be possible on other OSes.
6+
7+
### Clone Raspberry Pi SD Card to .img file
8+
Follow the steps found here to copy the filesystem off of the SD card, then compress it make the image:
9+
* https://medium.com/platformer-blog/creating-a-custom-raspbian-os-image-for-production-3fcb43ff3630
10+
11+
In short, the steps are:
12+
* Prepare customized OS, ensure it runs properly on a Rasperry Pi
13+
* Shutdown the Pi and remove the SD card
14+
* Insert the SD card into a multicard reader, and insert into a Linux laptop:
15+
* Discover the device name (mine was `/dev/mmcblk0`)
16+
* Copy the entire 32GB into a local file:
17+
* `sudo dd if=/dev/mmcblk0 of=koc-mwebaza-2024-v1-full.img bs=4M status=progress`
18+
* Use [PiShrink](https://github.com/Drewsif/PiShrink) to make an image file that is only as big as the actual used space in the card:
19+
* `sudo ./pishrink.sh koc-mwebaza-2024-v1-full.img koc-mwebaza-2024-v1.img`
20+
* The resulting `.img` file, when written to a new SD card, will autoexpand on first boot.
21+
22+
### Compress
23+
Zip the file with maximum compression
24+
25+
In this example, an 11GB `.img` file is compress to a 3.7GB `.img.zip` file:
26+
```
27+
$ ll koc-mwebaza-2024-v1.img
28+
-rw-r--r-- 1 pi pi 11069825536 Jan 23 09:22 koc-mwebaza-2024-v1.img
29+
$ zip -9 koc-mwebaza-2024-v1.zip koc-mwebaza-2024-v1.img
30+
adding: koc-mwebaza-2024-v1.img (deflated 65%)
31+
$ ll koc-mwebaza-2024-v1.zip
32+
-rw-r--r-- 1 tate pi 3909401454 Jan 23 10:02 koc-mwebaza-2024-v1.zip
33+
```
34+
35+
### Upload the Image to kidsoncomputers.org
36+
With a .img file (and .zip) created it can optionally be uploaded to [kidsoncomputers.org/data](https://www.kidsoncomputers.org/data/) for sharing with others. This may take several hours, depending on Internet speed.
37+
38+
Also, to write to this location via `scp`, you'll need to get credentials. Check with a KoC Board Member (email: board@kidsoncomputers.org) if you need the credentials.
39+
40+
```
41+
$ scp koc-mwebaza-2024-v1.zip kochosting@kidsoncomputers.org:/home/kochosting/kidsoncomputers.org/web/data/projects/Uganda2024/
42+
The authenticity of host 'kidsoncomputers.org (64.90.52.49)' can't be established.
43+
ECDSA key fingerprint is SHA256:7qcYdp6XZeIEDP25VEOXjyJ/UblsgXjAIUo2wFwEFoQ.
44+
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
45+
Warning: Permanently added 'kidsoncomputers.org,64.90.52.49' (ECDSA) to the list of known hosts.
46+
kochosting@kidsoncomputers.org's password:
47+
koc-mwebaza-2024-v1.zip 100% 3728MB 25.7MB/s 02:25
48+
```
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
2+
# KoC Custom Image for Mwebaza 2024
3+
4+
Follow these steps to create a customized version of Raspberry Pi OS for
5+
use in KoC Labs in Uganda. The labs have Raspberry Pi 3B hardware.
6+
7+
----
8+
## Operating System Setup (Raspberry Pi OS)
9+
10+
### Download Raspberry Pi OS
11+
12+
* Download ZIP file for **Raspberry Pi OS with desktop and recommended software**
13+
* https://www.raspberrypi.com/software/operating-systems/
14+
* As of Jan 2024, this file is:
15+
* Release date: December 5th 2023
16+
* System: 32-bit
17+
* Kernel version: 6.1
18+
* Debian version: 12 (bookworm)
19+
* Size: 2,602MB
20+
21+
22+
### Write RPiOS Image to SD Card
23+
24+
* Use [Raspberry Pi Imager](https://www.raspberrypi.com/software/) to install the downloaded file to a 8GB (or larger) SD card
25+
* Options:
26+
* Raspberry Pi Device: Raspberry Pi 3 (for Mwebaza Labs created in 2019, which have RPi 3B)
27+
* Operating System: Use Custom; browse to downloaded file
28+
* Storage: Select SD card inserted into your computer
29+
* OS Customization:
30+
* Set hostname: `mwebaza-pi`
31+
* Set username and password:
32+
* Username: `pi`
33+
* Password: `mwebaza`
34+
* Configure wireless LAN:
35+
* SSID: `Internet in a Box`
36+
* Password: (none)
37+
* Set locale settings:
38+
* Time zone: `Africa/Kampala`
39+
* Keyboard layout: `us`
40+
* Write the new OS to SD card
41+
42+
43+
### Insert SD Card into Pi and Boot
44+
45+
* First boot will take a few minutes
46+
47+
48+
----
49+
## KoC Customizations and Packages
50+
51+
### Create Bigger Swap File
52+
53+
* The default swap file size with RPi OS is 100MB ... [too small](https://www.bitpi.co/2015/02/11/how-to-change-raspberry-pis-swapfile-size-on-rasbian)
54+
* Open a terminal and run the following commands to increase the swap file to 2048MB:
55+
* `sudo vi /etc/dphys-swapfile`
56+
* Look for line that contains `CONF_SWAPSIZE`, change value to 2048
57+
* Save, quit
58+
* `sudo /etc/init.d/dphys-swapfile stop`
59+
* `sudo /etc/init.d/dphys-swapfile start`
60+
* Reboot
61+
62+
63+
#### Software Updates
64+
65+
* Join wifi
66+
* Open terminal, apply any software updates:
67+
* `sudo apt update`
68+
* `sudo apt upgrade -y`
69+
* If needed, the password for user `koc` is: `mwebaza`
70+
* Reboot
71+
72+
73+
#### Software Package Installation
74+
75+
In this section, we install several educational software packages and games, plus removes some
76+
RPiOS packages that don't run very well on Pi 3Bs. This may take several hours, depending on
77+
Internet connection speed.
78+
79+
* Join WiFi
80+
* Open a terminal and run the following:
81+
```
82+
mkdir -p koc/install
83+
```
84+
85+
* Using web browser, download the following files into `koc/install` folder created in the last step:
86+
* https://raw.githubusercontent.com/kidsoncomputers/documentation/master/uganda/2024/mwebaza/koc-packages.sh
87+
* https://raw.githubusercontent.com/kidsoncomputers/documentation/master/uganda/2024/mwebaza/install-packages.txt
88+
* https://raw.githubusercontent.com/kidsoncomputers/documentation/master/uganda/2024/mwebaza/remove-packages.txt
89+
90+
* Return to the terminal and run:
91+
```
92+
cd koc/install
93+
chmod u+x koc-packages.sh
94+
./koc-packages.sh
95+
```
96+
97+
98+
99+
#### Set Desktop Backgound and Bookmarks
100+
101+
Other customizations to prepare the OS image for use in an offline KoC lab environment.
102+
103+
* Start **Web Browser** (Menu, Internet, Chromium)
104+
* Set home page to `http://box` (Internet in a Box media server which is available in each Mwebaza lab):
105+
* Go to Chromium Settings
106+
* Search for "on start-up"
107+
* Choose "Open a specific page or set of pages"
108+
* Enter `http://box`
109+
110+
* Start Gcompris to download additional content files
111+
* Upon starting Gcompris, it should prompt for downloading some content
112+
* Also open Settings and look for options to download other content
113+
114+
* Download wallpapers/background images, then set one to be the desktop background:
115+
* Open a terminal and run the following:
116+
```
117+
mkdir -p koc/install
118+
```
119+
* Using web browser, download the following file into `koc/install` folder created in the last step:
120+
* https://raw.githubusercontent.com/kidsoncomputers/documentation/master/uganda/2024/mwebaza/backgrounds-koc-mwebaza-2024.sh
121+
* Return to the terminal and run:
122+
```
123+
cd koc/install
124+
chmod u+x backgrounds-koc-mwebaza-2024.sh
125+
./backgrounds-koc-mwebaza-2024.sh
126+
```
127+
128+
129+
#### Change background
130+
131+
* Right-click desktop, choose **Desktop Preferences**, **Desktop**, **Picture**, then select a background image from `Backgrounds/Mwebaza/` folder in the user's home directory.
132+
* Customize the stretch/layout of the picture as well as desktop background to match desired appearance
133+
134+
135+
## Create Image File from SD Card
136+
137+
* Follow [clone-sd-card](./clone-sd-card.md) instructions to make a backup copy of this custom OS for distribution.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# KoC/Mwebaza Raspberry Pi Image
2+
3+
* Download compressed `.img.zip` file:
4+
* Go to https://www.kidsoncomputers.org/data/projects/Uganda2024/
5+
* Download the latest image file
6+
* As of Jan 2024, the latest image file is 3.7GB zipped, 11GB unzipped
7+
* Unzip the file
8+
* Use **Etcher** or other software (https://www.raspberrypi.org/documentation/installation/installing-images/README.md) to write the .img file to a new SD Card (minimum 32GB)
9+
* Insert into Raspberry Pi and boot
10+
* Initial boot takes a bit longer than normal as the filesystem is unpacked, etc.
11+
* For help with this image, contact Kids on Computers mailing list via email: kidsoncomputers@kidsoncomputers.org
12+
13+

uganda/2024/mwebaza/operating-system-setup-raspberry-pi-os.md

Lines changed: 0 additions & 96 deletions
This file was deleted.

0 commit comments

Comments
 (0)