feat(kyuuto): fs roots

This commit is contained in:
arcnmx 2024-11-19 15:03:44 -08:00
parent e06af89d88
commit 99baf8dec6
4 changed files with 73 additions and 10 deletions

View file

@ -3,6 +3,8 @@
"lxc.mount.entry": [
"/mnt/kyuuto-media mnt/kyuuto-media none bind,optional,create=dir",
"/mnt/kyuuto-data/minecraft mnt/kyuuto-data/minecraft none bind,optional,create=dir",
"/mnt/kyuuto-data/systems/gengetsu/fs/root mnt/kyuuto-data/systems/gengetsu/fs/root none bind,optional,create=dir",
"/mnt/kyuuto-data/systems/gengetsu/fs/boot mnt/kyuuto-data/systems/gengetsu/fs/boot none bind,optional,create=dir",
"/dev/net/tun dev/net/tun none bind,optional,create=file"
],
"lxc.cgroup2.devices.allow": [

View file

@ -117,14 +117,16 @@ mkzfs() {
ZFS_ARGS=("$@")
if [[ $ZFS_NAME != ${ZFS_PATH#/} ]]; then
ZFS_ARGS+=(-o "mountpoint=$ZFS_PATH")
ZFS_ARGS+=(-o "mountpoint=${ZFS_PATH-none}")
fi
if [[ ! -d "$ZFS_PATH" ]]; then
if [[ -z "$ZFS_PATH" || ! -d "$ZFS_PATH" ]]; then
zfs create "$ZFS_NAME" ${ZFS_ARGS[@]+"${ZFS_ARGS[@]}"}
fi
chmod "$ZFS_MODE" "$ZFS_PATH"
chown "$ZFS_OWNER:$ZFS_GROUP" "$ZFS_PATH"
if [[ -n "$ZFS_PATH" ]]; then
chmod "$ZFS_MODE" "$ZFS_PATH"
chown "$ZFS_OWNER:$ZFS_GROUP" "$ZFS_PATH"
fi
}
mkshared() {
@ -140,11 +142,12 @@ mkcache() {
}
mkkyuuto() {
local KYUUTO_PATH KYUUTO_ARGS=()
local KYUUTO_MOUNTNAME KYUUTO_ARGS=()
KYUUTO_NAME=$1
KYUUTO_ARGS=("$2" "$3" "$4")
shift 4
mkzfs "/mnt/kyuuto-$KYUUTO_NAME" "${KYUUTO_ARGS[@]}" "kyuuto/$KYUUTO_NAME" "$@"
KYUUTO_MOUNTNAME=${KYUUTO_MOUNT-$KYUUTO_NAME}
mkzfs "/mnt/kyuuto-$KYUUTO_MOUNTNAME" "${KYUUTO_ARGS[@]}" "kyuuto/$KYUUTO_NAME" "$@"
}
mkshared nix 0 0 0755
@ -198,6 +201,22 @@ fi
chown 100913:8126 /mnt/kyuuto-data/minecraft/simplebackups
chmod 0775 /mnt/kyuuto-data/minecraft/simplebackups
mkkyuuto data/systems 0 0 0775
nfsystemroot=/mnt/kyuuto-data/systems
for nfsystem in gengetsu; do
mkkyuuto data/systems/$nfsystem 0 0 0750
if [[ ! -d $nfsystemroot/$nfsystem/fs ]]; then
mkdir $nfsystemroot/$nfsystem/fs
fi
chown 0:0 $nfsystemroot/$nfsystem/fs
chmod 0755 $nfsystemroot/$nfsystem/fs
for nfsystemfs in root boot; do
KYUUTO_MOUNT=data/systems/$nfsystem/fs/$nfsystemfs mkkyuuto data/systems/$nfsystem/$nfsystemfs 0 0 0755
done
done
ln -sf /lib/systemd/system/auth-rpcgss-module.service /etc/systemd/system/
mkdir -p /etc/systemd/system/auth-rpcgss-module.service.d
ln -sf /etc/systemd/system/auth-rpcgss-module.service /etc/systemd/system/multi-user.target.wants/