LINUX.ORG.RU

История изменений

Исправление kostik87, (текущая версия) :

Только что собрал модуль по приведённой выше инструкции и установил.

Версия ядра:

root@debian:~/# uname -a
Linux debian 4.3.0-0.bpo.1-686 #1 SMP Debian 4.3.3-7~bpo8+1 (2016-01-19) i686 GNU/Linux
Получаем срез git репозитория:
root@debian:~# git clone git://github.com/sfjro/aufs4-standalone.git
Cloning into 'aufs4-standalone'...
remote: Counting objects: 3487, done.
remote: Total 3487 (delta 0), reused 0 (delta 0), pack-reused 3487
Receiving objects: 100% (3487/3487), 798.37 KiB | 186.00 KiB/s, done.
Resolving deltas: 100% (1717/1717), done.
Checking connectivity... done.
root@debian:~# cd aufs4-standalone
Смотрим бранчи, нам нужен для ядра 4.3
root@debian:~/aufs4-standalone# git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/aufs4.0
  remotes/origin/aufs4.1
  remotes/origin/aufs4.1.13+
  remotes/origin/aufs4.2
  remotes/origin/aufs4.3
  remotes/origin/aufs4.4
  remotes/origin/aufs4.x-rcN
  remotes/origin/master

Получаем:

root@debian:~/aufs4-standalone# git checkout origin/aufs4.3
Note: checking out 'origin/aufs4.3'.

Собираем:

root@debian:~/aufs4-standalone# make
-I/root/aufs4-standalone/include -DCONFIG_AUFS_FS_MODULE -UCONFIG_AUFS -DCONFIG_AUFS_BRANCH_MAX_127 -DCONFIG_AUFS_SBILIST -DCONFIG_AUFS_DEBUG
make -C /lib/modules/4.3.0-0.bpo.1-686/build M=/root/aufs4-standalone/fs/aufs EXTRA_CFLAGS="-I/root/aufs4-standalone/include -DCONFIG_AUFS_FS_MODULE -UCONFIG_AUFS -DCONFIG_AUFS_BRANCH_MAX_127 -DCONFIG_AUFS_SBILIST -DCONFIG_AUFS_DEBUG" modules
make[1]: Entering directory '/usr/src/linux-headers-4.3.0-0.bpo.1-686'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
  CC [M]  /root/aufs4-standalone/fs/aufs/module.o
...
  LD [M]  /root/aufs4-standalone/fs/aufs/aufs.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /root/aufs4-standalone/fs/aufs/aufs.mod.o
  LD [M]  /root/aufs4-standalone/fs/aufs/aufs.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.3.0-0.bpo.1-686'
ln -f fs/aufs/aufs.ko aufs.ko
make -rR -C /lib/modules/4.3.0-0.bpo.1-686/build \
	-f scripts/Makefile.headersinst \
	-f Makefile \
	obj=root/aufs4-standalone/include/uapi/linux dst=root/aufs4-standalone/usr/include/linux
make[1]: Entering directory '/usr/src/linux-headers-4.3.0-0.bpo.1-686'
make[1]: scripts/Makefile.headersinst: No such file or directory
make[1]: *** No rule to make target 'scripts/Makefile.headersinst'.  Stop.
make[1]: Leaving directory '/usr/src/linux-headers-4.3.0-0.bpo.1-686'
Makefile:46: recipe for target 'usr/include/linux/aufs_type.h' failed
make: *** [usr/include/linux/aufs_type.h] Error 2

Как видишь в конце есть ошибка, но модуль собирается, об этом можно судить вот по этим строкам:

  LD [M]  /root/aufs4-standalone/fs/aufs/aufs.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /root/aufs4-standalone/fs/aufs/aufs.mod.o
  LD [M]  /root/aufs4-standalone/fs/aufs/aufs.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.3.0-0.bpo.1-686'
  ln -f fs/aufs/aufs.ko aufs.ko
, а так де по наличию соответствующего файла модуля:
root@debian:~/aufs4-standalone# ls
aufs4-base.patch    aufs4-loopback.patch  aufs4-standalone.patch  config.mk  Documentation  include		 Makefile  tmpfs-idr.patch
aufs4-kbuild.patch  aufs4-mmap.patch	  aufs.ko		  COPYING    fs		    lockdep-debug.patch  README    vfs-ino.patch

Из-за ошибки 'make install' не отработает, нужно либо править Makefile, либо скопировать файл модуля вручную.

root@debian:~/aufs4-standalone# mkdir /lib/modules/4.3.0-0.bpo.1-686/kernel/fs/aufs
root@debian:~/aufs4-standalone# cp aufs.ko /lib/modules/4.3.0-0.bpo.1-686/kernel/fs/aufs/
root@debian:~/aufs4-standalone# depmod -a
Ну и собственно загрузить модуль:
root@debian:~/aufs4-standalone# modprobe aufs
root@debian:~/aufs4-standalone# lsmod | grep aufs
aufs                  299008  0 

Теперь можно монтировать aufs:

root@debian:~/aufs4-standalone# mkdir /tmp/rw
root@debian:~/aufs4-standalone# mkdir /tmp/ro
root@debian:~/aufs4-standalone# mkdir /tmp/aufs
root@debian:~/aufs4-standalone# mount -t aufs aufs /tmp/aufs -o udba=reval,br:/tmp/rw/:/tmp/ro
root@debian:~/aufs4-standalone# mount | grep aufs
aufs on /tmp/aufs type aufs (rw,relatime,si=4a89a2dd)

