Some checks failed
Build Alpine RootFS and Docker Image (latest) / build-rootfs (push) Failing after 6s
Build Alpine RootFS and Docker Image (latest) / push-tarball (push) Has been skipped
Build Alpine RootFS and Docker Image (latest) / push-docker (push) Has been skipped
Build Alpine RootFS and Docker Image (latest) / update-changelog (push) Has been skipped
Build Alpine RootFS and Docker Image (latest) / update-build-info (push) Has been skipped
41 lines
1.3 KiB
Bash
41 lines
1.3 KiB
Bash
#!/bin/bash
|
|
# Copyright (c) 2025 fithwum
|
|
# All rights reserved
|
|
set -e
|
|
|
|
# Alpine version
|
|
ALPINE_VERSION="v3.20"
|
|
ROOTFS_DIR="alpine-rootfs"
|
|
OUTPUT_TAR="alpine-base.tar.gz"
|
|
PACKAGES="bash curl ca-certificates nano"
|
|
|
|
sudo apk add --no-cache util-linux
|
|
|
|
echo "[INFO] Downloading alpine-make-rootfs if needed..."
|
|
if [ ! -f ./alpine-make-rootfs ]; then
|
|
wget https://raw.githubusercontent.com/alpinelinux/alpine-make-rootfs/master/alpine-make-rootfs
|
|
chmod +x alpine-make-rootfs
|
|
fi
|
|
|
|
echo "[INFO] Creating Alpine rootfs with selected packages..."
|
|
sudo ./alpine-make-rootfs \
|
|
--branch "$ALPINE_VERSION" \
|
|
--mirror http://dl-cdn.alpinelinux.org/alpine \
|
|
--packages "$PACKAGES" \
|
|
"$ROOTFS_DIR"
|
|
|
|
echo "[INFO] Binding system directories for chroot..."
|
|
sudo mount --bind /dev "$ROOTFS_DIR/dev"
|
|
sudo mount --bind /proc "$ROOTFS_DIR/proc"
|
|
sudo mount --bind /sys "$ROOTFS_DIR/sys"
|
|
|
|
echo "[INFO] Copying part 2 script into chroot..."
|
|
sudo cp base-image-script/alpine-base_pt2.sh "$ROOTFS_DIR/alpine-base_pt2.sh"
|
|
sudo chmod +x "$ROOTFS_DIR/alpine-base_pt2.sh"
|
|
|
|
echo "[INFO] Entering chroot. Run 'exit' when done."
|
|
sudo chroot "$ROOTFS_DIR" /alpine-base_pt2.sh
|
|
|
|
echo "[INFO] Continuing with packaging after chroot..."
|
|
bash base-image-script/alpine-base_pt3.sh "$ROOTFS_DIR" "$OUTPUT_TAR"
|