dracut-aufs.paketlendi
This commit is contained in:
parent
f56bb2fa24
commit
f34a0f646a
|
@ -0,0 +1,92 @@
|
|||
#!/bin/sh
|
||||
|
||||
. /lib/dracut-lib.sh
|
||||
|
||||
data=$(getarg aufs_root)
|
||||
|
||||
if [ ! -z "$data" ] ; then
|
||||
|
||||
skip_dirs=$(getarg rfreeze_skip_dirs)
|
||||
|
||||
# we can have either "aufs_root=UUID=" or "aufs_root=DIR="
|
||||
case $data in
|
||||
*UUID=* )
|
||||
echo "AAA"
|
||||
UUID=${data#UUID=}
|
||||
DIR=""
|
||||
;;
|
||||
*DIR=* )
|
||||
UUID=""
|
||||
DIR=${data#DIR=}
|
||||
;;
|
||||
esac
|
||||
|
||||
mount -t tmpfs tmpfs /sysroot/tmp
|
||||
mkdir /sysroot/tmp/xinos
|
||||
mkdir /sysroot/tmp/sysroot-rw
|
||||
mkdir /sysroot/tmp/sysroot-ro
|
||||
mount -o bind /sysroot /sysroot/tmp/sysroot-ro
|
||||
|
||||
RES=0
|
||||
|
||||
if [ ! -z "$UUID" ] ; then
|
||||
/sbin/fsck.ext2 -y /dev/disk/by-uuid/$UUID
|
||||
mount /dev/disk/by-uuid/$UUID /sysroot/tmp/sysroot-rw && RES=1
|
||||
fi
|
||||
|
||||
if [ ! -z "$DIR" ] ; then
|
||||
RES=1
|
||||
fi
|
||||
|
||||
if [ "$RES" = 0 ] ; then
|
||||
mount -n -t tmpfs tmpfs /sysroot/tmp/sysroot-rw
|
||||
fi
|
||||
|
||||
if [ ! -z "$skip_dirs" ] ; then
|
||||
SKIP_DIRS=${skip_dirs//:/ }
|
||||
else
|
||||
SKIP_DIRS="dev home lost+found media mnt proc run sys tmp"
|
||||
fi
|
||||
|
||||
for d in `ls /sysroot `
|
||||
do
|
||||
skip_dir=0
|
||||
if [ ! -d "/sysroot/$d" ] ; then
|
||||
continue
|
||||
fi
|
||||
for sd in $SKIP_DIRS
|
||||
do
|
||||
if [ $d = $sd ] ; then
|
||||
skip_dir=1
|
||||
fi
|
||||
done
|
||||
if [ $skip_dir = 1 ] ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
if [ ! -e "/sysroot/tmp/sysroot-rw/$d" ] ; then
|
||||
if [ $d = "root" ] ; then
|
||||
mkdir -m 750 "/sysroot/tmp/sysroot-rw/$d"
|
||||
else
|
||||
mkdir -m 755 "/sysroot/tmp/sysroot-rw/$d"
|
||||
fi
|
||||
fi
|
||||
if [ ! -d "/sysroot/tmp/sysroot-rw/$d" ] ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
if [ ! -z "$DIR" ] ; then
|
||||
mount -o bind /sysroot/$DIR/$d /sysroot/tmp/sysroot-rw/$d
|
||||
fi
|
||||
|
||||
mount -n -t aufs -o nowarn_perm,noatime,xino=/sysroot/tmp/xinos/$d.xino.aufs,dirs=/sysroot/tmp/sysroot-rw/$d=rw:/sysroot/$d=rr none /sysroot/$d
|
||||
|
||||
done
|
||||
|
||||
# cp -f /etc/halt /sysroot/etc/init.d/halt
|
||||
# cp -f /etc/functions /sysroot/etc/init.d/functions
|
||||
|
||||
# mount -n -t aufs -o noatime,xino=/xinos/sysroot.xino.aufs,dirs=/sysroot-rw=rw:/sysroot=rr none /sysroot
|
||||
|
||||
fi # if [ ! -z "$data" ]
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
#!/bin/bash
|
||||
|
||||
# called by dracut
|
||||
check() {
|
||||
return 0
|
||||
}
|
||||
|
||||
# called by dracut
|
||||
depends() {
|
||||
return 0
|
||||
}
|
||||
|
||||
# called by dracut
|
||||
installkernel() {
|
||||
instmods aufs
|
||||
}
|
||||
|
||||
# called by dracut
|
||||
install() {
|
||||
inst_multiple -o fsck.ext2 fsck.ext4 fsck.ext3
|
||||
|
||||
inst_hook pre-pivot 10 "$moddir/aufs-mount.sh"
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
# Description: Dracut için aufs modülünü kullanarak dizinlerin başlama esnasında bağlanmasını sağlar.
|
||||
# URL: https://abf-doc.rosalinux.ru/din/dracut-aufs.git
|
||||
# Packager: milisarge
|
||||
# Depends on: dracut
|
||||
|
||||
name=dracut-aufs
|
||||
version=1.0
|
||||
release=1
|
||||
source=(aufs-mount.sh
|
||||
module-setup.sh)
|
||||
|
||||
build() {
|
||||
install -d $PKG/usr/lib/dracut/modules.d/99aufs-mount
|
||||
install -m 755 $SRC/aufs-mount.sh $PKG/usr/lib/dracut/modules.d/99aufs-mount/
|
||||
install -m 755 $SRC/module-setup.sh $PKG/usr/lib/dracut/modules.d/99aufs-mount/
|
||||
}
|
Loading…
Reference in New Issue