On Mon, 24 Dec 2012 22:53:14 -0500, Eyetee <
learn.pr...@eyetee.org> wrote:
>I find the 14.0 .iso a bit bloated at 2.2 gigs, so I'd like to build my
>own, minimal .iso that downloads from repositories during install. Any
>advice on how I can get started?
Yeah... I made a script for that, post it here occasionally, disadvantage
is that it requires install files be downloaded first, I use rsync:
grant@deltree:~$ cd /home/mirror/slackware64-14.0/
grant@deltree:/home/mirror/slackware64-14.0$ cat ../make-boot-cd
#!/bin/bash
#
# build a Slackware boot cd image, derived from isolinux/README.TXT
#
# Copyright (C) 2005-2009 Grant Coady <
gr...@bugsplatter.id.au> GPLv2
#
# Last edit: 2009-10-06
#
# This script produces an ISO image of Slackware install tree that can be
# used:
# a) as a boot CD for network (NFS) install, this is a good option for
# following slackware-current as the boot + install section rarely
# changes
#
# b) to install a minimal text-only Slackware system
#
# Usage
# ``````
# Place this script in your local mirror root directory, for example on my
# system I have:
# /home/mirror/
# |-- make-boot-cd
# |-- make-boot-dvd
# |-- slackware-11.0
# |-- slackware-13.0
# |-- slackware-current
# |-- slackware64-13.0
# `-- slackware64-current
#
# Run script by cd'ing into desired mirror top-level directory and issuing
# the command as ../make-boot-cd
#
# Notes
# ``````
# Joerg Schilling says following options not required
# -hide-rr-moved -d -N -J
#
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# User values
# ````````````
# Specify directory and filename for output .iso file, directory may also
# be specified on command line:
output_dir="/home/common"
output_file="slackware.iso"
# Use slackware-$version.iso for output filename
output_file="${PWD##*/}.iso"
#
# Specify volume label (max 32 chars):
volume_id="Slackware_Install"
# Use directory name (eg. slackware64-13.0) for Volume Label (or comment out)
volume_id=${PWD##*/}
#
# Specify application ID 'This should describe the application that will be
# on the disc.' --man mkisofs
application_id="Slackware Install CD"
#
# Specify boot load size, this is count of virtual 512 byte sectors loaded
# to memory, use multiple of 4 as CD sector is 2K.
boot_load_size=4
#
# Adjust to match boot file size, comment out if it not work for you
### boot_load_size=$(((($(stat -c %s ./isolinux/isolinux.bin)+2047)/2048)*4))
#
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
do_fail() # reason
{
printf "\n\tfatal: %s\n\n" $1
exit 1
}
# Perhaps use CLI parameter for custom output directory
[ -n "$1" ] && output_dir="$1"
#
# Check we got output directory
[ -d "$output_dir" ] || do_fail "no destination directory $output_dir"
#
output_path="$output_dir/$output_file"
#
# Autodetect Slackware64
disk_set_path="slackware"
[ -d "slackware64" ] && disk_set_path="slackware64"
#
# Finally, we produce the boot CD image
mkisofs -A "$application_id" -R -V "$volume_id" \
-b isolinux/isolinux.bin -c isolinux/isolinux.boot \
-boot-info-table -boot-load-size $boot_load_size \
-no-emul-boot -sort isolinux/iso.sort \
-x ./extra \
-x ./pasture \
-x ./patches \
-x ./$disk_set_path/d \
-x ./$disk_set_path/e \
-x ./$disk_set_path/f \
-x ./$disk_set_path/k \
-x ./$disk_set_path/kde \
-x ./$disk_set_path/t \
-x ./$disk_set_path/tcl \
-x ./$disk_set_path/x \
-x ./$disk_set_path/xap \
-x ./$disk_set_path/xfce \
-x ./$disk_set_path/y \
-x ./source \
-x ./testing \
-x ./zipslack \
-o "$output_path" .
#
echo "Image written to $output_path"
# end
Grant.
>
>Eyetee