25 lines
653 B
Bash
25 lines
653 B
Bash
|
#!/usr/bin/env bash
|
||
|
set -o errexit
|
||
|
set -o nounset
|
||
|
set -o pipefail
|
||
|
# set -o xtrace
|
||
|
|
||
|
create_ramdisk () {
|
||
|
ORIGINAL="${1}"
|
||
|
RAMDISK="${ORIGINAL}_ram"
|
||
|
SIZE="${2}"
|
||
|
echo "Creating ramdisk for ${1} of size ${SIZE}..."
|
||
|
|
||
|
mount -t tmpfs -o size="${SIZE}" tmpfs "${RAMDISK}"
|
||
|
rsync -a --exclude="swap" --exclude="apt" --exclude="dpkg" --exclude=".mozilla" "${ORIGINAL}/" "${RAMDISK}/"
|
||
|
mount --bind "${RAMDISK}" "${ORIGINAL}"
|
||
|
}
|
||
|
|
||
|
echo "Creating ramdisks..."
|
||
|
create_ramdisk "/var" "128M"
|
||
|
create_ramdisk "/etc" "16M"
|
||
|
create_ramdisk "/tmp" "16M"
|
||
|
|
||
|
# bind mount / so that we can get to the real /var and /etc
|
||
|
mount --bind / /root_bypass_ramdisks
|