web-dev-qa-db-ja.com

Fedora 19で/ dev / loop *デバイスを追加する方法

Fedora 19で/ dev/loop *デバイスをさらに追加する方法は?私がやります:

# uname -r
3.11.2-201.fc19.x86_64
# lsmod |grep loop

# ls /dev/loop*
/dev/loop0  /dev/loop1  /dev/loop2  /dev/loop3  /dev/loop4  /dev/loop5  /dev/loop6  /dev/loop7  /dev/loop-control
# modprobe loop max_loop=128
# ls /dev/loop*
/dev/loop0  /dev/loop1  /dev/loop2  /dev/loop3  /dev/loop4  /dev/loop5  /dev/loop6  /dev/loop7  /dev/loop-control

何も変わりません。

11
user219372

Mknodを使用して/devにデバイスノードを作成する必要があります。 devのデバイスノードには、タイプ(ブロック、文字など)、メジャー番号、マイナー番号があります。 ls -l /dev/loop0を実行すると、タイプとメジャー番号を確認できます。

user@foo:/sys# ls -l /dev/loop0
brw-rw---- 1 root disk 7, 0 Oct  8 08:12 /dev/loop0

つまり、ループデバイスノードのブロックタイプとメジャー番号は7である必要があります。マイナー番号は、デバイスノードごとに1ずつ増加し、0から始まるため、loop0は単に0で、loop7は7です。

Loop8を作成するには、ルートとしてコマンドmknod -m 0660 /dev/loop8 b 7 8を実行します。これにより、/dev/loop8スイッチに沿って指定された権限を持つデバイスノード-mが作成されます(デスクトップシステムを実行している可能性があるため、これは必要ありませんが、誰もがデバイスを読み書きできないようにすることをお勧めしますノード)。

9
Sami Laine

ルートとして実行すると、losetup -fは、使用可能な空きデバイスがない場合に、必要に応じてループデバイスを自動的に作成します。

したがって、mknodを使用して自分で行うのではなく、新しいループデバイスを作成する最も簡単な方法はSudo losetup -fを使用することです。この方法では、既存のループデバイスが存在する場合は無料で使用でき、必要に応じて新しいループデバイスが自動的に作成されます。

11
ncoghlan

Heh、incomplete :)このスクリプトを使用して、新しい/ dev/loopsを追加します。数字を変更することを忘れないでください。スクリプトは63番目のループを作成し、デフォルトでは0〜7が作成されるため、8番目から開始します。注意、権利は/ dev/loop0からコピーされます:)

for i in {8..63}; do if [ -e /dev/loop$i ]; then continue; fi; \
mknod /dev/loop$i b 7 $i; chown --reference=/dev/loop0 /dev/loop$i; \
chmod --reference=/dev/loop0 /dev/loop$i; done
4
Znik