Slax
Среда, 27.11.2024, 03:26
Меню сайта

Категории каталога
Для пользователей [8]
Для разработчиков [4]

Форма входа

Поиск

Друзья сайта

Статистика
счетчик посещений





Анализ сайта


Онлайн всего: 1
Гостей: 1
Пользователей: 0

Наш опрос
Как вам мой сайт?
Всего ответов: 27

Реклама



Главная » Статьи » Для разработчиков

Как монтировать loop-файлы в Slax

Немного истории

Старые версии Линукс (ранее 2.6.23) имеют строго ограниченное количество loopback устройств (/dev/loop*). По умолчанию максимум было 8, если загрузочный параметр max_loop был указан. Благодаря этому параметру, пользователь может активировать до 256 loopback устройств. Udev, тогда отвечает за создание всех 256 loop-файлов в /dev/loop/.

Даже если 256 может быть достаточно для кого-нибудь, не достаточно для Slax. Так Slax участвует в поддержке лучшего код в ядре Linux, который был добавлен к основному 2.6.23.

 

Текущая систуация

Начиная со Slax 6 используется Linux Kernel 2.6.24 и старше, больше не существует предела, и вы можете использовать столько loopback устройств, сколько вам нужно. С другой стороны, необходимо сохранить обратную совместимость со всеми <сломанными> инструментами (например, modprobe, losetup и т.д.), которые по-прежнему отказываются работать на loopback устройствах с меньшим номером превышающим 255. Так что следующий подход был оговорен:

If a max_loop=n boot parameter is specified, it behaves like before, the 'n' becomes a new limit and udev creates 'n' files in /dev/loop/. If the parameter is not specified (it is not in Slax), a loop device per module is created (with a minimum of 8) and you have to mknod more manually, if you need them.

 

Сообщение об ошибке "couldn't find any free loop device"

If you see this error after an attempt to mount -o loop, simply see /dev/loop/* and create a next loop device number using mknod /dev/loop/100 b 7 100. If you reach the limit of 256, you'll need to loop-mount in two steps:

# first create a new loop device
mknod /dev/loop/300 b 7 300

# then assign your loop file to new loop device
losetup /dev/loop/300 your_loop_file.dat

# and finally mount the loop device insetad of the file
mount /dev/loop/300 /your_mount_directory/

# if you then need to unmount, use
umount /your_mount_directory/
losetup -d /dev/loop/300

If you wish to create a new loop device automatically in your script, include /usr/lib/liblinuxlive in it and call mknod_next_loop_dev function:

NEW_LOOP=$(mknod_next_loop_dev)
losetup $NEW_LOOP your_file
mount $NEW_LOOP /your/mount/directory
Категория: Для разработчиков | Добавил: slax (26.11.2008)
Просмотров: 2676 | Комментарии: 1 | Рейтинг: 0.0/0 |
Всего комментариев: 0

Имя *:
Email *:
Код *:


Copyright MyCorp © 2024
Сделать бесплатный сайт с uCoz