Wednesday, September 10, 2014

Use single regular file as a filesystem


Why? it can be for portable,virtual,develop,audit,test,free,... nice things.

make a empty regular file
    dd if=/dev/zero of=myExt4.img bs=4K count=1000

check if loop device available on your system:
    ls /dev/loop*

if there is no loop device, need to load kernel modules, or even compile loop module:

    (Linux 3.16.1)
    make menuconfig
    Device Drivers -> Block Devices -> Loopback device support
    make -j4
    make modules_install
   
    modprobe loop
    ls /dev/loop*

use loop device

    losetup /dev/loop0 myExt4.img
    mkfs.ext4 /dev/loop0
    mount /dev/loop0 /mnt   
    echo "world">/mnt/hello
    df
    umount /mnt

done.



ADD:
use modprobe loop max_part=31
and fdisk /dev/loop0
mkfs /dev/loop0p1
to work on virtual multi-partition disk.

No comments:

Post a Comment