Loop устройства Linux




По умолчанию в системе есть возможность запустить 8 loop устройств (loop0 - loop7), но возможно увеличить их число до 255 или даже до 256, но это я не тестировал

Подготовка:

Нужно иметь под рукой установленные исходники ядра со всеми подключаемыми пакетами для его компиляции. В This may be done by just redoing the loop.o module; however, I don't have instructions on doing that so I will show you the method I know. Если вам не известно какие пакеты нужны для компиляции ядра, то эту информаци можно получить там kernel.html.

Пошагова инструкци:

Отредактируйте /usr/src/linux/drivers/block/loop.c
Найдите строку:
#define MAX_LOOP 8

Оставьте ее как есть, просто смените 8 на 255, новая строка будет выглядеть так:
#define MAX_LOOP 255

Сохраните файл и выйдите из редактора.

Теперь когда вы скомпилируете модуль у вас появится возможность использовать больше loop устройст.

Компиляция модуля. Единственный путь который я знаю - это перекомпиляция всего ядра (kernel.html). Как только скомпилируете модуль и ядро и положите их на "место" и запустите /sbin/lilo, тогда вы сможете добавлять новые ноды устройств.

Ноды устройств требуют досупа к loop устройства. По умолчанию есть loop0 - loop7, но теперь есть возможность создать ноды в диапазоне loop8 - loop255. При желании, следующий код можно напечатать в одну строку убрав обратный слеш ("\") в конце строки.
   C=8; echo; echo "Creating loop device nodes."; \
   while [ $C -lt 256 ]; do mknod /dev/loop$C b 7 $C; \
   echo -n .; C=`expr $C   1`; done; echo;
На заметку: кавычки вокруг expr секции зовутся backtick'ами и раположены на одной кнопке (кнопке в левом верхнем углу клавы) с тильдой ("~"), так что прошу не спутать их с одинарными кавычками.

После перезагрузки системы будет загружено ядро с обновленным loop.o и которое будет готово к запуску 255 loop устройств.

Пример:
mount -t iso9660 /tmp/rh61.iso /mnt/rh61 -o loop
mount -t vfat /tmp/boot.img /mnt/boot -o loop
mount -t iso9660 /home/ftp/pub/RedHat70/disk1.iso
/home/ftp/pub/RedHat70/disk1 -o loop
...
Теперь не будет никаких остановок по достижении старого предела (до 8).

Дополнительно:
Чтобы протестировать работу на новом пределе я предлагаю следующий скрипт: scripts/maxloop_sh.txt


Поиск по сайту в FreeFind!:
Поиск в Google!:

WWW cpqlinux.com

Текущее положение:
Вернуться на главную: www.cpqlinux.com

Автор:
Ричард "Черный" (Richard Black)
Контакты: contact.html


Сайт создан в: 9/20/1999