parent
0783160128
commit
3b2d22644f
1
README.md
generated
1
README.md
generated
@ -136,6 +136,7 @@ OPTIONS
|
||||
-s <gzip|lzo|xz> Compression type for the squashfs image (default: xz)
|
||||
-o <file> Output file name for the ISO image (default: automatic)
|
||||
-p "<pkg> ..." Install additional packages in the ISO image
|
||||
-g "<pkg> ..." Ignore packages when building the ISO image
|
||||
-I <includedir> Include directory structure under given path in the ROOTFS
|
||||
-S "<service> ..." Enable services in the ISO image
|
||||
-C "<arg> ..." Add additional kernel command line arguments
|
||||
|
59
mklive.sh
59
mklive.sh
@ -83,6 +83,7 @@ usage() {
|
||||
-s <gzip|lzo|xz> Compression type for the squashfs image (default: xz)
|
||||
-o <file> Output file name for the ISO image (default: automatic)
|
||||
-p "<pkg> ..." Install additional packages in the ISO image
|
||||
-g "<pkg> ..." Ignore packages when building the ISO image
|
||||
-I <includedir> Include directory structure under given path in the ROOTFS
|
||||
-S "<service> ..." Enable services in the ISO image
|
||||
-C "<arg> ..." Add additional kernel command line arguments
|
||||
@ -139,6 +140,13 @@ install_packages() {
|
||||
rm -rf "$ROOTFS"/var/cache/* "$ROOTFS"/run/* "$ROOTFS"/var/run/*
|
||||
}
|
||||
|
||||
ignore_packages() {
|
||||
mkdir -p "$ROOTFS"/etc/xbps.d
|
||||
for pkg in $IGNORE_PKGS; do
|
||||
echo "ignorepkg=$pkg" >> "$ROOTFS"/etc/xbps.d/mklive-ignore.conf
|
||||
done
|
||||
}
|
||||
|
||||
enable_services() {
|
||||
SERVICE_LIST="$*"
|
||||
for service in $SERVICE_LIST; do
|
||||
@ -302,28 +310,29 @@ generate_iso_image() {
|
||||
#
|
||||
# main()
|
||||
#
|
||||
while getopts "a:b:r:c:C:T:Kk:l:i:I:S:s:o:p:v:Vh" opt; do
|
||||
case $opt in
|
||||
a) BASE_ARCH="$OPTARG";;
|
||||
b) BASE_SYSTEM_PKG="$OPTARG";;
|
||||
r) XBPS_REPOSITORY="--repository=$OPTARG $XBPS_REPOSITORY";;
|
||||
c) XBPS_CACHEDIR="$OPTARG";;
|
||||
K) readonly KEEP_BUILDDIR=1;;
|
||||
k) KEYMAP="$OPTARG";;
|
||||
l) LOCALE="$OPTARG";;
|
||||
i) INITRAMFS_COMPRESSION="$OPTARG";;
|
||||
I) INCLUDE_DIRS+=("$OPTARG");;
|
||||
S) SERVICE_LIST="$SERVICE_LIST $OPTARG";;
|
||||
s) SQUASHFS_COMPRESSION="$OPTARG";;
|
||||
o) OUTPUT_FILE="$OPTARG";;
|
||||
p) PACKAGE_LIST="$PACKAGE_LIST $OPTARG";;
|
||||
C) BOOT_CMDLINE="$OPTARG";;
|
||||
T) BOOT_TITLE="$OPTARG";;
|
||||
v) LINUX_VERSION="$OPTARG";;
|
||||
V) version; exit 0;;
|
||||
h) usage; exit 0;;
|
||||
*) usage >&2; exit 1;;
|
||||
esac
|
||||
while getopts "a:b:r:c:C:T:Kk:l:i:I:S:s:o:p:g:v:Vh" opt; do
|
||||
case $opt in
|
||||
a) BASE_ARCH="$OPTARG";;
|
||||
b) BASE_SYSTEM_PKG="$OPTARG";;
|
||||
r) XBPS_REPOSITORY="--repository=$OPTARG $XBPS_REPOSITORY";;
|
||||
c) XBPS_CACHEDIR="$OPTARG";;
|
||||
g) IGNORE_PKGS="$IGNORE_PKGS $OPTARG" ;;
|
||||
K) readonly KEEP_BUILDDIR=1;;
|
||||
k) KEYMAP="$OPTARG";;
|
||||
l) LOCALE="$OPTARG";;
|
||||
i) INITRAMFS_COMPRESSION="$OPTARG";;
|
||||
I) INCLUDE_DIRS+=("$OPTARG");;
|
||||
S) SERVICE_LIST="$SERVICE_LIST $OPTARG";;
|
||||
s) SQUASHFS_COMPRESSION="$OPTARG";;
|
||||
o) OUTPUT_FILE="$OPTARG";;
|
||||
p) PACKAGE_LIST="$PACKAGE_LIST $OPTARG";;
|
||||
C) BOOT_CMDLINE="$OPTARG";;
|
||||
T) BOOT_TITLE="$OPTARG";;
|
||||
v) LINUX_VERSION="$OPTARG";;
|
||||
V) version; exit 0;;
|
||||
h) usage; exit 0;;
|
||||
*) usage >&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND - 1))
|
||||
XBPS_REPOSITORY="$XBPS_REPOSITORY --repository=https://repo-default.voidlinux.org/current --repository=https://repo-default.voidlinux.org/current/musl"
|
||||
@ -372,6 +381,7 @@ GRUB_DIR="$BOOT_DIR/grub"
|
||||
CURRENT_STEP=0
|
||||
STEP_COUNT=10
|
||||
[ "${#INCLUDE_DIRS[@]}" -gt 0 ] && STEP_COUNT=$((STEP_COUNT+1))
|
||||
[ -n "${IGNORE_PKGS}" ] && STEP_COUNT=$((STEP_COUNT+1))
|
||||
|
||||
: ${SYSLINUX_DATADIR:="$VOIDHOSTDIR"/usr/lib/syslinux}
|
||||
: ${GRUB_DATADIR:="$VOIDHOSTDIR"/usr/share/grub}
|
||||
@ -420,6 +430,11 @@ mkdir -p "$ROOTFS"/etc
|
||||
[ -s data/motd ] && cp data/motd "$ROOTFS"/etc
|
||||
[ -s data/issue ] && cp data/issue "$ROOTFS"/etc
|
||||
|
||||
if [ -n "$IGNORE_PKGS" ]; then
|
||||
print_step "Ignoring packages in the rootfs: ${IGNORE_PKGS} ..."
|
||||
ignore_packages
|
||||
fi
|
||||
|
||||
print_step "Installing void pkgs into the rootfs: ${PACKAGE_LIST} ..."
|
||||
install_packages
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user