Current Path : /usr/src/release/scripts/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/src/release/scripts/split-file.sh |
#!/bin/sh # # $FreeBSD: release/9.1.0/release/scripts/split-file.sh 134353 2004-08-26 19:15:20Z ru $ # # Bail if things fail and be verbose about what we are doing set -ex # Arguments are as follows: file destdir chunksize description FILE=$1; shift DEST=$1; shift CHUNK_SIZE=$1; shift DESCR=$1; shift # Make sure we can read the file. [ -r ${FILE} ] # Create clean working area to stick file chunks and list in rm -rf ${DEST} || true mkdir -p ${DEST} # Split the file into pieces prefix=`basename $FILE` dd if=${FILE} bs=16k iseek=1 | split -b ${CHUNK_SIZE}k - ${DEST}/${prefix}. # Create a special file for the first 16k that gets stuck on the boot # floppy files=`ls ${DEST}/${prefix}.*` first=`echo "${files}" | head -1` bootchunk="${DEST}/${prefix}.boot" dd if=${FILE} of=${bootchunk} bs=16k count=1 # Create the split index file echo `basename ${bootchunk}` "\"Boot floppy\"" > ${DEST}/${prefix}.split i=1 for file in ${files}; do echo `basename ${file}` "\"${DESCR} floppy ${i}\"" >> ${DEST}/${prefix}.split i=$(($i + 1)) done