Учись думать головой.

Исходная версия kostik87, :

Только что собрал модуль по приведённой выше инструкции и установил.

Версия ядра:

root@debian:~/# uname -a
Linux debian 4.3.0-0.bpo.1-686 #1 SMP Debian 4.3.3-7~bpo8+1 (2016-01-19) i686 GNU/Linux
Получаем срез git репозитория:
root@debian:~# git clone git://github.com/sfjro/aufs4-standalone.git
Cloning into 'aufs4-standalone'...
remote: Counting objects: 3487, done.
remote: Total 3487 (delta 0), reused 0 (delta 0), pack-reused 3487
Receiving objects: 100% (3487/3487), 798.37 KiB | 186.00 KiB/s, done.
Resolving deltas: 100% (1717/1717), done.
Checking connectivity... done.
root@debian:~# cd aufs4-standalone
Смотрим бранчи, нам нужен для ядра 4.3
root@debian:~/aufs4-standalone# git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/aufs4.0
  remotes/origin/aufs4.1
  remotes/origin/aufs4.1.13+
  remotes/origin/aufs4.2
  remotes/origin/aufs4.3
  remotes/origin/aufs4.4
  remotes/origin/aufs4.x-rcN
  remotes/origin/master

Получаем:

root@debian:~/aufs4-standalone# git checkout origin/aufs4.3
Note: checking out 'origin/aufs4.3'.

Собираем:

root@debian:~/aufs4-standalone# make
-I/root/aufs4-standalone/include -DCONFIG_AUFS_FS_MODULE -UCONFIG_AUFS -DCONFIG_AUFS_BRANCH_MAX_127 -DCONFIG_AUFS_SBILIST -DCONFIG_AUFS_DEBUG
make -C /lib/modules/4.3.0-0.bpo.1-686/build M=/root/aufs4-standalone/fs/aufs EXTRA_CFLAGS="-I/root/aufs4-standalone/include -DCONFIG_AUFS_FS_MODULE -UCONFIG_AUFS -DCONFIG_AUFS_BRANCH_MAX_127 -DCONFIG_AUFS_SBILIST -DCONFIG_AUFS_DEBUG" modules
make[1]: Entering directory '/usr/src/linux-headers-4.3.0-0.bpo.1-686'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
  CC [M]  /root/aufs4-standalone/fs/aufs/module.o
...
  LD [M]  /root/aufs4-standalone/fs/aufs/aufs.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /root/aufs4-standalone/fs/aufs/aufs.mod.o
  LD [M]  /root/aufs4-standalone/fs/aufs/aufs.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.3.0-0.bpo.1-686'
ln -f fs/aufs/aufs.ko aufs.ko
make -rR -C /lib/modules/4.3.0-0.bpo.1-686/build \
	-f scripts/Makefile.headersinst \
	-f Makefile \
	obj=root/aufs4-standalone/include/uapi/linux dst=root/aufs4-standalone/usr/include/linux
make[1]: Entering directory '/usr/src/linux-headers-4.3.0-0.bpo.1-686'
make[1]: scripts/Makefile.headersinst: No such file or directory
make[1]: *** No rule to make target 'scripts/Makefile.headersinst'.  Stop.
make[1]: Leaving directory '/usr/src/linux-headers-4.3.0-0.bpo.1-686'
Makefile:46: recipe for target 'usr/include/linux/aufs_type.h' failed
make: *** [usr/include/linux/aufs_type.h] Error 2

Как видишь в конце есть ошибка, но модуль собирается, есть соответствующий файл модуля:

root@debian:~/aufs4-standalone# ls
aufs4-base.patch    aufs4-loopback.patch  aufs4-standalone.patch  config.mk  Documentation  include		 Makefile  tmpfs-idr.patch
aufs4-kbuild.patch  aufs4-mmap.patch	  aufs.ko		  COPYING    fs		    lockdep-debug.patch  README    vfs-ino.patch

Из-за ошибки 'make install' не отработает, нужно либо править Makefile, либо скопировать файл модуля вручную.

root@debian:~/aufs4-standalone# mkdir /lib/modules/4.3.0-0.bpo.1-686/kernel/fs/aufs
root@debian:~/aufs4-standalone# cp aufs.ko /lib/modules/4.3.0-0.bpo.1-686/kernel/fs/aufs/
root@debian:~/aufs4-standalone# depmod -a
Ну и собственно загрузить модуль:
root@debian:~/aufs4-standalone# modprobe aufs
root@debian:~/aufs4-standalone# lsmod | grep aufs
aufs                  299008  0 

Теперь можно монтировать aufs:

root@debian:~/aufs4-standalone# mkdir /tmp/rw
root@debian:~/aufs4-standalone# mkdir /tmp/ro
root@debian:~/aufs4-standalone# mkdir /tmp/aufs
root@debian:~/aufs4-standalone# mount -t aufs aufs /tmp/aufs -o udba=reval,br:/tmp/rw/:/tmp/ro
root@debian:~/aufs4-standalone# mount | grep aufs
aufs on /tmp/aufs type aufs (rw,relatime,si=4a89a2dd)

Учись думать головой.