Compare commits
20
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aaaf0aea13 | ||
|
|
c2db8285a1 | ||
|
|
3fe8d79947 | ||
|
|
8d40bc1bb4 | ||
|
|
178b1e404b | ||
|
|
f2060a8ee2 | ||
|
|
7149e20f2d | ||
|
|
207003b5ed | ||
|
|
c77669ad9f | ||
|
|
6618df4b08 | ||
|
|
0f5f10d925 | ||
|
|
19fc4a367e | ||
|
|
036e5242b3 | ||
|
|
8f361a1c38 | ||
|
|
68cdf34cb4 | ||
|
|
3441133d1c | ||
|
|
fe45b73987 | ||
|
|
bab0fe3b0d | ||
|
|
4d65b2b357 | ||
|
|
137efd2379 |
@@ -5,3 +5,4 @@ postrun.sh
|
|||||||
SKIP
|
SKIP
|
||||||
.pc
|
.pc
|
||||||
*-pc
|
*-pc
|
||||||
|
apt-cacher-ng/
|
||||||
|
|||||||
+2
-2
@@ -1,10 +1,10 @@
|
|||||||
FROM debian:jessie
|
FROM debian:stretch
|
||||||
|
|
||||||
RUN apt-get -y update && \
|
RUN apt-get -y update && \
|
||||||
apt-get -y install \
|
apt-get -y install \
|
||||||
git vim parted \
|
git vim parted \
|
||||||
quilt realpath qemu-user-static debootstrap zerofree pxz zip dosfstools \
|
quilt realpath qemu-user-static debootstrap zerofree pxz zip dosfstools \
|
||||||
bsdtar libcap2-bin rsync grep \
|
bsdtar libcap2-bin rsync grep udev xz-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
COPY . /pi-gen/
|
COPY . /pi-gen/
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ On Debian-based systems:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
apt-get install quilt parted realpath qemu-user-static debootstrap zerofree pxz zip \
|
apt-get install quilt parted realpath qemu-user-static debootstrap zerofree pxz zip \
|
||||||
dosfstools bsdtar libcap2-bin grep rsync
|
dosfstools bsdtar libcap2-bin grep rsync xz-utils
|
||||||
```
|
```
|
||||||
|
|
||||||
The file `depends` contains a list of tools needed. The format of this
|
The file `depends` contains a list of tools needed. The format of this
|
||||||
@@ -41,6 +41,12 @@ The following environment variables are supported:
|
|||||||
will not be included in the image, making it safe to use an `apt-cacher` or
|
will not be included in the image, making it safe to use an `apt-cacher` or
|
||||||
similar package for development.
|
similar package for development.
|
||||||
|
|
||||||
|
If you have Docker installed, you can set up a local apt caching proxy to
|
||||||
|
like speed up subsequent builds like this:
|
||||||
|
|
||||||
|
docker-compose up -d
|
||||||
|
echo 'APT_PROXY=http://172.17.0.1:3142' >> config
|
||||||
|
|
||||||
* `BASE_DIR` (Default: location of `build.sh`)
|
* `BASE_DIR` (Default: location of `build.sh`)
|
||||||
|
|
||||||
**CAUTION**: Currently, changing this value will probably break build.sh
|
**CAUTION**: Currently, changing this value will probably break build.sh
|
||||||
@@ -126,11 +132,11 @@ maintenance and allows for more easy customization.
|
|||||||
standard console hardware permission groups.
|
standard console hardware permission groups.
|
||||||
|
|
||||||
There are a few tools that may not make a whole lot of sense here for
|
There are a few tools that may not make a whole lot of sense here for
|
||||||
development purposes on a minimal system such as basic python and lua
|
development purposes on a minimal system such as basic Python and Lua
|
||||||
packages as well as the `build-essential` package. They are lumped right
|
packages as well as the `build-essential` package. They are lumped right
|
||||||
in with more essential packages presently, though they need not be with
|
in with more essential packages presently, though they need not be with
|
||||||
pi-gen. These are understandable for Raspbian's target audience, but if
|
pi-gen. These are understandable for Raspbian's target audience, but if
|
||||||
you were looking for something between truly minimal and Raspbian-lite,
|
you were looking for something between truly minimal and Raspbian-Lite,
|
||||||
here's where you start trimming.
|
here's where you start trimming.
|
||||||
|
|
||||||
- **Stage 3** - desktop system. Here's where you get the full desktop system
|
- **Stage 3** - desktop system. Here's where you get the full desktop system
|
||||||
|
|||||||
+5
-3
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
DOCKER="docker"
|
DOCKER="docker"
|
||||||
set +e
|
set +e
|
||||||
$DOCKER ps >/dev/null 2>&1
|
$DOCKER ps >/dev/null 2>&1
|
||||||
@@ -12,9 +13,10 @@ if ! $DOCKER ps >/dev/null; then
|
|||||||
fi
|
fi
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
config_mount="/dev/null:/dev/null"
|
|
||||||
|
config_mount=()
|
||||||
if [ -f config ]; then
|
if [ -f config ]; then
|
||||||
config_mount="$(pwd)/config:/pi-gen/config:ro"
|
config_mount=("-v" "$(pwd)/config:/pi-gen/config:ro")
|
||||||
source config
|
source config
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -65,7 +67,7 @@ else
|
|||||||
$DOCKER run --name "${CONTAINER_NAME}" --privileged \
|
$DOCKER run --name "${CONTAINER_NAME}" --privileged \
|
||||||
-e IMG_NAME=${IMG_NAME}\
|
-e IMG_NAME=${IMG_NAME}\
|
||||||
-v "$(pwd)/deploy:/pi-gen/deploy" \
|
-v "$(pwd)/deploy:/pi-gen/deploy" \
|
||||||
-v "${config_mount}" \
|
"${config_mount[@]}" \
|
||||||
pi-gen \
|
pi-gen \
|
||||||
bash -e -o pipefail -c "dpkg-reconfigure qemu-user-static &&
|
bash -e -o pipefail -c "dpkg-reconfigure qemu-user-static &&
|
||||||
cd /pi-gen; ./build.sh &&
|
cd /pi-gen; ./build.sh &&
|
||||||
|
|||||||
@@ -9,4 +9,5 @@ mkdosfs:dosfstools
|
|||||||
capsh:libcap2-bin
|
capsh:libcap2-bin
|
||||||
bsdtar
|
bsdtar
|
||||||
grep
|
grep
|
||||||
rsync
|
rsync
|
||||||
|
xz:xz-utils
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
version: '2'
|
||||||
|
|
||||||
|
services:
|
||||||
|
apt-cacher-ng:
|
||||||
|
restart: unless-stopped
|
||||||
|
image: sameersbn/apt-cacher-ng:latest
|
||||||
|
ports:
|
||||||
|
- "3142:3142"
|
||||||
|
volumes:
|
||||||
|
- ./apt-cacher-ng:/var/cache/apt-cacher-ng
|
||||||
@@ -1,2 +1,3 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
exit 101
|
exit 101
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ Index: export-jessie/rootfs/etc/apt/sources.list.d/raspi.list
|
|||||||
--- export-jessie.orig/rootfs/etc/apt/sources.list.d/raspi.list
|
--- export-jessie.orig/rootfs/etc/apt/sources.list.d/raspi.list
|
||||||
+++ export-jessie/rootfs/etc/apt/sources.list.d/raspi.list
|
+++ export-jessie/rootfs/etc/apt/sources.list.d/raspi.list
|
||||||
@@ -1,3 +1,3 @@
|
@@ -1,3 +1,3 @@
|
||||||
-deb http://archive.raspberrypi.org/debian/ jessie main ui staging
|
-deb http://archive.raspberrypi.org/debian/ stretch main ui staging
|
||||||
+deb http://archive.raspberrypi.org/debian/ jessie main ui
|
+deb http://archive.raspberrypi.org/debian/ stretch main ui
|
||||||
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
|
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
|
||||||
#deb-src http://archive.raspberrypi.org/debian/ jessie main ui
|
#deb-src http://archive.raspberrypi.org/debian/ stretch main ui
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
install -m 644 files/resolv.conf ${ROOTFS_DIR}/etc/
|
install -m 644 files/resolv.conf ${ROOTFS_DIR}/etc/
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
IMG_FILE="${STAGE_WORK_DIR}/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.img"
|
IMG_FILE="${STAGE_WORK_DIR}/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.img"
|
||||||
|
|
||||||
IMGID="$(fdisk -l ${IMG_FILE} | sed -n 's/Disk identifier: 0x\([^ ]*\)/\1/p')"
|
IMGID="$(fdisk -l ${IMG_FILE} | sed -n 's/Disk identifier: 0x\([^ ]*\)/\1/p')"
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
IMG_FILE="${STAGE_WORK_DIR}/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.img"
|
IMG_FILE="${STAGE_WORK_DIR}/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.img"
|
||||||
|
INFO_FILE="${STAGE_WORK_DIR}/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.info"
|
||||||
|
|
||||||
on_chroot << EOF
|
on_chroot << EOF
|
||||||
/etc/init.d/fake-hwclock stop
|
/etc/init.d/fake-hwclock stop
|
||||||
@@ -47,6 +48,24 @@ update_issue $(basename ${EXPORT_DIR})
|
|||||||
install -m 644 ${ROOTFS_DIR}/etc/rpi-issue ${ROOTFS_DIR}/boot/issue.txt
|
install -m 644 ${ROOTFS_DIR}/etc/rpi-issue ${ROOTFS_DIR}/boot/issue.txt
|
||||||
install files/LICENSE.oracle ${ROOTFS_DIR}/boot/
|
install files/LICENSE.oracle ${ROOTFS_DIR}/boot/
|
||||||
|
|
||||||
|
|
||||||
|
cp "$ROOTFS_DIR/etc/rpi-issue" "$INFO_FILE"
|
||||||
|
|
||||||
|
firmware=$(zgrep "firmware as of" "$ROOTFS_DIR/usr/share/doc/raspberrypi-kernel/changelog.Debian.gz" | \
|
||||||
|
head -n1 | \
|
||||||
|
sed -n 's|.* \([^ ]*\)$|\1|p')
|
||||||
|
|
||||||
|
printf "\nFirmware: https://github.com/raspberrypi/firmware/tree/%s\n" "$firmware" >> "$INFO_FILE"
|
||||||
|
|
||||||
|
kernel=$(curl -s -L "https://github.com/raspberrypi/firmware/raw/$firmware/extra/git_hash")
|
||||||
|
printf "Kernel: https://github.com/raspberrypi/linux/tree/%s\n" "$kernel" >> "$INFO_FILE"
|
||||||
|
|
||||||
|
uname=$(curl -s -L "https://github.com/raspberrypi/firmware/raw/$firmware/extra/uname_string7")
|
||||||
|
printf "Uname string: %s\n" "$uname" >> "$INFO_FILE"
|
||||||
|
|
||||||
|
printf "\nPackages:\n">> "$INFO_FILE"
|
||||||
|
dpkg -l --root "$ROOTFS_DIR" >> "$INFO_FILE"
|
||||||
|
|
||||||
ROOT_DEV=$(mount | grep "${ROOTFS_DIR} " | cut -f1 -d' ')
|
ROOT_DEV=$(mount | grep "${ROOTFS_DIR} " | cut -f1 -d' ')
|
||||||
|
|
||||||
unmount ${ROOTFS_DIR}
|
unmount ${ROOTFS_DIR}
|
||||||
@@ -58,7 +77,8 @@ mkdir -p ${DEPLOY_DIR}
|
|||||||
|
|
||||||
rm -f ${DEPLOY_DIR}/image_${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.zip
|
rm -f ${DEPLOY_DIR}/image_${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.zip
|
||||||
|
|
||||||
echo zip ${DEPLOY_DIR}/image_${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.zip ${IMG_FILE}
|
|
||||||
pushd ${STAGE_WORK_DIR} > /dev/null
|
pushd ${STAGE_WORK_DIR} > /dev/null
|
||||||
zip ${DEPLOY_DIR}/image_${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.zip $(basename ${IMG_FILE})
|
zip ${DEPLOY_DIR}/image_${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.zip $(basename ${IMG_FILE})
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
|
|
||||||
|
cp "$INFO_FILE" "$DEPLOY_DIR"
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
IMG_FILE="${STAGE_WORK_DIR}/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.img"
|
IMG_FILE="${STAGE_WORK_DIR}/${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}.img"
|
||||||
|
|
||||||
unmount_image ${IMG_FILE}
|
unmount_image ${IMG_FILE}
|
||||||
@@ -50,8 +51,14 @@ ROOT_DEV=$(losetup --show -f -o ${ROOT_OFFSET} --sizelimit ${ROOT_LENGTH} ${IMG_
|
|||||||
echo "/boot: offset $BOOT_OFFSET, length $BOOT_LENGTH"
|
echo "/boot: offset $BOOT_OFFSET, length $BOOT_LENGTH"
|
||||||
echo "/: offset $ROOT_OFFSET, length $ROOT_LENGTH"
|
echo "/: offset $ROOT_OFFSET, length $ROOT_LENGTH"
|
||||||
|
|
||||||
|
ROOT_FEATURES="^huge_file"
|
||||||
|
for FEATURE in metadata_csum 64bit; do
|
||||||
|
if grep -q "$FEATURE" /etc/mke2fs.conf; then
|
||||||
|
ROOT_FEATURES="^$FEATURE,$ROOT_FEATURES"
|
||||||
|
fi
|
||||||
|
done
|
||||||
mkdosfs -n boot -F 32 -v $BOOT_DEV > /dev/null
|
mkdosfs -n boot -F 32 -v $BOOT_DEV > /dev/null
|
||||||
mkfs.ext4 -O ^metadata_csum,^huge_file $ROOT_DEV > /dev/null
|
mkfs.ext4 -O $ROOT_FEATURES $ROOT_DEV > /dev/null
|
||||||
|
|
||||||
mount -v $ROOT_DEV ${ROOTFS_DIR} -t ext4
|
mount -v $ROOT_DEV ${ROOTFS_DIR} -t ext4
|
||||||
mkdir -p ${ROOTFS_DIR}/boot
|
mkdir -p ${ROOTFS_DIR}/boot
|
||||||
|
|||||||
@@ -14,5 +14,5 @@
|
|||||||
],
|
],
|
||||||
"url": "http://www.raspbian.org/",
|
"url": "http://www.raspbian.org/",
|
||||||
"username": "pi",
|
"username": "pi",
|
||||||
"version": "jessie"
|
"version": "stretch"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,17 @@
|
|||||||
UNRELEASED:
|
UNRELEASED:
|
||||||
|
* Based on Raspbian Stretch (Debian version 9)
|
||||||
|
* Version 60 of Chromium browser included
|
||||||
|
* Version 3.0.1 of Sonic Pi included
|
||||||
|
* Version 6.1.1 of RealVNC included
|
||||||
|
* Version 0.17.4 of NodeRED included
|
||||||
|
* Bluetooth audio routed via ALSA rather than Pulseaudio
|
||||||
|
* SenseHAT extension added to Scratch 2
|
||||||
|
* Various desktop applications modified to prompt for sudo password if needed
|
||||||
|
* lxinput control options for mouse speed simplified
|
||||||
|
* lxpanel plugins moved into separate packages
|
||||||
|
* Latest kernel and firmware
|
||||||
|
* Various small tweaks, bug fixes and theme modifications
|
||||||
|
2017-07-05:
|
||||||
* New kernel and firmware
|
* New kernel and firmware
|
||||||
* Filesystem created without the metadata_csum feature
|
* Filesystem created without the metadata_csum feature
|
||||||
2017-06-21:
|
2017-06-21:
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ mkdir -p ${NOOBS_DIR}
|
|||||||
mount $ROOT_DEV ${STAGE_WORK_DIR}/rootfs
|
mount $ROOT_DEV ${STAGE_WORK_DIR}/rootfs
|
||||||
mount $BOOT_DEV ${STAGE_WORK_DIR}/rootfs/boot
|
mount $BOOT_DEV ${STAGE_WORK_DIR}/rootfs/boot
|
||||||
|
|
||||||
|
ln -sv "/lib/systemd/system/apply_noobs_os_config.service" "$ROOTFS_DIR/etc/systemd/system/multi-user.target.wants/apply_noobs_os_config.service"
|
||||||
|
|
||||||
bsdtar --format gnutar --use-compress-program pxz -C ${STAGE_WORK_DIR}/rootfs/boot -cpf ${NOOBS_DIR}/boot.tar.xz .
|
bsdtar --format gnutar --use-compress-program pxz -C ${STAGE_WORK_DIR}/rootfs/boot -cpf ${NOOBS_DIR}/boot.tar.xz .
|
||||||
umount ${STAGE_WORK_DIR}/rootfs/boot
|
umount ${STAGE_WORK_DIR}/rootfs/boot
|
||||||
bsdtar --format gnutar --use-compress-program pxz -C ${STAGE_WORK_DIR}/rootfs --one-file-system -cpf ${NOOBS_DIR}/root.tar.xz .
|
bsdtar --format gnutar --use-compress-program pxz -C ${STAGE_WORK_DIR}/rootfs --one-file-system -cpf ${NOOBS_DIR}/root.tar.xz .
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# dependencies_check
|
# dependencies_check
|
||||||
# $@ Dependnecy files to check
|
# $@ Dependency files to check
|
||||||
#
|
#
|
||||||
# Each dependency is in the form of a tool to test for, optionally followed by
|
# Each dependency is in the form of a tool to test for, optionally followed by
|
||||||
# a : and the name of a package if the package on a Debian-ish system is not
|
# a : and the name of a package if the package on a Debian-ish system is not
|
||||||
@@ -21,7 +21,7 @@ dependencies_check()
|
|||||||
done
|
done
|
||||||
|
|
||||||
if [[ "$missing" ]]; then
|
if [[ "$missing" ]]; then
|
||||||
echo "Reqired dependencies not installed"
|
echo "Required dependencies not installed"
|
||||||
echo
|
echo
|
||||||
echo "This can be resolved on Debian/Raspbian systems by installing:"
|
echo "This can be resolved on Debian/Raspbian systems by installing:"
|
||||||
echo "$missing"
|
echo "$missing"
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
deb http://archive.raspberrypi.org/debian/ jessie main ui staging
|
deb http://archive.raspberrypi.org/debian/ stretch main ui staging
|
||||||
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
|
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
|
||||||
#deb-src http://archive.raspberrypi.org/debian/ jessie main ui
|
#deb-src http://archive.raspberrypi.org/debian/ stretch main ui
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
|
deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi
|
||||||
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
|
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
|
||||||
#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi
|
#deb-src http://archive.raspbian.org/raspbian/ stretch main contrib non-free rpi
|
||||||
|
|||||||
+2
-1
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
if [ ! -d ${ROOTFS_DIR} ]; then
|
if [ ! -d ${ROOTFS_DIR} ]; then
|
||||||
bootstrap jessie ${ROOTFS_DIR} http://mirrordirector.raspbian.org/raspbian/
|
bootstrap stretch ${ROOTFS_DIR} http://mirrordirector.raspbian.org/raspbian/
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
exit 101
|
exit 101
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
Index: jessie-stage1/rootfs/lib/udev/rules.d/75-persistent-net-generator.rules
|
|
||||||
===================================================================
|
|
||||||
--- jessie-stage1.orig/rootfs/lib/udev/rules.d/75-persistent-net-generator.rules
|
|
||||||
+++ jessie-stage1/rootfs/lib/udev/rules.d/75-persistent-net-generator.rules
|
|
||||||
@@ -22,7 +22,7 @@ IMPORT{cmdline}="net.ifnames"
|
|
||||||
ENV{net.ifnames}=="1", GOTO="persistent_net_generator_end"
|
|
||||||
|
|
||||||
# device name whitelist
|
|
||||||
-KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", \
|
|
||||||
+KERNEL!="ath*|msh*|ra*|sta*|ctc*|lcs*|hsi*", \
|
|
||||||
GOTO="persistent_net_generator_end"
|
|
||||||
|
|
||||||
# ignore Xen virtual interfaces
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
01-hosts.diff
|
01-hosts.diff
|
||||||
02-persistant-net.diff
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
install -m 644 files/ipv6.conf ${ROOTFS_DIR}/etc/modprobe.d/ipv6.conf
|
install -m 644 files/ipv6.conf ${ROOTFS_DIR}/etc/modprobe.d/ipv6.conf
|
||||||
install -m 644 files/interfaces ${ROOTFS_DIR}/etc/network/interfaces
|
|
||||||
install -m 644 files/hostname ${ROOTFS_DIR}/etc/hostname
|
install -m 644 files/hostname ${ROOTFS_DIR}/etc/hostname
|
||||||
|
|
||||||
on_chroot << EOF
|
on_chroot << EOF
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
if [ ! -d ${ROOTFS_DIR} ]; then
|
if [ ! -d ${ROOTFS_DIR} ]; then
|
||||||
copy_previous
|
copy_previous
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
ssh less fbset sudo psmisc strace module-init-tools ed ncdu crda
|
ssh less fbset sudo psmisc strace ed ncdu crda
|
||||||
console-setup keyboard-configuration debconf-utils parted unzip
|
console-setup keyboard-configuration debconf-utils parted unzip
|
||||||
build-essential manpages-dev python bash-completion gdb pkg-config
|
build-essential manpages-dev python bash-completion gdb pkg-config
|
||||||
python-rpi.gpio v4l-utils
|
python-rpi.gpio v4l-utils
|
||||||
@@ -6,7 +6,7 @@ avahi-daemon
|
|||||||
lua5.1
|
lua5.1
|
||||||
luajit
|
luajit
|
||||||
hardlink ca-certificates curl
|
hardlink ca-certificates curl
|
||||||
fake-hwclock ntp nfs-common usbutils
|
fake-hwclock nfs-common usbutils
|
||||||
libraspberrypi-dev libraspberrypi-doc libfreetype6-dev
|
libraspberrypi-dev libraspberrypi-doc libfreetype6-dev
|
||||||
dosfstools
|
dosfstools
|
||||||
dphys-swapfile
|
dphys-swapfile
|
||||||
@@ -17,3 +17,6 @@ usb-modeswitch
|
|||||||
apt-transport-https
|
apt-transport-https
|
||||||
libpam-chksshpwd
|
libpam-chksshpwd
|
||||||
rpi-update
|
rpi-update
|
||||||
|
libmtp-runtime
|
||||||
|
rsync
|
||||||
|
htop
|
||||||
|
|||||||
@@ -2,5 +2,4 @@
|
|||||||
02-swap.diff
|
02-swap.diff
|
||||||
04-inputrc.diff
|
04-inputrc.diff
|
||||||
05-path.diff
|
05-path.diff
|
||||||
06-rc_local.diff
|
|
||||||
07-resize-init.diff
|
07-resize-init.diff
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
install -m 644 files/regenerate_ssh_host_keys.service ${ROOTFS_DIR}/lib/systemd/system/
|
|
||||||
install -m 755 files/apply_noobs_os_config ${ROOTFS_DIR}/etc/init.d/
|
|
||||||
install -m 755 files/resize2fs_once ${ROOTFS_DIR}/etc/init.d/
|
install -m 755 files/resize2fs_once ${ROOTFS_DIR}/etc/init.d/
|
||||||
|
|
||||||
install -d ${ROOTFS_DIR}/etc/systemd/system/rc-local.service.d
|
install -d ${ROOTFS_DIR}/etc/systemd/system/rc-local.service.d
|
||||||
@@ -11,13 +9,14 @@ install -m 644 files/50raspi ${ROOTFS_DIR}/etc/apt/apt.conf.d/
|
|||||||
|
|
||||||
install -m 644 files/console-setup ${ROOTFS_DIR}/etc/default/
|
install -m 644 files/console-setup ${ROOTFS_DIR}/etc/default/
|
||||||
|
|
||||||
|
install -m 755 files/rc.local ${ROOTFS_DIR}/etc/
|
||||||
|
|
||||||
on_chroot << EOF
|
on_chroot << EOF
|
||||||
systemctl disable hwclock.sh
|
systemctl disable hwclock.sh
|
||||||
systemctl disable nfs-common
|
systemctl disable nfs-common
|
||||||
systemctl disable rpcbind
|
systemctl disable rpcbind
|
||||||
systemctl disable ssh
|
systemctl disable ssh
|
||||||
systemctl enable regenerate_ssh_host_keys
|
systemctl enable regenerate_ssh_host_keys
|
||||||
systemctl enable apply_noobs_os_config
|
|
||||||
systemctl enable resize2fs_once
|
systemctl enable resize2fs_once
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: apply_noobs_os_config
|
|
||||||
# Required-Start:
|
|
||||||
# Required-Stop:
|
|
||||||
# Default-Start: 2
|
|
||||||
# Default-Stop:
|
|
||||||
# Short-Description: Apply config from /boot/os_config.json
|
|
||||||
# Description:
|
|
||||||
### END INIT INFO
|
|
||||||
|
|
||||||
. /lib/lsb/init-functions
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
log_daemon_msg "Applying config from /boot/os_config.json (if it exists)"
|
|
||||||
if raspi-config --apply-os-config; then
|
|
||||||
update-rc.d apply_noobs_os_config remove
|
|
||||||
rm /etc/init.d/apply_noobs_os_config
|
|
||||||
log_end_msg 0
|
|
||||||
else
|
|
||||||
log_end_msg 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $0 start" >&2
|
|
||||||
exit 3
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
Executable
+20
@@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
#
|
||||||
|
# rc.local
|
||||||
|
#
|
||||||
|
# This script is executed at the end of each multiuser runlevel.
|
||||||
|
# Make sure that the script will "exit 0" on success or any other
|
||||||
|
# value on error.
|
||||||
|
#
|
||||||
|
# In order to enable or disable this script just change the execution
|
||||||
|
# bits.
|
||||||
|
#
|
||||||
|
# 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,11 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Regenerate SSH host keys
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
ExecStartPre=/bin/sh -c "if [ -e /dev/hwrng ]; then dd if=/dev/hwrng of=/dev/urandom count=1 bs=4096; fi"
|
|
||||||
ExecStart=/usr/bin/ssh-keygen -A
|
|
||||||
ExecStartPost=/bin/rm /lib/systemd/system/regenerate_ssh_host_keys.service ; /usr/sbin/update-rc.d regenerate_ssh_host_keys remove
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
wpasupplicant wireless-tools firmware-atheros firmware-brcm80211 firmware-libertas firmware-ralink firmware-realtek
|
wpasupplicant wireless-tools firmware-atheros firmware-brcm80211 firmware-libertas firmware-misc-nonfree firmware-realtek
|
||||||
raspberrypi-net-mods
|
raspberrypi-net-mods
|
||||||
dhcpcd5
|
dhcpcd5
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
[Service]
|
[Service]
|
||||||
ExecStart=
|
ExecStart=
|
||||||
ExecStart=/sbin/dhcpcd -q -w
|
ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -w
|
||||||
|
|||||||
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
NOOBS_NAME="Raspbian Lite"
|
NOOBS_NAME="Raspbian Lite"
|
||||||
NOOBS_DESCRIPTION="A port of Debian jessie for the Raspberry Pi (minimal version)"
|
NOOBS_DESCRIPTION="A port of Debian Stretch for the Raspberry Pi (minimal version)"
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
if [ ! -d ${ROOTFS_DIR} ]; then
|
if [ ! -d ${ROOTFS_DIR} ]; then
|
||||||
copy_previous
|
copy_previous
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -8,3 +8,4 @@ policykit-1
|
|||||||
gvfs
|
gvfs
|
||||||
rfkill
|
rfkill
|
||||||
chromium-browser rpi-chromium-mods
|
chromium-browser rpi-chromium-mods
|
||||||
|
gldriver-test
|
||||||
|
|||||||
@@ -6,4 +6,3 @@ update-alternatives --install /usr/bin/x-www-browser \
|
|||||||
update-alternatives --install /usr/bin/gnome-www-browser \
|
update-alternatives --install /usr/bin/gnome-www-browser \
|
||||||
gnome-www-browser /usr/bin/chromium-browser 86
|
gnome-www-browser /usr/bin/chromium-browser 86
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
if [ ! -d ${ROOTFS_DIR} ]; then
|
if [ ! -d ${ROOTFS_DIR} ]; then
|
||||||
copy_previous
|
copy_previous
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -8,11 +8,11 @@ python-serial python3-serial
|
|||||||
python-picamera python3-picamera
|
python-picamera python3-picamera
|
||||||
debian-reference-en dillo x2x
|
debian-reference-en dillo x2x
|
||||||
raspberrypi-net-mods raspberrypi-ui-mods
|
raspberrypi-net-mods raspberrypi-ui-mods
|
||||||
smartsim penguinspuzzle
|
fonts-liberation2
|
||||||
|
smartsim
|
||||||
python-pip python3-pip
|
python-pip python3-pip
|
||||||
python3-numpy
|
python3-numpy
|
||||||
pypy
|
pypy
|
||||||
python3-pifacecommon python3-pifacedigitalio python3-pifacedigital-scratch-handler python-pifacecommon python-pifacedigitalio
|
|
||||||
minecraft-pi python-minecraftpi
|
minecraft-pi python-minecraftpi
|
||||||
alacarte rc-gui sense-hat
|
alacarte rc-gui sense-hat
|
||||||
claws-mail
|
claws-mail
|
||||||
@@ -23,14 +23,12 @@ nodered
|
|||||||
libgl1-mesa-dri libgles1-mesa libgles2-mesa xcompmgr
|
libgl1-mesa-dri libgles1-mesa libgles2-mesa xcompmgr
|
||||||
geany
|
geany
|
||||||
piclone
|
piclone
|
||||||
pulseaudio-module-bluetooth
|
|
||||||
wiringpi pigpio python-pigpio python3-pigpio raspi-gpio python-gpiozero python3-gpiozero python3-rpi.gpio
|
wiringpi pigpio python-pigpio python3-pigpio raspi-gpio python-gpiozero python3-gpiozero python3-rpi.gpio
|
||||||
python-spidev python3-spidev
|
python-spidev python3-spidev
|
||||||
python-twython python3-twython
|
python-twython python3-twython
|
||||||
python-smbus python3-smbus
|
python-smbus python3-smbus
|
||||||
python-flask python3-flask
|
python-flask python3-flask
|
||||||
python-picraft python3-picraft
|
python-picraft python3-picraft
|
||||||
python3-codebug-tether python3-codebug-i2c-tether
|
|
||||||
python-sense-emu python3-sense-emu sense-emu-tools python-sense-emu-doc
|
python-sense-emu python3-sense-emu sense-emu-tools python-sense-emu-doc
|
||||||
pprompt
|
pprompt
|
||||||
scratch2
|
scratch2
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
if [ ! -d ${ROOTFS_DIR} ]; then
|
if [ ! -d ${ROOTFS_DIR} ]; then
|
||||||
copy_previous
|
copy_previous
|
||||||
fi
|
fi
|
||||||
|
|||||||
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
NOOBS_NAME="Raspbian"
|
NOOBS_NAME="Raspbian"
|
||||||
NOOBS_DESCRIPTION="A port of Debian jessie for the Raspberry Pi (full desktop version)"
|
NOOBS_DESCRIPTION="A port of Debian Stretch for the Raspberry Pi (full desktop version)"
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
if [ ! -d ${ROOTFS_DIR} ]; then
|
if [ ! -d ${ROOTFS_DIR} ]; then
|
||||||
copy_previous
|
copy_previous
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user