Compare commits
6
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 &&
|
||||||
|
|||||||
@@ -10,3 +10,4 @@ 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
|
||||||
|
|||||||
@@ -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,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,12 @@ 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"
|
||||||
|
if grep -q "metadata_csum" /etc/mke2fs.conf; then
|
||||||
|
ROOT_FEATURES="^metadata_csum,$ROOT_FEATURES"
|
||||||
|
fi
|
||||||
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
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
UNRELEASED:
|
UNRELEASED:
|
||||||
|
*
|
||||||
|
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:
|
||||||
|
|||||||
@@ -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,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 jessie ${ROOTFS_DIR} http://mirrordirector.raspbian.org/raspbian/
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
exit 101
|
exit 101
|
||||||
|
|||||||
@@ -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,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
if [ ! -d ${ROOTFS_DIR} ]; then
|
if [ ! -d ${ROOTFS_DIR} ]; then
|
||||||
copy_previous
|
copy_previous
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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,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