Add auto-expand service in pull-image.sh
Create a systemd oneshot service that expands the rootfs on first boot after flashing. The service self-destructs after running. This ensures release images fill the SD card while keeping the download size small (16GB shrunk image). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -123,6 +123,37 @@ else
|
|||||||
echo -e "${GREEN} Rootfs already ~16GB${NC}"
|
echo -e "${GREEN} Rootfs already ~16GB${NC}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
# Re-enable auto-expand for release image
|
||||||
|
# ============================================================================
|
||||||
|
echo
|
||||||
|
echo -e "${YELLOW}Re-enabling auto-expand for release...${NC}"
|
||||||
|
TEMP_ROOT=$(mktemp -d)
|
||||||
|
mount "$ROOT_PART" "$TEMP_ROOT"
|
||||||
|
|
||||||
|
# Create the resize service that runs on first boot
|
||||||
|
cat > "$TEMP_ROOT/etc/systemd/system/rpi-resizerootfs.service" <<'RESIZE_EOF'
|
||||||
|
[Unit]
|
||||||
|
Description=Resize root filesystem to fill SD card
|
||||||
|
After=local-fs.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/bin/bash -c 'resize2fs $(findmnt -n -o SOURCE /) && systemctl disable rpi-resizerootfs.service && rm -f /etc/systemd/system/rpi-resizerootfs.service'
|
||||||
|
ExecStartPost=/bin/systemctl daemon-reload
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
RESIZE_EOF
|
||||||
|
|
||||||
|
# Enable the service
|
||||||
|
mkdir -p "$TEMP_ROOT/etc/systemd/system/multi-user.target.wants"
|
||||||
|
ln -sf /etc/systemd/system/rpi-resizerootfs.service "$TEMP_ROOT/etc/systemd/system/multi-user.target.wants/rpi-resizerootfs.service"
|
||||||
|
|
||||||
|
umount "$TEMP_ROOT"
|
||||||
|
rmdir "$TEMP_ROOT"
|
||||||
|
echo -e "${GREEN} Auto-expand service installed${NC}"
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# Pull image
|
# Pull image
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user