Compare commits
29
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7b40fd11bc | ||
|
|
59cd0a3d9c | ||
|
|
42279ee7b5 | ||
|
|
1133934111 | ||
|
|
37da6846dd | ||
|
|
6000d5871f | ||
|
|
330ce73491 | ||
|
|
02e4c733e3 | ||
|
|
99e43ea229 | ||
|
|
568cfb014e | ||
|
|
07bb3bdc7d | ||
|
|
8e898a6b34 | ||
|
|
34780633cc | ||
|
|
0d34fb9439 | ||
|
|
8e7faf7fba | ||
|
|
3c3528aaf0 | ||
|
|
1445894c2e | ||
|
|
8d9cfb3e46 | ||
|
|
fea9e2945a | ||
|
|
9d76d3a6a2 | ||
|
|
df156f02ff | ||
|
|
4a5ecb6180 | ||
|
|
1f51b8bd18 | ||
|
|
d6c238c1b2 | ||
|
|
93db373672 | ||
|
|
555417bbe6 | ||
|
|
75452f9a00 | ||
|
|
343cabc8f5 | ||
|
|
de5b2baa1c |
+1
-1
@@ -6,7 +6,7 @@ RUN apt-get -y update && \
|
||||
apt-get -y install \
|
||||
git vim parted \
|
||||
quilt realpath qemu-user-static debootstrap zerofree pxz zip dosfstools \
|
||||
bsdtar libcap2-bin rsync grep udev xz-utils curl xxd \
|
||||
bsdtar libcap2-bin rsync grep udev xz-utils curl xxd file \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY . /pi-gen/
|
||||
|
||||
@@ -13,7 +13,7 @@ To install the required dependencies for pi-gen you should run:
|
||||
|
||||
```bash
|
||||
apt-get install quilt parted realpath qemu-user-static debootstrap zerofree pxz zip \
|
||||
dosfstools bsdtar libcap2-bin grep rsync xz-utils
|
||||
dosfstools bsdtar libcap2-bin grep rsync xz-utils file git
|
||||
```
|
||||
|
||||
The file `depends` contains a list of tools needed. The format of this
|
||||
@@ -70,7 +70,8 @@ The following environment variables are supported:
|
||||
|
||||
* `USE_QEMU` (Default: `"0"`)
|
||||
|
||||
This enable the Qemu mode and set filesystem and image suffix if set to 1.
|
||||
Setting to '1' enables the QEMU mode - creating an image that can be mounted via QEMU for an emulated
|
||||
environment. These images include "-qemu" in the image file name.
|
||||
|
||||
|
||||
A simple example for building Raspbian:
|
||||
@@ -98,7 +99,7 @@ The following process is followed to build images:
|
||||
There are a number of different files and directories which can be used to
|
||||
control different parts of the build process:
|
||||
|
||||
- **00-run.sh** - A unix shell script. Needs to be made executable for it to run
|
||||
- **00-run.sh** - A unix shell script. Needs to be made executable for it to run.
|
||||
|
||||
- **00-run-chroot.sh** - A unix shell script which will be run in the chroot
|
||||
of the image build directory. Needs to be made executable for it to run.
|
||||
@@ -110,9 +111,12 @@ The following process is followed to build images:
|
||||
separated, per line.
|
||||
|
||||
- **00-packages-nr** - As 00-packages, except these will be installed using
|
||||
the ```--no-install-recommends -y``` parameters to apt-get
|
||||
the ```--no-install-recommends -y``` parameters to apt-get.
|
||||
|
||||
- **00-patches** - A directory containing patch files to be applied
|
||||
- **00-patches** - A directory containing patch files to be applied, using quilt.
|
||||
If a file named 'EDIT' is present in the directory, the build process will
|
||||
be interrupted with a bash session, allowing an opportunity to create/revise
|
||||
the patches.
|
||||
|
||||
* If the stage directory contains files called "EXPORT_NOOBS" or "EXPORT_IMAGE" then
|
||||
add this stage to a list of images to generate
|
||||
@@ -245,3 +249,26 @@ follows:
|
||||
* Once you're happy with the image you can remove the SKIP_IMAGES files and
|
||||
export your image to test
|
||||
|
||||
# Troubleshooting
|
||||
|
||||
## `binfmt_misc`
|
||||
|
||||
Linux is able execute binaries from other architectures, meaning that it should be
|
||||
possible to make use of `pi-gen` on an x86_64 system, even though it will be running
|
||||
ARM binaries. This requires support from the [`binfmt_misc`](https://en.wikipedia.org/wiki/Binfmt_misc)
|
||||
kernel module.
|
||||
|
||||
You may see the following error:
|
||||
|
||||
```
|
||||
update-binfmts: warning: Couldn't load the binfmt_misc module.
|
||||
```
|
||||
|
||||
To resolve this, ensure that the following files are available (install them if necessary):
|
||||
|
||||
```
|
||||
/lib/modules/$(uname -r)/kernel/fs/binfmt_misc.ko
|
||||
/usr/bin/qemu-arm-static
|
||||
```
|
||||
|
||||
You may also need to load the module by hand - run `modprobe binfmt_misc`.
|
||||
|
||||
@@ -40,7 +40,7 @@ EOF
|
||||
pushd "${STAGE_WORK_DIR}" > /dev/null
|
||||
if [ "${CLEAN}" = "1" ]; then
|
||||
rm -rf .pc
|
||||
rm -rf "./*-pc"
|
||||
rm -rf ./*-pc
|
||||
fi
|
||||
QUILT_PATCHES="${SUB_STAGE_DIR}/${i}-patches"
|
||||
SUB_STAGE_QUILT_PATCH_DIR="$(basename "$SUB_STAGE_DIR")-pc"
|
||||
|
||||
@@ -22,11 +22,13 @@ rm -f "${ROOTFS_DIR}/etc/passwd-"
|
||||
rm -f "${ROOTFS_DIR}/etc/group-"
|
||||
rm -f "${ROOTFS_DIR}/etc/shadow-"
|
||||
rm -f "${ROOTFS_DIR}/etc/gshadow-"
|
||||
rm -f "${ROOTFS_DIR}/etc/subuid-"
|
||||
rm -f "${ROOTFS_DIR}/etc/subgid-"
|
||||
|
||||
rm -f "${ROOTFS_DIR}/var/cache/debconf/*-old"
|
||||
rm -f "${ROOTFS_DIR}/var/lib/dpkg/*-old"
|
||||
rm -f "${ROOTFS_DIR}"/var/cache/debconf/*-old
|
||||
rm -f "${ROOTFS_DIR}"/var/lib/dpkg/*-old
|
||||
|
||||
rm -f "${ROOTFS_DIR}/usr/share/icons/*/icon-theme.cache"
|
||||
rm -f "${ROOTFS_DIR}"/usr/share/icons/*/icon-theme.cache
|
||||
|
||||
rm -f "${ROOTFS_DIR}/var/lib/dbus/machine-id"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"description": "NOOBS_DESCRIPTION",
|
||||
"feature_level": 35120124,
|
||||
"kernel": "4.9",
|
||||
"kernel": "4.14",
|
||||
"name": "NOOBS_NAME",
|
||||
"password": "raspberry",
|
||||
"release_date": "UNRELEASED",
|
||||
|
||||
@@ -29,7 +29,7 @@ if [ -f /settings/wpa_supplicant.conf ]; then
|
||||
fi
|
||||
|
||||
if ! grep -q resize /proc/cmdline; then
|
||||
sed -i 's| quiet init=/usr/lib/raspi-config/init_resize.sh||' /tmp/1/cmdline.txt
|
||||
sed -i 's| init=/usr/lib/raspi-config/init_resize.sh||;s| quiet||2g' /tmp/1/cmdline.txt
|
||||
fi
|
||||
|
||||
umount /tmp/1
|
||||
|
||||
@@ -1,4 +1,62 @@
|
||||
UNRELEASED:
|
||||
* In startup wizard, assign keyboard to country as per Debian installer recommendations
|
||||
* In startup wizard, add option to use US keyboard in preference to country-specific option
|
||||
* In startup wizard, show IP address on first page
|
||||
* In startup wizard, check for existing wifi network connection and show it if there is one
|
||||
* In startup wizard, install language support packages for LibreOffice and other applications
|
||||
* In startup wizard, improve operation with keyboard only and no mouse
|
||||
* Password change in Raspberry Pi Configuration and startup wizard now works properly if passwords contain shell characters
|
||||
* Battery indicator plugin modified to cope with Pi-top hardware monitor crashing
|
||||
* Networking plugin hides wifi password characters by default
|
||||
* In Scratch 2 GPIO plugin, set pin from dropdown list rather than free text
|
||||
* In Scratch 2 SenseHAT plugin, swap x and y axis values for LED array
|
||||
* Include latest Adobe Flash player (31.0.0.108)
|
||||
* Include latest RealVNC Server (6.3.1)
|
||||
* Include libav-tools
|
||||
* Include ssh-import-id
|
||||
* Removed Mathematica
|
||||
* Merge in latest third-party code for Bluetooth ALSA interface
|
||||
* Add ability to prevent software update changing configuration files, by creating ~/.config/.lock file
|
||||
* Various other small bug fixes, tweaks and changes to text
|
||||
* Make dhcpcd work with 3G devices
|
||||
* Set default timezone to 'Europe/London'
|
||||
* Add hw acceleration to ffmpeg
|
||||
* Improved WiFi-BT coexistence parameters
|
||||
* Run fake-hwclock before systemd-fsck-root
|
||||
* Raspberry Pi PoE HAT support
|
||||
* Linux kernel 4.14.71
|
||||
* Raspberry Pi firmware 5b49caa17e91d0e64024380119ad739bb201c674
|
||||
2018-06-27:
|
||||
* New first-boot configuration wizard added
|
||||
* Recommended Software installer added
|
||||
* Bluej, Greenfoot, NodeRED, Claws Mail, VNC Viewer removed from image - can now be installed from Recommended Applications
|
||||
* Qpdfview PDF viewer installed instead of Xpdf
|
||||
* Version 65.0 of Chromium browser included, with latest Flash player
|
||||
* Volume up / down keys now change by 5% increments and affect currently-selected output device rather than internal device only
|
||||
* Network plugin now remembers previously-entered WiFi network passwords when prompting for reconnection
|
||||
* Serial port and serial console can now be switched separately in Raspberry Pi Configuration
|
||||
* Lxkeymap keyboard language setting application removed - replaced with dialog within Raspberry Pi Configuration
|
||||
* Wifi country and keyboard language setting dialogs in Raspberry Pi Configuration now callable from other applications
|
||||
* New version of Piboto font included to render with correct weight under some rogue applications
|
||||
* Reconnection to Bluetooth audio devices on reboot improved
|
||||
* Disable click-to-rename behaviour in file manager if single-click selection enabled
|
||||
* Appearance Settings dialog makes config changes to some Qt files to match selected theme
|
||||
* MIME file type associations improved
|
||||
* Multiple desktop management options removed from mouse middle-click menu
|
||||
* Menu shortcuts to Raspberry Pi website amended
|
||||
* Python 2 IDLE menu link removed
|
||||
* Sample Magpi PDF installed in /home/pi/MagPi
|
||||
* Various minor tweaks, bug fixes and appearance changes
|
||||
* Bluetooth updates
|
||||
- Firmware with Bluetooth 4.2 features
|
||||
- SCO profile suppot added via bthelper.service
|
||||
* Linux kernel 4.14.50+
|
||||
* Raspberry Pi firmware 748fb17992426bb29d99224b93cb962fefbdc833
|
||||
2018-04-18:
|
||||
* Fixed race between wifi-country.service and raspberrypi-net-mods.service
|
||||
* Linux kernel 4.14.34+
|
||||
* Raspberry Pi firmware 5db8e4e1c63178e200d6fbea23ed4a9bf4656658
|
||||
2018-03-13:
|
||||
* Raspberry Pi 3 B+ support
|
||||
* WiFi is disabled until wireless regulatory domain is set (Pi 3 B+ only)
|
||||
- The domain can be done through 'Raspberry Pi Configuration' (rc_gui),
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi
|
||||
deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
|
||||
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
|
||||
#deb-src http://archive.raspbian.org/raspbian/ stretch main contrib non-free rpi
|
||||
#deb-src http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
raspberrypi-bootloader
|
||||
raspberrypi-kernel
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
if [ ! -d "${ROOTFS_DIR}" ]; then
|
||||
bootstrap stretch "${ROOTFS_DIR}" http://mirrordirector.raspbian.org/raspbian/
|
||||
bootstrap stretch "${ROOTFS_DIR}" http://raspbian.raspberrypi.org/raspbian/
|
||||
fi
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
netbase
|
||||
@@ -7,12 +7,8 @@ console-setup console-setup/codeset47 select Guess optimal character set
|
||||
# Font for the console:
|
||||
# Choices: Fixed, Goha, GohaClassic, Terminus, TerminusBold, TerminusBoldVGA, VGA, Do not change the boot/kernel font, Let the system select a suitable font
|
||||
console-setup console-setup/fontface47 select Do not change the boot/kernel font
|
||||
# Geographic area:
|
||||
# Choices: Africa, America, Antarctica, Australia, Arctic Ocean, Asia, Atlantic Ocean, Europe, Indian Ocean, Pacific Ocean, System V timezones, US, None of the above
|
||||
tzdata tzdata/Areas select Etc
|
||||
# Time zone:
|
||||
# Choices: GMT, GMT+0, GMT+1, GMT+10, GMT+11, GMT+12, GMT+2, GMT+3, GMT+4, GMT+5, GMT+6, GMT+7, GMT+8, GMT+9, GMT-0, GMT-1, GMT-10, GMT-11, GMT-12, GMT-13, GMT-14, GMT-2, GMT-3, GMT-4, GMT-5, GMT-6, GMT-7, GMT-8, GMT-9, GMT0, Greenwich, UCT, UTC, Universal, Zulu
|
||||
tzdata tzdata/Zones/Etc select UTC
|
||||
tzdata tzdata/Areas select Europe
|
||||
tzdata tzdata/Zones/Europe select London
|
||||
# Key to function as AltGr:
|
||||
# Choices: The default for the keyboard layout, No AltGr key, Right Alt (AltGr), Right Control, Right Logo key, Menu key, Left Alt, Left Logo key, Keypad Enter key, Both Logo keys, Both Alt keys
|
||||
keyboard-configuration keyboard-configuration/altgr select The default for the keyboard layout
|
||||
|
||||
@@ -22,3 +22,4 @@ rsync
|
||||
htop
|
||||
man-db
|
||||
policykit-1
|
||||
ssh-import-id
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
Index: jessie-stage2/rootfs/etc/rc.local
|
||||
===================================================================
|
||||
--- jessie-stage2.orig/rootfs/etc/rc.local
|
||||
+++ jessie-stage2/rootfs/etc/rc.local
|
||||
@@ -11,4 +11,10 @@
|
||||
#
|
||||
# By default this script does nothing.
|
||||
|
||||
+# Print the IP address
|
||||
+_IP=$(hostname -I) || true
|
||||
+if [ "$_IP" ]; then
|
||||
+ printf "My IP address is %s\n" "$_IP"
|
||||
+fi
|
||||
+
|
||||
exit 0
|
||||
@@ -1,5 +1,5 @@
|
||||
gstreamer1.0-x gstreamer1.0-omx gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-libav
|
||||
xpdf gtk2-engines alsa-utils
|
||||
qpdfview gtk2-engines alsa-utils
|
||||
desktop-base
|
||||
git
|
||||
omxplayer
|
||||
|
||||
@@ -14,11 +14,8 @@ python3-numpy
|
||||
pypy
|
||||
minecraft-pi python-minecraftpi
|
||||
alacarte rc-gui sense-hat
|
||||
claws-mail
|
||||
tree
|
||||
scratch nuscratch
|
||||
greenfoot bluej
|
||||
nodered
|
||||
libgl1-mesa-dri libgles1-mesa libgles2-mesa xcompmgr
|
||||
geany
|
||||
piclone
|
||||
@@ -32,3 +29,6 @@ python-sense-emu python3-sense-emu sense-emu-tools python-sense-emu-doc
|
||||
pprompt
|
||||
scratch2
|
||||
python3-thonny
|
||||
piwiz
|
||||
rp-prefapps
|
||||
libav-tools
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
libreoffice libreoffice-gtk
|
||||
libreoffice-pi
|
||||
timidity
|
||||
pi-package
|
||||
realvnc-vnc-server realvnc-vnc-viewer
|
||||
realvnc-vnc-server
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
hunspell-en-gb
|
||||
hyphen-en-gb
|
||||
libreoffice-help-en-gb
|
||||
libreoffice-l10n-en-gb
|
||||
wamerican
|
||||
wbritish
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
magpi_regex="MagPi[[:digit:]]*.pdf"
|
||||
magpi_loc="https://www.raspberrypi.org/magpi-issues"
|
||||
magpi_latest="$(curl "$magpi_loc/?C=M;O=D" -s | grep "$magpi_regex" -m 1 -o | head -n 1)"
|
||||
|
||||
if [ ! -f "files/$magpi_latest" ]; then
|
||||
find files/ -regextype grep -regex "files/$magpi_regex" -delete
|
||||
wget "$magpi_loc/$magpi_latest" -O "files/$magpi_latest"
|
||||
fi
|
||||
|
||||
file "files/$magpi_latest" | grep -q "PDF document"
|
||||
|
||||
install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/pi/MagPi"
|
||||
install -v -o 1000 -g 1000 -m 644 "files/$magpi_latest" "${ROOTFS_DIR}/home/pi/MagPi/"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
*.pdf
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
IMG_SUFFIX="-4GB"
|
||||
IMG_SUFFIX=""
|
||||
if [ "${USE_QEMU}" = "1" ]; then
|
||||
export IMG_SUFFIX="${IMG_SUFFIX}-qemu"
|
||||
fi
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
wolfram-engine
|
||||
@@ -1,4 +0,0 @@
|
||||
IMG_SUFFIX=""
|
||||
if [ "${USE_QEMU}" = "1" ]; then
|
||||
export IMG_SUFFIX="${IMG_SUFFIX}-qemu"
|
||||
fi
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
if [ ! -d "${ROOTFS_DIR}" ]; then
|
||||
copy_previous
|
||||
fi
|
||||
Reference in New Issue
Block a user